Skip to content
Snippets Groups Projects
Commit 57bb4eb8 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6477 7185 componentes collaboration list and item

parent f73095ba
Branches
Tags
No related merge requests found
Showing
with 134 additions and 2 deletions
export enum CollaborationListLinkRel { export enum CollaborationListLinkRel {
COLLABORATION_LIST = 'collaborationList', COLLABORATION_LIST = 'collaborationList',
//todo: temporary wrong link -> change if backend works
ORGANISATIONS_EINHEIT_COLLABORATION_LIST = 'organisationsEinheitCollaborationList',
CREATE_COLLABORATION_REQUEST = 'createCollaborationRequest', CREATE_COLLABORATION_REQUEST = 'createCollaborationRequest',
} }
<alfa-collaboration-list
[collaborationStateListResource]="collaborationStateListResource$ | async"
></alfa-collaboration-list>
<alfa-collaboration-in-vorgang <alfa-collaboration-in-vorgang
[vorgang]="vorgang" [vorgang]="vorgang"
[collaborationStateListResource]="collaborationStateListResource$ | async" [collaborationStateListResource]="collaborationStateListResource$ | async"
......
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { CollaborationListItemComponent } from './collaboration-list-item.component';
describe('CollaborationListItemComponent', () => {
let component: CollaborationListItemComponent;
let fixture: ComponentFixture<CollaborationListItemComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [CollaborationListItemComponent],
}).compileComponents();
fixture = TestBed.createComponent(CollaborationListItemComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { CollaborationResource } from '@alfa-client/collaboration-shared';
import { CommonModule } from '@angular/common';
import { Component, Input } from '@angular/core';
@Component({
selector: 'alfa-collaboration-list-item',
standalone: true,
imports: [CommonModule],
templateUrl: './collaboration-list-item.component.html',
styleUrl: './collaboration-list-item.component.scss',
})
export class CollaborationListItemComponent {
@Input() public collaboration: CollaborationResource;
ngOnChanges(): void {
console.log(this.collaboration);
}
}
<alfa-collaboration-list-item
*ngFor="let collaboration of collaborations"
[collaboration]="collaboration"
>
</alfa-collaboration-list-item>
\ No newline at end of file
import { CollaborationListLinkRel, CollaborationListResource } from '@alfa-client/collaboration-shared';
import { createEmptyStateResource, createStateResource } from '@alfa-client/tech-shared';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { MockComponent } from 'ng-mocks';
import { createCollaborationListResource } from '../../../../../collaboration-shared/test/collaboration';
import { CollaborationListItemComponent } from './collaboration-list-item/collaboration-list-item.component';
import { CollaborationListComponent } from './collaboration-list.component';
describe('CollaborationListComponent', () => {
let component: CollaborationListComponent;
let fixture: ComponentFixture<CollaborationListComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [CollaborationListComponent, MockComponent(CollaborationListItemComponent)],
}).compileComponents();
fixture = TestBed.createComponent(CollaborationListComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
describe('getCollaborations', () => {
it('should return empty array if state resource is null', () => {
component.collaborationStateListResource = null;
expect(component.getCollaborations()).toEqual([]);
});
it('should return empty array if resource is null', () => {
component.collaborationStateListResource = createEmptyStateResource();
expect(component.getCollaborations()).toEqual([]);
});
it('should return embedded resource', () => {
const collaborationListResource: CollaborationListResource = createCollaborationListResource();
component.collaborationStateListResource = createStateResource(collaborationListResource);
expect(component.getCollaborations()).toEqual(
collaborationListResource._embedded[CollaborationListLinkRel.COLLABORATION_LIST],
);
});
});
});
import { CollaborationListLinkRel, CollaborationListResource, CollaborationResource } from '@alfa-client/collaboration-shared';
import { getEmbeddedResources, StateResource, TechSharedModule } from '@alfa-client/tech-shared';
import { CommonModule } from '@angular/common';
import { Component, Input, OnChanges } from '@angular/core';
import { CollaborationListItemComponent } from './collaboration-list-item/collaboration-list-item.component';
@Component({
selector: 'alfa-collaboration-list',
standalone: true,
imports: [CommonModule, TechSharedModule, CollaborationListItemComponent],
templateUrl: './collaboration-list.component.html',
styleUrl: './collaboration-list.component.scss',
})
export class CollaborationListComponent implements OnChanges {
@Input() public collaborationStateListResource: StateResource<CollaborationListResource>;
public collaborations: CollaborationResource[];
ngOnChanges(): void {
this.collaborations = this.getCollaborations();
console.log(this.collaborationStateListResource);
}
getCollaborations(): CollaborationResource[] {
return getEmbeddedResources(
this.collaborationStateListResource,
CollaborationListLinkRel.ORGANISATIONS_EINHEIT_COLLABORATION_LIST,
);
}
}
...@@ -21,6 +21,7 @@ import { CollaborationInVorgangComponent } from './collaboration-in-vorgang-cont ...@@ -21,6 +21,7 @@ import { CollaborationInVorgangComponent } from './collaboration-in-vorgang-cont
import { ExterneFachstelleContainerComponent } from './collaboration-in-vorgang-container/collaboration-in-vorgang/externe-fachstelle-container/externe-fachstelle-container.component'; import { ExterneFachstelleContainerComponent } from './collaboration-in-vorgang-container/collaboration-in-vorgang/externe-fachstelle-container/externe-fachstelle-container.component';
import { OrganisationsEinheitContainerComponent } from './collaboration-in-vorgang-container/collaboration-in-vorgang/organisations-einheit-container/organisations-einheit-container.component'; import { OrganisationsEinheitContainerComponent } from './collaboration-in-vorgang-container/collaboration-in-vorgang/organisations-einheit-container/organisations-einheit-container.component';
import { CollaborationRequestFormComponent } from './collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component'; import { CollaborationRequestFormComponent } from './collaboration-in-vorgang-container/collaboration-request-form/collaboration-request-form.component';
import { CollaborationListComponent } from './collaboration-in-vorgang-container/collaboration-list/collaboration-list.component';
@NgModule({ @NgModule({
imports: [ imports: [
...@@ -41,6 +42,7 @@ import { CollaborationRequestFormComponent } from './collaboration-in-vorgang-co ...@@ -41,6 +42,7 @@ import { CollaborationRequestFormComponent } from './collaboration-in-vorgang-co
OfficeIconComponent, OfficeIconComponent,
ExternalUnitIconComponent, ExternalUnitIconComponent,
PublicAdministrationIconComponent, PublicAdministrationIconComponent,
CollaborationListComponent,
], ],
declarations: [ declarations: [
CollaborationInVorgangContainerComponent, CollaborationInVorgangContainerComponent,
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
"@alfa-client/collaboration": ["libs/collaboration/src/index.ts"], "@alfa-client/collaboration": ["libs/collaboration/src/index.ts"],
"@alfa-client/collaboration-shared": ["libs/collaboration-shared/src/index.ts"], "@alfa-client/collaboration-shared": ["libs/collaboration-shared/src/index.ts"],
"@alfa-client/command-shared": ["libs/command-shared/src/index.ts"], "@alfa-client/command-shared": ["libs/command-shared/src/index.ts"],
"@alfa-client/common": ["libs/common/src/index.ts"],
"@alfa-client/environment-shared": ["libs/environment-shared/src/index.ts"], "@alfa-client/environment-shared": ["libs/environment-shared/src/index.ts"],
"@alfa-client/forwarding": ["libs/forwarding/src/index.ts"], "@alfa-client/forwarding": ["libs/forwarding/src/index.ts"],
"@alfa-client/forwarding-shared": ["libs/forwarding-shared/src/index.ts"], "@alfa-client/forwarding-shared": ["libs/forwarding-shared/src/index.ts"],
...@@ -61,8 +62,7 @@ ...@@ -61,8 +62,7 @@
"@alfa-client/zustaendige-stelle-shared": ["libs/zustaendige-stelle-shared/src/index.ts"], "@alfa-client/zustaendige-stelle-shared": ["libs/zustaendige-stelle-shared/src/index.ts"],
"@ods/component": ["libs/design-component/src/index.ts"], "@ods/component": ["libs/design-component/src/index.ts"],
"@ods/system": ["libs/design-system/src/index.ts"], "@ods/system": ["libs/design-system/src/index.ts"],
"authentication": ["libs/authentication/src/index.ts"], "authentication": ["libs/authentication/src/index.ts"]
"@alfa-client/common": ["libs/common/src/index.ts"]
} }
}, },
"exclude": ["node_modules", "tmp"] "exclude": ["node_modules", "tmp"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment