From 8246746dae5fc64d3f974b312fcf54bf50e7a2e6 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 23 May 2022 15:46:23 +0200 Subject: [PATCH] OZG-2416 OZG-2460 fix imports of moved test file --- .../binary-file-container.component.spec.ts | 2 +- .../anhaenge/anhaenge.component.spec.ts | 2 +- .../anhang-list-container.component.spec.ts | 2 +- .../ozg-file-container.component.spec.ts | 2 +- .../ozg-file/ozg-file.component.spec.ts | 2 +- .../src/lib/postfach.service.spec.ts | 2 +- ...ch-nachricht-attachments.component.spec.ts | 4 +-- .../src/lib/vorgang.service.spec.ts | 2 +- .../src/lib/state.service.ts | 35 +++++++++++++++++++ .../src/lib/wiedervorlage.service.spec.ts | 2 +- .../wiedervorlage-form.component.spec.ts | 2 +- 11 files changed, 46 insertions(+), 11 deletions(-) create mode 100644 goofy-client/libs/wiedervorlage-shared/src/lib/state.service.ts diff --git a/goofy-client/libs/binary-file/src/lib/binary-file-container/binary-file-container.component.spec.ts b/goofy-client/libs/binary-file/src/lib/binary-file-container/binary-file-container.component.spec.ts index a3740fd67c..3fbfbf83bf 100644 --- a/goofy-client/libs/binary-file/src/lib/binary-file-container/binary-file-container.component.spec.ts +++ b/goofy-client/libs/binary-file/src/lib/binary-file-container/binary-file-container.component.spec.ts @@ -3,7 +3,7 @@ import { BinaryFileService, OzgFileResource } from '@goofy-client/binary-file-sh import { OzgFileContainerComponent } from '@goofy-client/ozg-file'; import { createEmptyStateResource, createStateResource, HasLinkPipe, StateResource } from '@goofy-client/tech-shared'; import { mock } from '@goofy-client/test-utils'; -import { createOzgFileResource } from 'libs/ozg-file-shared/test/ozg-file'; +import { createOzgFileResource } from 'libs/binary-file-shared/test/binary-file'; import { FileUploadEditorComponent } from 'libs/ui/src/lib/ui/editor/file-upload-editor/file-upload-editor.component'; import { MockComponent } from 'ng-mocks'; import { of } from 'rxjs'; diff --git a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhaenge/anhaenge.component.spec.ts b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhaenge/anhaenge.component.spec.ts index bb4a46170e..2a26a87a5a 100644 --- a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhaenge/anhaenge.component.spec.ts +++ b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhaenge/anhaenge.component.spec.ts @@ -1,5 +1,5 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { createOzgFileResources } from 'libs/ozg-file-shared/test/ozg-file'; +import { createOzgFileResources } from 'libs/binary-file-shared/test/binary-file'; import { MockComponent } from 'ng-mocks'; import { OzgFileContainerComponent } from '../../ozg-file-container/ozg-file-container.component'; import { AnhaengeComponent } from './anhaenge.component'; diff --git a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.spec.ts b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.spec.ts index e4dfee86c6..79e5ef7f2c 100644 --- a/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.spec.ts +++ b/goofy-client/libs/ozg-file/src/lib/anhang-list-container/anhang-list-container.component.spec.ts @@ -4,7 +4,7 @@ import { createEmptyStateResource, createStateResource, HasLinkPipe, StateResour import { mock } from '@goofy-client/test-utils'; import { ExpansionPanelComponent, SpinnerComponent } from '@goofy-client/ui'; import { VorgangService } from '@goofy-client/vorgang-shared'; -import { createOzgFileListResource } from 'libs/ozg-file-shared/test/ozg-file'; +import { createOzgFileListResource } from 'libs/binary-file-shared/test/binary-file'; import { MockComponent } from 'ng-mocks'; import { AnhaengeComponent } from './anhaenge/anhaenge.component'; import { AnhangListContainerComponent } from './anhang-list-container.component'; diff --git a/goofy-client/libs/ozg-file/src/lib/ozg-file-container/ozg-file-container.component.spec.ts b/goofy-client/libs/ozg-file/src/lib/ozg-file-container/ozg-file-container.component.spec.ts index 62fa608ad0..ec18bc4dd4 100644 --- a/goofy-client/libs/ozg-file/src/lib/ozg-file-container/ozg-file-container.component.spec.ts +++ b/goofy-client/libs/ozg-file/src/lib/ozg-file-container/ozg-file-container.component.spec.ts @@ -3,7 +3,7 @@ import { ApiRootService } from '@goofy-client/api-root-shared'; import { BinaryFileService, OzgFileLinkRel, OzgFileResource } from '@goofy-client/binary-file-shared'; import { ConvertForDataTestPipe } from '@goofy-client/tech-shared'; import { mock } from '@goofy-client/test-utils'; -import { createOzgFileResource } from 'libs/ozg-file-shared/test/ozg-file'; +import { createOzgFileResource } from 'libs/binary-file-shared/test/binary-file'; import { MockComponent } from 'ng-mocks'; import { of } from 'rxjs'; import { OzgFileContainerComponent } from './ozg-file-container.component'; diff --git a/goofy-client/libs/ozg-file/src/lib/ozg-file-container/ozg-file/ozg-file.component.spec.ts b/goofy-client/libs/ozg-file/src/lib/ozg-file-container/ozg-file/ozg-file.component.spec.ts index 1d71f9efda..9f02c400bb 100644 --- a/goofy-client/libs/ozg-file/src/lib/ozg-file-container/ozg-file/ozg-file.component.spec.ts +++ b/goofy-client/libs/ozg-file/src/lib/ozg-file-container/ozg-file/ozg-file.component.spec.ts @@ -6,7 +6,7 @@ import { ApiDownloadToken } from '@goofy-client/api-root-shared'; import { OzgFileLinkRel, OzgFileResource } from '@goofy-client/binary-file-shared'; import { createEmptyStateResource, FileSizePipe, HasLinkPipe, ToResourceUriPipe } from '@goofy-client/tech-shared'; import { IconButtonWithSpinnerComponent, SpinnerComponent } from '@goofy-client/ui'; -import { createOzgFileResource } from 'libs/ozg-file-shared/test/ozg-file'; +import { createOzgFileResource } from 'libs/binary-file-shared/test/binary-file'; import { MockComponent, MockDirective } from 'ng-mocks'; import { OzgFileComponent } from './ozg-file.component'; diff --git a/goofy-client/libs/postfach-shared/src/lib/postfach.service.spec.ts b/goofy-client/libs/postfach-shared/src/lib/postfach.service.spec.ts index 211b9d99a6..632cfe1173 100644 --- a/goofy-client/libs/postfach-shared/src/lib/postfach.service.spec.ts +++ b/goofy-client/libs/postfach-shared/src/lib/postfach.service.spec.ts @@ -6,9 +6,9 @@ import { Mock, mock, useFromMock } from '@goofy-client/test-utils'; import { SnackBarService } from '@goofy-client/ui'; import { VorgangService } from '@goofy-client/vorgang-shared'; import { cold, hot } from 'jest-marbles'; +import { createOzgFileListResource, createOzgFileResources } from 'libs/binary-file-shared/test/binary-file'; import { CommandLinkRel } from 'libs/command-shared/src/lib/command.linkrel'; import { createCommandResource } from 'libs/command-shared/test/command'; -import { createOzgFileListResource, createOzgFileResources } from 'libs/ozg-file-shared/test/ozg-file'; import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; import { of } from 'rxjs'; import { PostfachMailLinkRel } from '..'; diff --git a/goofy-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail/postfach-nachricht-attachments/postfach-nachricht-attachments.component.spec.ts b/goofy-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail/postfach-nachricht-attachments/postfach-nachricht-attachments.component.spec.ts index c76bc46964..d4501d91ae 100644 --- a/goofy-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail/postfach-nachricht-attachments/postfach-nachricht-attachments.component.spec.ts +++ b/goofy-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail/postfach-nachricht-attachments/postfach-nachricht-attachments.component.spec.ts @@ -1,13 +1,13 @@ import { registerLocaleData } from '@angular/common'; import localeDe from '@angular/common/locales/de'; import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { OzgFileListResource } from '@goofy-client/binary-file-shared'; import { OzgFileContainerComponent } from '@goofy-client/ozg-file'; -import { OzgFileListResource } from '@goofy-client/ozg-file-shared'; import { PostfachMailResource, PostfachService } from '@goofy-client/postfach-shared'; import { ConvertForDataTestPipe, createStateResource } from '@goofy-client/tech-shared'; import { Mock, mock } from '@goofy-client/test-utils'; import { SpinnerComponent } from '@goofy-client/ui'; -import { createOzgFileListResource } from 'libs/ozg-file-shared/test/ozg-file'; +import { createOzgFileListResource } from 'libs/binary-file-shared/test/binary-file'; import { createPostfachMailResource } from 'libs/postfach-shared/test/postfach'; import { MockComponent } from 'ng-mocks'; import { of } from 'rxjs'; diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts index 66de14f361..6ecf1133f8 100644 --- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts +++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts @@ -4,9 +4,9 @@ import { createEmptyStateResource, createStateResource, NavigationService, State import { Mock, mock, useFromMock } from '@goofy-client/test-utils'; import { getUrl, ResourceUri } from '@ngxp/rest'; import { cold, hot } from 'jest-marbles'; +import { createOzgFileListResource } from 'libs/binary-file-shared/test/binary-file'; import { CommandLinkRel } from 'libs/command-shared/src/lib/command.linkrel'; import { createCommandListResource, createCommandResource } from 'libs/command-shared/test/command'; -import { createOzgFileListResource } from 'libs/ozg-file-shared/test/ozg-file'; import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; import { of } from 'rxjs'; import { VorgangWithEingangLinkRel } from './vorgang.linkrel'; diff --git a/goofy-client/libs/wiedervorlage-shared/src/lib/state.service.ts b/goofy-client/libs/wiedervorlage-shared/src/lib/state.service.ts new file mode 100644 index 0000000000..cdb5d65559 --- /dev/null +++ b/goofy-client/libs/wiedervorlage-shared/src/lib/state.service.ts @@ -0,0 +1,35 @@ +import { OzgFileListResource } from '@goofy-client/ozg-file-shared'; +import { createEmptyStateResource, doIfLoadingRequired, ListResource, StateResource } from '@goofy-client/tech-shared'; +import { getUrl, Resource, ResourceUri } from '@ngxp/rest'; +import { isNil } from 'lodash-es'; +import { BehaviorSubject, Observable } from 'rxjs'; +import { WiedervorlageResource } from './wiedervorlage.model'; + +//Eine Util klasse zum Laden und Aktualiseren von "maps" -> {uri: behaviourSubject} +export function getResourceList(wiedervorlage: WiedervorlageResource, loadingFunction): Observable<StateResource<OzgFileListResource>> { + const uri: ResourceUri = getUrl(wiedervorlage); + + if (isNil(this.attachmentListByWiedervorlage[uri])) { + this.attachmentListByWiedervorlage[uri] = new BehaviorSubject(createEmptyStateResource()); + } else { + this.attachmentListByWiedervorlage[uri].next(createEmptyStateResource()); + } + + doIfLoadingRequired(this.attachmentListByWiedervorlage[uri].value, () => loadResourceList(wiedervorlage, loadingFunction)); + + return this.attachmentListByWiedervorlage[uri].asObservable(); +} + +function loadResourceList(wiedervorlage: Resource, loadingFunction): void { + setAttachmentLoading(wiedervorlage); + if (!isNil(this.attachmentSubscription)) this.attachmentSubscription.unsubscribe(); + this.attachmentSubscription = loadingFunction().subscribe((fileList: StateResource<ListResource>) => { + if (fileList.loaded) { + this.attachmentListByWiedervorlage[getUrl(wiedervorlage)].next(fileList); + } + }); +} + +function setAttachmentLoading(wiedervorlage: Resource): void { + this.attachmentListByWiedervorlage[getUrl(wiedervorlage)].next({ ...this.attachmentListByWiedervorlage[getUrl(wiedervorlage)].value, loading: true }); +} \ No newline at end of file diff --git a/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts b/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts index 97decccecc..991198bf5f 100644 --- a/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts +++ b/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts @@ -6,9 +6,9 @@ import { SnackBarService } from '@goofy-client/ui'; import { VorgangHeaderLinkRel, VorgangService, VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; import { getUrl } from '@ngxp/rest'; import { cold, hot } from 'jest-marbles'; +import { createOzgFileListResource } from 'libs/binary-file-shared/test/binary-file'; import { CommandLinkRel } from 'libs/command-shared/src/lib/command.linkrel'; import { createCommandResource } from 'libs/command-shared/test/command'; -import { createOzgFileListResource } from 'libs/ozg-file-shared/test/ozg-file'; import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; import { createWiedervorlage, createWiedervorlageListResource, createWiedervorlageResource } from 'libs/wiedervorlage-shared/test/wiedervorlage'; import { of } from 'rxjs'; diff --git a/goofy-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-form/wiedervorlage-form.component.spec.ts b/goofy-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-form/wiedervorlage-form.component.spec.ts index 27b77f32cb..a6f057043e 100644 --- a/goofy-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-form/wiedervorlage-form.component.spec.ts +++ b/goofy-client/libs/wiedervorlage/src/lib/wiedervorlage-page-container/wiedervorlage-page/wiedervorlage-form/wiedervorlage-form.component.spec.ts @@ -6,7 +6,7 @@ import { OzgFileListResource } from '@goofy-client/binary-file-shared'; import { Mock, mock, useFromMock } from '@goofy-client/test-utils'; import { DateEditorComponent, TextAreaEditorComponent, TextEditorComponent } from '@goofy-client/ui'; import { WiedervorlageLinkRel, WiedervorlageResource, WiedervorlageService } from '@goofy-client/wiedervorlage-shared'; -import { createOzgFileListResource } from 'libs/ozg-file-shared/test/ozg-file'; +import { createOzgFileListResource } from 'libs/binary-file-shared/test/binary-file'; import { createWiedervorlageResource } from 'libs/wiedervorlage-shared/test/wiedervorlage'; import { MockComponent } from 'ng-mocks'; import { of } from 'rxjs'; -- GitLab