diff --git a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.spec.ts b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.spec.ts index 110c81e4d4072ef0417676ea9966a7fa3394f144..6adabee9688a1af7ac880621d85af1a90e04c326 100644 --- a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.spec.ts +++ b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.spec.ts @@ -1,4 +1,4 @@ -import { dispatchEventFromFixture, mock, Mock, MockEvent } from '@alfa-client/test-utils'; +import { dispatchEventFromFixture, existsAsHtmlElement, mock, Mock, MockEvent } from '@alfa-client/test-utils'; import { OzgcloudDialogService } from '@alfa-client/ui'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ButtonComponent } from '@ods/system'; @@ -12,7 +12,8 @@ describe('CancelDialogButtonComponent', () => { let dialogService: Mock<OzgcloudDialogService>; - const cancelDialog: string = getDataTestIdOf('cancel-dialog'); + const cancelDialogButton: string = getDataTestIdOf('cancel-dialog-button'); + const cancelDialogIconButton: string = getDataTestIdOf('cancel-dialog-icon-button'); beforeEach(async () => { dialogService = mock(OzgcloudDialogService); @@ -39,9 +40,51 @@ describe('CancelDialogButtonComponent', () => { describe('on button click', () => { it('should call dialog service to close all', () => { - dispatchEventFromFixture(fixture, cancelDialog, MockEvent.CLICK); + dispatchEventFromFixture(fixture, cancelDialogButton, MockEvent.CLICK); expect(dialogService.closeAll).toHaveBeenCalled(); }); }); + + describe('template', () => { + describe('button', () => { + beforeEach(() => { + component.showAsIconButton = false; + + fixture.detectChanges(); + }); + + it('should be visible when showAsIconButton is false', () => { + existsAsHtmlElement(fixture, cancelDialogButton); + }); + + it('should call dialog service to close all', () => { + dispatchEventFromFixture(fixture, cancelDialogButton, MockEvent.CLICK); + + expect(dialogService.closeAll).toHaveBeenCalled(); + }); + }); + + describe('icon button', () => { + beforeEach(() => { + component.showAsIconButton = true; + + fixture.detectChanges(); + }); + + it('should be visible when showAsIconButton is true', () => { + component.showAsIconButton = true; + + fixture.detectChanges(); + + existsAsHtmlElement(fixture, cancelDialogIconButton); + }); + + it('should call dialog service to close all', () => { + dispatchEventFromFixture(fixture, cancelDialogIconButton, MockEvent.CLICK); + + expect(dialogService.closeAll).toHaveBeenCalled(); + }); + }); + }); }); diff --git a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts index 5d80db0f4e7755c1a2bd9ae9eb7b921c3cf58349..7c41c1bbcdc747090c0aa5bfc64185c577c99fe3 100644 --- a/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts +++ b/alfa-client/libs/design-component/src/lib/cancel-dialog-button/cancel-dialog-button.component.ts @@ -1,22 +1,40 @@ import { OzgcloudDialogService } from '@alfa-client/ui'; -import { Component, inject } from '@angular/core'; -import { ButtonComponent } from '@ods/system'; +import { Component, inject, Input } from '@angular/core'; +import { ButtonComponent, CloseIconComponent, TooltipDirective } from '@ods/system'; @Component({ selector: 'ods-cancel-dialog-button', standalone: true, - imports: [ButtonComponent], - template: `<ods-button - (clickEmitter)="cancel()" - variant="outline" - text="Abbrechen" - dataTestId="cancel-dialog" - data-test-id="cancel-dialog" - />`, + imports: [ButtonComponent, CloseIconComponent, TooltipDirective], + template: ` @if (showAsIconButton) { + <ods-button + (clickEmitter)="cancel()" + [tooltip]="'Schließen'" + tooltipAriaType="aria-labelledby" + variant="ghost" + size="fit" + dataTestId="cancel-dialog-icon-button" + data-test-id="cancel-dialog-icon-button" + > + <ng-container icon> + <ods-close-icon class="fill-primary" /> + </ng-container> + </ods-button> + } @else { + <ods-button + (clickEmitter)="cancel()" + variant="outline" + text="Abbrechen" + dataTestId="cancel-dialog-button" + data-test-id="cancel-dialog-button" + /> + }`, }) export class CancelDialogButtonComponent { public readonly dialogService = inject(OzgcloudDialogService); + @Input() showAsIconButton: boolean = false; + public cancel(): void { this.dialogService.closeAll(); } diff --git a/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.html b/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.html index 34e76b0caf61ee449b23f252fbfe5d044d8cc578..13e96065df01af48d1501a2d296068dc44df3d97 100644 --- a/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.html +++ b/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.html @@ -1,4 +1,4 @@ -<!--@if (vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.FORWARD_BY_OZGCLOUD) {--> +@if (vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.FORWARD_BY_OZGCLOUD) { @if (showAsIconButton) { <ods-open-dialog-button [tooltip]="'Vorgang weiterleiten'" @@ -14,4 +14,4 @@ <ods-forward-vorgang-icon icon class="fill-primary" /> </ods-open-dialog-button> } -<!--}--> +} diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.spec.ts index 8c70ffee40332186620258c23f6ac3b63cc50c35..55f96686b633f51075cef31b5148166501495549 100644 --- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.spec.ts +++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.spec.ts @@ -1,16 +1,34 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { mock, Mock } from '@alfa-client/test-utils'; +import { SearchOrganisationsEinheitContainerComponent } from '@alfa-client/zustaendige-stelle'; +import { OrganisationsEinheitService, ZUSTAENDIGE_STELLE_SERVICE } from '@alfa-client/zustaendige-stelle-shared'; +import { MockComponent } from 'ng-mocks'; import { ForwardingDialogContainerComponent } from './forwarding-dialog-container.component'; +import { ForwardingDialogComponent } from './forwarding-dialog/forwarding-dialog.component'; describe('ForwardingDialogContainerComponent', () => { let component: ForwardingDialogContainerComponent; let fixture: ComponentFixture<ForwardingDialogContainerComponent>; + let organisationsEinheitService: Mock<OrganisationsEinheitService>; + beforeEach(async () => { + organisationsEinheitService = mock(OrganisationsEinheitService); + TestBed.overrideComponent(SearchOrganisationsEinheitContainerComponent, { + set: { + providers: [ + { + provide: ZUSTAENDIGE_STELLE_SERVICE, + useValue: organisationsEinheitService, + }, + ], + }, + }); await TestBed.configureTestingModule({ - imports: [ForwardingDialogContainerComponent] - }) - .compileComponents(); + imports: [ForwardingDialogContainerComponent], + declarations: [MockComponent(ForwardingDialogComponent)], + }).compileComponents(); fixture = TestBed.createComponent(ForwardingDialogContainerComponent); component = fixture.componentInstance; diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.ts index f7014e77c7043790788583d494ea7a5d60ad19dd..f5ce07c1e2579d508e34d1556e8f81e9ab726d4c 100644 --- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.ts +++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.ts @@ -1,3 +1,7 @@ +import { ResourceRepository } from '@alfa-client/tech-shared'; +import { VorgangService } from '@alfa-client/vorgang-shared'; +import { createOrganisationEinheitService } from '@alfa-client/zustaendige-stelle'; +import { ZUSTAENDIGE_STELLE_SERVICE } from '@alfa-client/zustaendige-stelle-shared'; import { Component } from '@angular/core'; import { ForwardingDialogComponent } from './forwarding-dialog/forwarding-dialog.component'; @@ -6,5 +10,12 @@ import { ForwardingDialogComponent } from './forwarding-dialog/forwarding-dialog standalone: true, imports: [ForwardingDialogComponent], templateUrl: './forwarding-dialog-container.component.html', + providers: [ + { + provide: ZUSTAENDIGE_STELLE_SERVICE, + useFactory: createOrganisationEinheitService, + deps: [ResourceRepository, VorgangService], + }, + ], }) export class ForwardingDialogContainerComponent {} diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html new file mode 100644 index 0000000000000000000000000000000000000000..aa520b8d99bca18bea17ba1939b8f9a38963ca9a --- /dev/null +++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.html @@ -0,0 +1,3 @@ +<ods-button-with-spinner text="Weiterleiten" variant="outline" dataTestId="forward-by-ozgcloud-button"> + <ods-forward-vorgang-icon icon class="fill-primary" /> +</ods-button-with-spinner> \ No newline at end of file diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..ec3ee8288b888a029f6de545b97636ec3c5aae5d --- /dev/null +++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.spec.ts @@ -0,0 +1,26 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ButtonWithSpinnerComponent } from '@ods/component'; +import { ForwardVorgangIconComponent } from '@ods/system'; +import { MockComponent } from 'ng-mocks'; +import { ForwardingButtonComponent } from './forwarding-button.component'; + +describe('ForwardingButtonComponent', () => { + let component: ForwardingButtonComponent; + let fixture: ComponentFixture<ForwardingButtonComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ForwardingButtonComponent], + declarations: [MockComponent(ForwardVorgangIconComponent), MockComponent(ButtonWithSpinnerComponent)], + }).compileComponents(); + + fixture = TestBed.createComponent(ForwardingButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..46a93fd5af7cc21095fb998b382ad86457650827 --- /dev/null +++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-button/forwarding-button.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; +import { ButtonWithSpinnerComponent } from '@ods/component'; +import { ForwardVorgangIconComponent } from '@ods/system'; + +@Component({ + selector: 'alfa-forwarding-button', + standalone: true, + imports: [ButtonWithSpinnerComponent, ForwardVorgangIconComponent], + templateUrl: './forwarding-button.component.html', +}) +export class ForwardingButtonComponent {} diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html index 3c197754b41e3ddf421b79d3888fa243c900b47b..4a8653498c71522f4c0fa4e2e8335d6461dac58e 100644 --- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html +++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html @@ -1,13 +1,11 @@ -<div class="block bg-background-100 flex flex-col gap-4 p-8"> - <div class="flex space-between"> - <h1>Vorgang weiterleiten</h1> - <ods-cancel-dialog-button /> +<div class="block bg-background-100 flex w-[620px] flex-col gap-4 p-8"> + <div class="flex justify-between items-center"> + <h1 class="text-xl font-semibold text-primary">Vorgang weiterleiten</h1> + <ods-cancel-dialog-button showAsIconButton="true"/> </div> - - <div> - <ods-button-with-spinner label="Weiterleiten" variant="outline" dataTestId="forward-by-ozgcloud-button"> - <ods-forward-vorgang-icon icon class="fill-primary" /> - </ods-button-with-spinner> + <alfa-search-zustaendige-stelle-form-container cdkFocusInitial/> + <div class="flex gap-4" > + <alfa-forwarding-button /> <ods-cancel-dialog-button /> </div> </div> diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts index 40f13743f8b61d5b360d19135d143d5103276f00..d45ef9176a2869799cc7fa9f9ff4d1747ac8c9d4 100644 --- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts +++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts @@ -1,5 +1,8 @@ +import { ZustaendigeStelleModule } from '@alfa-client/zustaendige-stelle'; import { ComponentFixture, TestBed } from '@angular/core/testing'; - +import { CancelDialogButtonComponent } from '@ods/component'; +import { MockComponent, MockModule } from 'ng-mocks'; +import { ForwardingButtonComponent } from './forwarding-button/forwarding-button.component'; import { ForwardingDialogComponent } from './forwarding-dialog.component'; describe('ForwardingDialogComponent', () => { @@ -8,9 +11,13 @@ describe('ForwardingDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ForwardingDialogComponent] - }) - .compileComponents(); + imports: [ForwardingDialogComponent], + declarations: [ + MockComponent(CancelDialogButtonComponent), + MockComponent(ForwardingButtonComponent), + MockModule(ZustaendigeStelleModule), + ], + }).compileComponents(); fixture = TestBed.createComponent(ForwardingDialogComponent); component = fixture.componentInstance; diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts index ccc83a659e587575309a436d19ce6f52a24a190e..f864971b37ebd3c461b1a592f05cac2c72b0879b 100644 --- a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts +++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts @@ -1,27 +1,21 @@ -import { VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared'; import { ZustaendigeStelleModule } from '@alfa-client/zustaendige-stelle'; -import { OrganisationsEinheitService, ZUSTAENDIGE_STELLE_SERVICE } from '@alfa-client/zustaendige-stelle-shared'; -import { Component, EventEmitter, Output } from '@angular/core'; +import { A11yModule } from '@angular/cdk/a11y'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { Resource } from '@ngxp/rest'; -import { ButtonWithSpinnerComponent, CancelDialogButtonComponent } from '@ods/component'; -import { ForwardVorgangIconComponent } from '@ods/system'; +import { CancelDialogButtonComponent } from '@ods/component'; +import { InstantSearchResult } from '@ods/system'; +import { ForwardingButtonComponent } from './forwarding-button/forwarding-button.component'; @Component({ selector: 'alfa-forwarding-dialog', standalone: true, - imports: [ - CancelDialogButtonComponent, - ButtonWithSpinnerComponent, - ForwardVorgangIconComponent, - ReactiveFormsModule, - ZustaendigeStelleModule, - ], + imports: [A11yModule, CancelDialogButtonComponent, ReactiveFormsModule, ZustaendigeStelleModule, ForwardingButtonComponent], templateUrl: './forwarding-dialog.component.html', - providers: [{ provide: ZUSTAENDIGE_STELLE_SERVICE, useValue: OrganisationsEinheitService }], }) export class ForwardingDialogComponent { + @Input() searchResults: InstantSearchResult<Resource>[]; @Output() selectSearchResult: EventEmitter<Resource> = new EventEmitter<Resource>(); - @Output() public search: EventEmitter<string> = new EventEmitter(); - protected readonly vorgangLinkRel = VorgangWithEingangLinkRel; + @Output() search: EventEmitter<string> = new EventEmitter(); + @Output() clearSearchResult: EventEmitter<void> = new EventEmitter(); } diff --git a/alfa-client/libs/zustaendige-stelle/src/index.ts b/alfa-client/libs/zustaendige-stelle/src/index.ts index 114de029cc81a1f13b64444b0e91753a8cd09094..014f02c0b948630b4ec7c854d46a0274796d227b 100644 --- a/alfa-client/libs/zustaendige-stelle/src/index.ts +++ b/alfa-client/libs/zustaendige-stelle/src/index.ts @@ -23,4 +23,5 @@ */ export * from './lib/search-externe-fachstelle-container/search-externe-fachstelle-container.component'; export * from './lib/search-organisations-einheit-container/search-organisations-einheit-container.component'; +export * from './lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component'; export * from './lib/zustaendige-stelle.module'; diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-organisations-einheit-container/search-organisations-einheit-container.component.ts b/alfa-client/libs/zustaendige-stelle/src/lib/search-organisations-einheit-container/search-organisations-einheit-container.component.ts index bd7e92ef2892f13b038358e99393ddc4c81bbbb8..5706c8cde9a1fe2d14f1433b2f31139bd9508242 100644 --- a/alfa-client/libs/zustaendige-stelle/src/lib/search-organisations-einheit-container/search-organisations-einheit-container.component.ts +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-organisations-einheit-container/search-organisations-einheit-container.component.ts @@ -83,7 +83,7 @@ export class SearchOrganisationsEinheitContainerComponent implements OnInit, OnD } } -function createOrganisationEinheitService( +export function createOrganisationEinheitService( resourceRepository: ResourceRepository, vorgangService: VorgangService, ): OrganisationsEinheitService { diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.html b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.html index 9ff703cfa41d11c22550814030a0f6f2ce5a230f..bc4470c5402969cc5497369b92107fc74cd2cff9 100644 --- a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.html +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.html @@ -30,11 +30,5 @@ <ods-close-icon class="fill-primary" icon /> </ods-button> </div> - <alfa-search-zustaendige-stelle-form - data-test-id="search-organisations-einheit" - [searchResults]="searchResults$ | async" - (search)="search($event)" - (selectSearchResult)="selectSearchResult($event)" - (clearSearchResult)="clearSearchResult()" - ></alfa-search-zustaendige-stelle-form> + <alfa-search-zustaendige-stelle-form-container (searchResultSelected)="searchResultSelected($event)" /> </div> diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.spec.ts b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.spec.ts index 1b4f822ac5579604de0bef351c85ff8df436ee93..0cd130bb32e24de99cff81a5e9355dcd124f4f22 100644 --- a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.spec.ts +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.spec.ts @@ -22,46 +22,25 @@ * unter der Lizenz sind dem Lizenztext zu entnehmen. */ import { ToEmbeddedResourcesPipe } from '@alfa-client/tech-shared'; -import { - createDialogRefMock, - DialogRefMock, - EventData, - getMockComponent, - Mock, - mock, - triggerEvent, -} from '@alfa-client/test-utils'; -import { - OrganisationsEinheitResource, - OrganisationsEinheitService, - ZUSTAENDIGE_STELLE_SERVICE, -} from '@alfa-client/zustaendige-stelle-shared'; +import { createDialogRefMock, DialogRefMock, Mock, mock } from '@alfa-client/test-utils'; +import { OrganisationsEinheitService, ZUSTAENDIGE_STELLE_SERVICE } from '@alfa-client/zustaendige-stelle-shared'; import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog'; import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { faker } from '@faker-js/faker'; import { Resource } from '@ngxp/rest'; -import { ButtonComponent, CloseIconComponent, InstantSearchResult } from '@ods/system'; -import { createInstantSearchResult } from 'libs/design-system/src/test/search'; +import { ButtonComponent, CloseIconComponent } from '@ods/system'; import { MockComponent } from 'ng-mocks'; -import { of } from 'rxjs'; -import { getDataTestIdOf } from '../../../../tech-shared/test/data-test'; -import { createOrganisationsEinheitResource } from '../../../../zustaendige-stelle-shared/test/organisations-einheit'; import { SearchZustaendigeStelleDialogComponent } from '././search-zustaendige-stelle-dialog.component'; -import { SearchZustaendigeStelleFormComponent } from './search-zustaendige-stelle-form/search-zustaendige-stelle-form.component'; +import { SearchZustaendigeStelleFormContainerComponent } from './search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component'; describe('SearchZustaendigeStelleDialogComponent', () => { let component: SearchZustaendigeStelleDialogComponent<Resource>; let fixture: ComponentFixture<SearchZustaendigeStelleDialogComponent<Resource>>; - const searchOrganisationsEinheitComp: string = getDataTestIdOf('search-organisations-einheit'); - const service: Mock<OrganisationsEinheitService> = mock(OrganisationsEinheitService); const title: string = 'dummyTitle'; let dialogRefMock: DialogRefMock; - const organisationsEinheitResource: OrganisationsEinheitResource = createOrganisationsEinheitResource(); - beforeEach(() => { dialogRefMock = createDialogRefMock(); }); @@ -71,7 +50,7 @@ describe('SearchZustaendigeStelleDialogComponent', () => { declarations: [ SearchZustaendigeStelleDialogComponent, ToEmbeddedResourcesPipe, - MockComponent(SearchZustaendigeStelleFormComponent), + MockComponent(SearchZustaendigeStelleFormContainerComponent), MockComponent(ButtonComponent), MockComponent(CloseIconComponent), ], @@ -100,149 +79,11 @@ describe('SearchZustaendigeStelleDialogComponent', () => { expect(component).toBeTruthy(); }); - describe('ngOnInit', () => { - it('should call service', () => { - component.ngOnInit(); - - expect(service.getSearchResultList).toHaveBeenCalled(); - }); - }); - - describe('onKeyDownHandler', () => { - it('should prevent default behavior for enter key on non buttons', () => { - const keyboardEvent: KeyboardEvent = { - ...new KeyboardEvent('enter'), - key: 'Enter', - preventDefault: jest.fn(), - target: new EventTarget(), - }; - - component.onKeyDownHandler(keyboardEvent); - - expect(keyboardEvent.preventDefault).toHaveBeenCalled(); - }); - - it('should not prevent default behavior for enter key on buttons', () => { - const keyboardEvent: KeyboardEvent = { - ...new KeyboardEvent('enter'), - key: 'Enter', - preventDefault: jest.fn(), - target: { ...new EventTarget(), tagName: 'BUTTON' } as Element, - }; - - component.onKeyDownHandler(keyboardEvent); - - expect(keyboardEvent.preventDefault).not.toHaveBeenCalled(); - }); - }); - - describe('search organisationsEinheit component', () => { - const result: InstantSearchResult<Resource> = createInstantSearchResult(); - - beforeEach(() => { - component.searchResults$ = of([result]); - fixture.detectChanges(); - }); - - it('should be called with searchResult', () => { - const comp: SearchZustaendigeStelleFormComponent<Resource> = getMockComponent< - SearchZustaendigeStelleFormComponent<Resource> - >(fixture, SearchZustaendigeStelleFormComponent); - - expect(comp.searchResults).toEqual([result]); - }); - - it('should call search on openSearchDialog output', () => { - component.search = jest.fn(); - const searchBy: string = faker.word.sample(); - const eventData: EventData<SearchZustaendigeStelleDialogComponent<Resource>> = { - fixture, - elementSelector: searchOrganisationsEinheitComp, - name: 'search', - data: searchBy, - }; - - triggerEvent(eventData); - - expect(component.search).toHaveBeenCalledWith(searchBy); - }); - - it('should call selectSearchResult on selectSearchResult output', () => { - component.selectSearchResult = jest.fn(); - - const eventData: EventData<SearchZustaendigeStelleDialogComponent<Resource>> = { - fixture, - elementSelector: searchOrganisationsEinheitComp, - name: 'selectSearchResult', - data: organisationsEinheitResource, - }; - - triggerEvent(eventData); - - expect(component.selectSearchResult).toHaveBeenCalledWith(organisationsEinheitResource); - }); - - it('should call clearSearchResult', () => { - component.clearSearchResult = jest.fn(); - - const eventData: EventData<SearchZustaendigeStelleDialogComponent<Resource>> = { - fixture, - elementSelector: searchOrganisationsEinheitComp, - name: 'clearSearchResult', - data: organisationsEinheitResource, - }; - - triggerEvent(eventData); - - expect(component.clearSearchResult).toHaveBeenCalled(); - }); - }); - - describe('search', () => { - const searchBy: string = faker.word.sample(); - - it('should call service', () => { - component.search(searchBy); - - expect(service.search).toHaveBeenCalledWith(searchBy); - }); - }); - - describe('select search result', () => { - it('should set select result', () => { - component.selectSearchResult(organisationsEinheitResource); - - expect(service.selectSearchResult).toHaveBeenCalledWith(organisationsEinheitResource); - }); - - it('should call service', () => { - component.selectSearchResult(organisationsEinheitResource); - - expect(service.clearSearchResult).toHaveBeenCalled(); - }); - - it('should close dialog with result', () => { - component.selectSearchResult(organisationsEinheitResource); - - expect(dialogRefMock.close).toHaveBeenCalledWith(organisationsEinheitResource); - }); - }); - - describe('clear search result', () => { - it('should call service', () => { - component.clearSearchResult(); - - expect(service.clearSearchResult).toHaveBeenCalled(); - }); - }); - describe('close dialog', () => { it('should clear search result', () => { - component.clearSearchResult = jest.fn(); - component.closeDialog(); - expect(component.clearSearchResult).toHaveBeenCalled(); + expect(service.clearSearchResult).toHaveBeenCalled(); }); it('should close dialog', () => { @@ -251,22 +92,4 @@ describe('SearchZustaendigeStelleDialogComponent', () => { expect(dialogRefMock.close).toHaveBeenCalled(); }); }); - - describe('isNotButtonElement', () => { - it('should return false', () => { - const element: Element = { tagName: 'BUTTON' } as Element; - - const result: boolean = component.isNotButtonElement(element); - - expect(result).toBe(false); - }); - - it('should return true', () => { - const element: Element = { tagName: 'INPUT' } as Element; - - const result: boolean = component.isNotButtonElement(element); - - expect(result).toBe(true); - }); - }); }); diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.ts b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.ts index 492c3c800690e5ca9c929299dee8f765f514b76a..b00b5a3a722ac05864396fb4825b67db72694a44 100644 --- a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.ts +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component.ts @@ -23,7 +23,7 @@ */ import { ZUSTAENDIGE_STELLE_SERVICE, ZustaendigeStelleService } from '@alfa-client/zustaendige-stelle-shared'; import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog'; -import { Component, HostListener, Inject, OnInit } from '@angular/core'; +import { Component, Inject } from '@angular/core'; import { Resource } from '@ngxp/rest'; import { InstantSearchResult } from '@ods/system'; import { Observable } from 'rxjs'; @@ -33,47 +33,21 @@ import { Observable } from 'rxjs'; selector: 'search-zustaendige-stelle-dialog', templateUrl: './search-zustaendige-stelle-dialog.component.html', }) -export class SearchZustaendigeStelleDialogComponent<T extends Resource> implements OnInit { +export class SearchZustaendigeStelleDialogComponent<T extends Resource> { public searchResults$: Observable<InstantSearchResult<T>[]>; constructor( private dialogRef: DialogRef, - @Inject(ZUSTAENDIGE_STELLE_SERVICE) - private service: ZustaendigeStelleService<T>, + @Inject(ZUSTAENDIGE_STELLE_SERVICE) private service: ZustaendigeStelleService<T>, @Inject(DIALOG_DATA) public title: string, ) {} - ngOnInit(): void { - this.searchResults$ = this.service.getSearchResultList(); - } - - @HostListener('document:keydown', ['$event']) - onKeyDownHandler(e: KeyboardEvent) { - if (e.key === 'Enter' && this.isNotButtonElement(e.target as Element)) { - e.preventDefault(); - } - } - - public search(searchBy: string): void { - this.service.search(searchBy); - } - - public selectSearchResult(zustaendigeStelle: T): void { - this.service.selectSearchResult(zustaendigeStelle); - this.service.clearSearchResult(); - this.dialogRef.close(zustaendigeStelle); - } - - public clearSearchResult(): void { - this.service.clearSearchResult(); - } - public closeDialog(): void { - this.clearSearchResult(); + this.service.clearSearchResult(); this.dialogRef.close(); } - public isNotButtonElement(e: Element): boolean { - return e.tagName !== 'BUTTON'; + public searchResultSelected(zustaendigeStelle: T): void { + this.dialogRef.close(zustaendigeStelle); } } diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.html b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.html new file mode 100644 index 0000000000000000000000000000000000000000..d96dce831c52bca494d151ce5aa7f8730e4fe108 --- /dev/null +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.html @@ -0,0 +1,7 @@ +<alfa-search-zustaendige-stelle-form + data-test-id="search-organisations-einheit" + [searchResults]="searchResults$ | async" + (search)="search($event)" + (selectSearchResult)="selectSearchResult($event)" + (clearSearchResult)="clearSearchResult()" +></alfa-search-zustaendige-stelle-form> \ No newline at end of file diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.spec.ts b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..61763e91ba325e6355d54fdab3055f39b0399151 --- /dev/null +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.spec.ts @@ -0,0 +1,207 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EventData, getMockComponent, mock, Mock, triggerEvent } from '@alfa-client/test-utils'; +import { + OrganisationsEinheitResource, + OrganisationsEinheitService, + ZUSTAENDIGE_STELLE_SERVICE, +} from '@alfa-client/zustaendige-stelle-shared'; +import { faker } from '@faker-js/faker'; +import { Resource } from '@ngxp/rest'; +import { InstantSearchResult } from '@ods/system'; +import { MockComponent } from 'ng-mocks'; +import { of } from 'rxjs'; +import { createInstantSearchResult } from '../../../../../design-system/src/test/search'; +import { getDataTestIdOf } from '../../../../../tech-shared/test/data-test'; +import { createOrganisationsEinheitResource } from '../../../../../zustaendige-stelle-shared/test/organisations-einheit'; +import { SearchZustaendigeStelleFormContainerComponent } from './search-zustaendige-stelle-form-container.component'; +import { SearchZustaendigeStelleFormComponent } from './search-zustaendige-stelle-form/search-zustaendige-stelle-form.component'; + +describe('SearchZustaendigeStelleFormContainerComponent', () => { + let component: SearchZustaendigeStelleFormContainerComponent<Resource>; + let fixture: ComponentFixture<SearchZustaendigeStelleFormContainerComponent<Resource>>; + + let service: Mock<OrganisationsEinheitService>; + + const searchOrganisationsEinheitComp: string = getDataTestIdOf('search-organisations-einheit'); + + const organisationsEinheitResource: OrganisationsEinheitResource = createOrganisationsEinheitResource(); + + beforeEach(async () => { + service = mock(OrganisationsEinheitService); + await TestBed.configureTestingModule({ + imports: [SearchZustaendigeStelleFormContainerComponent], + declarations: [MockComponent(SearchZustaendigeStelleFormComponent)], + providers: [ + { + provide: ZUSTAENDIGE_STELLE_SERVICE, + useValue: service, + }, + ], + }).compileComponents(); + + fixture = TestBed.createComponent(SearchZustaendigeStelleFormContainerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + describe('ngOnInit', () => { + it('should call service', () => { + component.ngOnInit(); + + expect(service.getSearchResultList).toHaveBeenCalled(); + }); + }); + + describe('onKeyDownHandler', () => { + it('should prevent default behavior for enter key on non buttons', () => { + const keyboardEvent: KeyboardEvent = { + ...new KeyboardEvent('enter'), + key: 'Enter', + preventDefault: jest.fn(), + target: new EventTarget(), + }; + + component.onKeyDownHandler(keyboardEvent); + + expect(keyboardEvent.preventDefault).toHaveBeenCalled(); + }); + + it('should not prevent default behavior for enter key on buttons', () => { + const keyboardEvent: KeyboardEvent = { + ...new KeyboardEvent('enter'), + key: 'Enter', + preventDefault: jest.fn(), + target: { ...new EventTarget(), tagName: 'BUTTON' } as Element, + }; + + component.onKeyDownHandler(keyboardEvent); + + expect(keyboardEvent.preventDefault).not.toHaveBeenCalled(); + }); + }); + + describe('search organisationsEinheit component', () => { + const result: InstantSearchResult<Resource> = createInstantSearchResult(); + + beforeEach(() => { + component.searchResults$ = of([result]); + fixture.detectChanges(); + }); + + it('should be called with searchResult', () => { + const comp: SearchZustaendigeStelleFormComponent<Resource> = getMockComponent< + SearchZustaendigeStelleFormComponent<Resource> + >(fixture, SearchZustaendigeStelleFormComponent); + + expect(comp.searchResults).toEqual([result]); + }); + + it('should call search on openSearchDialog output', () => { + component.search = jest.fn(); + const searchBy: string = faker.word.sample(); + const eventData: EventData<SearchZustaendigeStelleFormContainerComponent<Resource>> = { + fixture, + elementSelector: searchOrganisationsEinheitComp, + name: 'search', + data: searchBy, + }; + + triggerEvent(eventData); + + expect(component.search).toHaveBeenCalledWith(searchBy); + }); + + it('should call selectSearchResult on selectSearchResult output', () => { + component.selectSearchResult = jest.fn(); + + const eventData: EventData<SearchZustaendigeStelleFormContainerComponent<Resource>> = { + fixture, + elementSelector: searchOrganisationsEinheitComp, + name: 'selectSearchResult', + data: organisationsEinheitResource, + }; + + triggerEvent(eventData); + + expect(component.selectSearchResult).toHaveBeenCalledWith(organisationsEinheitResource); + }); + + it('should call clearSearchResult', () => { + component.clearSearchResult = jest.fn(); + + const eventData: EventData<SearchZustaendigeStelleFormContainerComponent<Resource>> = { + fixture, + elementSelector: searchOrganisationsEinheitComp, + name: 'clearSearchResult', + data: organisationsEinheitResource, + }; + + triggerEvent(eventData); + + expect(component.clearSearchResult).toHaveBeenCalled(); + }); + }); + + describe('search', () => { + const searchBy: string = faker.word.sample(); + + it('should call service', () => { + component.search(searchBy); + + expect(service.search).toHaveBeenCalledWith(searchBy); + }); + }); + + describe('select search result', () => { + it('should set select result', () => { + component.selectSearchResult(organisationsEinheitResource); + + expect(service.selectSearchResult).toHaveBeenCalledWith(organisationsEinheitResource); + }); + + it('should call service', () => { + component.selectSearchResult(organisationsEinheitResource); + + expect(service.clearSearchResult).toHaveBeenCalled(); + }); + + it('should emit search result selected', () => { + component.searchResultSelected.emit = jest.fn(); + + component.selectSearchResult(organisationsEinheitResource); + + expect(component.searchResultSelected.emit).toHaveBeenCalledWith(organisationsEinheitResource); + }); + }); + + describe('clear search result', () => { + it('should call service', () => { + component.clearSearchResult(); + + expect(service.clearSearchResult).toHaveBeenCalled(); + }); + }); + + describe('isNotButtonElement', () => { + it('should return false', () => { + const element: Element = { tagName: 'BUTTON' } as Element; + + const result: boolean = component.isNotButtonElement(element); + + expect(result).toBe(false); + }); + + it('should return true', () => { + const element: Element = { tagName: 'INPUT' } as Element; + + const result: boolean = component.isNotButtonElement(element); + + expect(result).toBe(true); + }); + }); +}); diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.ts b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..c497b0d76bbc4eff7aa081910878f5a016570ec5 --- /dev/null +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component.ts @@ -0,0 +1,49 @@ +import { ZUSTAENDIGE_STELLE_SERVICE, ZustaendigeStelleService } from '@alfa-client/zustaendige-stelle-shared'; +import { Component, EventEmitter, HostListener, Inject, OnInit, Output } from '@angular/core'; +import { Resource } from '@ngxp/rest'; +import { InstantSearchResult } from '@ods/system'; +import { Observable } from 'rxjs'; + +@Component({ + selector: 'alfa-search-zustaendige-stelle-form-container', + templateUrl: './search-zustaendige-stelle-form-container.component.html', +}) +export class SearchZustaendigeStelleFormContainerComponent<T extends Resource> implements OnInit { + @Output() searchResultSelected = new EventEmitter<T>(); + + public searchResults$: Observable<InstantSearchResult<T>[]>; + + constructor( + @Inject(ZUSTAENDIGE_STELLE_SERVICE) + private service: ZustaendigeStelleService<T>, + ) {} + + ngOnInit(): void { + this.searchResults$ = this.service.getSearchResultList(); + } + + @HostListener('document:keydown', ['$event']) + onKeyDownHandler(e: KeyboardEvent) { + if (e.key === 'Enter' && this.isNotButtonElement(e.target as Element)) { + e.preventDefault(); + } + } + + public search(searchBy: string): void { + this.service.search(searchBy); + } + + public selectSearchResult(zustaendigeStelle: T): void { + this.service.selectSearchResult(zustaendigeStelle); + this.service.clearSearchResult(); + this.searchResultSelected.emit(zustaendigeStelle); + } + + public clearSearchResult(): void { + this.service.clearSearchResult(); + } + + public isNotButtonElement(e: Element): boolean { + return e.tagName !== 'BUTTON'; + } +} diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.html b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.html similarity index 100% rename from alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.html rename to alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.html diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.spec.ts b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.spec.ts similarity index 93% rename from alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.spec.ts rename to alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.spec.ts index 936e0398d636e323fe154040409c50c876a8f736..92a65e293c4dbea6409338e24fd449c2f4c7ec16 100644 --- a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.spec.ts +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.spec.ts @@ -28,11 +28,11 @@ import { ReactiveFormsModule } from '@angular/forms'; import { faker } from '@faker-js/faker'; import { Resource } from '@ngxp/rest'; import { InstantSearchComponent, InstantSearchResult } from '@ods/system'; +import { createInstantSearchResult } from 'libs/design-system/src/test/search'; +import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; +import { createOrganisationsEinheitResource } from 'libs/zustaendige-stelle-shared/test/organisations-einheit'; import { MockComponent } from 'ng-mocks'; -import { createInstantSearchResult } from '../../../../../design-system/src/test/search'; -import { getDataTestIdOf } from '../../../../../tech-shared/test/data-test'; -import { createOrganisationsEinheitResource } from '../../../../../zustaendige-stelle-shared/test/organisations-einheit'; -import { SearchZustaendigeStelleFormservice } from '../search-zustaendige-stelle.formservice'; +import { SearchZustaendigeStelleFormservice } from '../../search-zustaendige-stelle.formservice'; import { SearchZustaendigeStelleFormComponent } from './search-zustaendige-stelle-form.component'; describe('SearchZustaendigeStelleFormComponent', () => { diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.ts b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.ts similarity index 94% rename from alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.ts rename to alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.ts index dff8515301abf57281a9c617a711bf42d46e71c2..22c096f06509fffd9f5d581f1e05d119811b2559 100644 --- a/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.ts +++ b/alfa-client/libs/zustaendige-stelle/src/lib/search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component.ts @@ -24,7 +24,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; import { Resource } from '@ngxp/rest'; import { InstantSearchResult } from '@ods/system'; -import { SearchZustaendigeStelleFormservice } from '../search-zustaendige-stelle.formservice'; +import { SearchZustaendigeStelleFormservice } from '../../search-zustaendige-stelle.formservice'; @Component({ selector: 'alfa-search-zustaendige-stelle-form', diff --git a/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts b/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts index 820da330c99f8e0d184b5c6b38096db8c03604bb..11e5ee19eafa8a59c361e8b260507fe6c32c4ef1 100644 --- a/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts +++ b/alfa-client/libs/zustaendige-stelle/src/lib/zustaendige-stelle.module.ts @@ -40,7 +40,8 @@ import { SearchExterneFachstelleContainerComponent } from './search-externe-fach import { OrganisationsEinheitComponent } from './search-organisations-einheit-container/organisations-einheit/organisations-einheit.component'; import { SearchOrganisationsEinheitContainerComponent } from './search-organisations-einheit-container/search-organisations-einheit-container.component'; import { SearchZustaendigeStelleDialogComponent } from './search-zustaendige-stelle-dialog/search-zustaendige-stelle-dialog.component'; -import { SearchZustaendigeStelleFormComponent } from './search-zustaendige-stelle-dialog/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component'; +import { SearchZustaendigeStelleFormContainerComponent } from './search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form-container.component'; +import { SearchZustaendigeStelleFormComponent } from './search-zustaendige-stelle-dialog/search-zustaendige-stelle-form-container/search-zustaendige-stelle-form/search-zustaendige-stelle-form.component'; import { ZustaendigeStelleButtonComponent } from './zustaendige-stelle-button/zustaendige-stelle-button.component'; import { ZustaendigeStelleHeaderComponent } from './zustaendige-stelle-header/zustaendige-stelle-header.component'; @@ -68,6 +69,7 @@ import { ZustaendigeStelleHeaderComponent } from './zustaendige-stelle-header/zu SearchExterneFachstelleContainerComponent, EditZustaendigeStelleButtonComponent, ZustaendigeStelleHeaderComponent, + SearchZustaendigeStelleFormContainerComponent, ], exports: [ OrganisationsEinheitComponent, @@ -75,6 +77,7 @@ import { ZustaendigeStelleHeaderComponent } from './zustaendige-stelle-header/zu SearchZustaendigeStelleDialogComponent, SearchOrganisationsEinheitContainerComponent, SearchExterneFachstelleContainerComponent, + SearchZustaendigeStelleFormContainerComponent, ], }) export class ZustaendigeStelleModule {}