@valtimo/dossier 10.7.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/lib/components/note-modal/note-modal.component.mjs +5 -5
- package/esm2022/lib/dossier-assign-user/dossier-assign-user.component.mjs +98 -0
- package/esm2022/lib/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.mjs +75 -0
- package/esm2022/lib/dossier-detail/dossier-detail.component.mjs +175 -0
- package/{esm2020 → esm2022}/lib/dossier-detail/tab/audit/audit.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/dossier-detail/tab/contact-moments/contact-moments.component.mjs +4 -4
- package/esm2022/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +146 -0
- package/{esm2020 → esm2022}/lib/dossier-detail/tab/documents/documents.component.mjs +4 -4
- package/esm2022/lib/dossier-detail/tab/notes/notes.component.mjs +166 -0
- package/esm2022/lib/dossier-detail/tab/object-type/object-type.component.mjs +121 -0
- package/esm2022/lib/dossier-detail/tab/progress/progress.component.mjs +52 -0
- package/esm2022/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +136 -0
- package/esm2022/lib/dossier-detail/tab/summary/summary.component.mjs +130 -0
- package/esm2022/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +112 -0
- package/esm2022/lib/dossier-list/dossier-list.component.mjs +371 -0
- package/esm2022/lib/dossier-list-actions/dossier-list-actions.component.mjs +84 -0
- package/esm2022/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +133 -0
- package/{esm2020 → esm2022}/lib/dossier-routing.module.mjs +5 -5
- package/esm2022/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +116 -0
- package/{esm2020 → esm2022}/lib/dossier-update/dossier-update.component.mjs +5 -5
- package/esm2022/lib/dossier.module.mjs +282 -0
- package/esm2022/lib/dossier.service.mjs +58 -0
- package/esm2022/lib/models/candidate-user.model.mjs +17 -0
- package/{esm2020 → esm2022}/lib/models/dossier-parameters.model.mjs +1 -1
- package/esm2022/lib/models/index.mjs +21 -0
- package/esm2022/lib/permissions/dossier.permissions.mjs +55 -0
- package/esm2022/lib/permissions/index.mjs +17 -0
- package/esm2022/lib/services/dossier-bulk-assign.service.mjs +35 -0
- package/esm2022/lib/services/dossier-column.service.mjs +98 -0
- package/esm2022/lib/services/dossier-list-assignee.service.mjs +89 -0
- package/esm2022/lib/services/dossier-list-pagination.service.mjs +119 -0
- package/esm2022/lib/services/dossier-list-search.service.mjs +59 -0
- package/esm2022/lib/services/dossier-list.service.mjs +74 -0
- package/esm2022/lib/services/dossier-parameter.service.mjs +165 -0
- package/{esm2020 → esm2022}/lib/services/file-sort.service.mjs +4 -4
- package/esm2022/lib/services/index.mjs +25 -0
- package/esm2022/lib/services/notes.service.mjs +76 -0
- package/{esm2020 → esm2022}/lib/services/zaakobjecten.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/tab.service.mjs +4 -4
- package/esm2022/public_api.mjs +36 -0
- package/fesm2022/valtimo-dossier.mjs +3681 -0
- package/fesm2022/valtimo-dossier.mjs.map +1 -0
- package/lib/components/note-modal/note-modal.component.d.ts +3 -3
- package/lib/components/note-modal/note-modal.component.d.ts.map +1 -1
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts +12 -18
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts.map +1 -1
- package/lib/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.d.ts +22 -0
- package/lib/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.d.ts.map +1 -0
- package/lib/dossier-detail/dossier-detail.component.d.ts +34 -31
- package/lib/dossier-detail/dossier-detail.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/audit/audit.component.d.ts +1 -1
- package/lib/dossier-detail/tab/contact-moments/contact-moments.component.d.ts +1 -1
- package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts +2 -3
- package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/documents/documents.component.d.ts +1 -1
- package/lib/dossier-detail/tab/notes/notes.component.d.ts +19 -12
- package/lib/dossier-detail/tab/notes/notes.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/object-type/object-type.component.d.ts +3 -3
- package/lib/dossier-detail/tab/object-type/object-type.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/progress/progress.component.d.ts +1 -1
- package/lib/dossier-detail/tab/progress/progress.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/s3-documents/s3-documents.component.d.ts +2 -2
- package/lib/dossier-detail/tab/s3-documents/s3-documents.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/summary/summary.component.d.ts +8 -4
- package/lib/dossier-detail/tab/summary/summary.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts +3 -3
- package/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts.map +1 -1
- package/lib/dossier-list/dossier-list.component.d.ts +52 -24
- package/lib/dossier-list/dossier-list.component.d.ts.map +1 -1
- package/lib/dossier-list-actions/dossier-list-actions.component.d.ts +5 -6
- package/lib/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -1
- package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +4 -7
- package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -1
- package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts +4 -7
- package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +1 -1
- package/lib/dossier-update/dossier-update.component.d.ts +1 -1
- package/lib/dossier.module.d.ts +31 -31
- package/lib/dossier.module.d.ts.map +1 -1
- package/lib/dossier.service.d.ts +5 -1
- package/lib/dossier.service.d.ts.map +1 -1
- package/lib/models/candidate-user.model.d.ts +7 -0
- package/lib/models/candidate-user.model.d.ts.map +1 -0
- package/lib/models/dossier-parameters.model.d.ts +0 -1
- package/lib/models/dossier-parameters.model.d.ts.map +1 -1
- package/lib/models/index.d.ts +3 -2
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/search.model.d.ts +3 -3
- package/lib/models/search.model.d.ts.map +1 -1
- package/lib/permissions/dossier.permissions.d.ts +14 -0
- package/lib/permissions/dossier.permissions.d.ts.map +1 -0
- package/lib/permissions/index.d.ts +2 -0
- package/lib/permissions/index.d.ts.map +1 -0
- package/lib/services/dossier-bulk-assign.service.d.ts +17 -0
- package/lib/services/dossier-bulk-assign.service.d.ts.map +1 -0
- package/lib/services/dossier-column.service.d.ts +1 -1
- package/lib/services/dossier-column.service.d.ts.map +1 -1
- package/lib/services/dossier-list-assignee.service.d.ts +5 -4
- package/lib/services/dossier-list-assignee.service.d.ts.map +1 -1
- package/lib/services/dossier-list-pagination.service.d.ts +1 -1
- package/lib/services/dossier-list-pagination.service.d.ts.map +1 -1
- package/lib/services/dossier-list-search.service.d.ts +0 -3
- package/lib/services/dossier-list-search.service.d.ts.map +1 -1
- package/lib/services/dossier-list.service.d.ts +6 -0
- package/lib/services/dossier-list.service.d.ts.map +1 -1
- package/lib/services/dossier-parameter.service.d.ts.map +1 -1
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/notes.service.d.ts.map +1 -1
- package/lib/services/zaakobjecten.service.d.ts.map +1 -1
- package/package.json +13 -19
- package/public_api.d.ts +10 -9
- package/public_api.d.ts.map +1 -1
- package/esm2020/lib/dossier-assign-user/dossier-assign-user.component.mjs +0 -126
- package/esm2020/lib/dossier-detail/dossier-detail.component.mjs +0 -175
- package/esm2020/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +0 -147
- package/esm2020/lib/dossier-detail/tab/notes/notes.component.mjs +0 -153
- package/esm2020/lib/dossier-detail/tab/object-type/object-type.component.mjs +0 -122
- package/esm2020/lib/dossier-detail/tab/progress/progress.component.mjs +0 -51
- package/esm2020/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +0 -134
- package/esm2020/lib/dossier-detail/tab/summary/summary.component.mjs +0 -124
- package/esm2020/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +0 -113
- package/esm2020/lib/dossier-list/dossier-list.component.mjs +0 -224
- package/esm2020/lib/dossier-list-actions/dossier-list-actions.component.mjs +0 -86
- package/esm2020/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +0 -192
- package/esm2020/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +0 -181
- package/esm2020/lib/dossier.module.mjs +0 -259
- package/esm2020/lib/dossier.service.mjs +0 -50
- package/esm2020/lib/models/index.mjs +0 -20
- package/esm2020/lib/services/dossier-column.service.mjs +0 -100
- package/esm2020/lib/services/dossier-list-assignee.service.mjs +0 -82
- package/esm2020/lib/services/dossier-list-pagination.service.mjs +0 -116
- package/esm2020/lib/services/dossier-list-search.service.mjs +0 -66
- package/esm2020/lib/services/dossier-list.service.mjs +0 -56
- package/esm2020/lib/services/dossier-parameter.service.mjs +0 -167
- package/esm2020/lib/services/index.mjs +0 -24
- package/esm2020/lib/services/notes.service.mjs +0 -76
- package/esm2020/public_api.mjs +0 -35
- package/fesm2015/valtimo-dossier.mjs +0 -3348
- package/fesm2015/valtimo-dossier.mjs.map +0 -1
- package/fesm2020/valtimo-dossier.mjs +0 -3447
- package/fesm2020/valtimo-dossier.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/dossier-detail-tab-enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dossier.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/notes.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/search.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/tabs.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/zaakobjecten.model.mjs +0 -0
- /package/{esm2020 → esm2022}/valtimo-dossier.mjs +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export * from './dossier.permissions';
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9wZXJtaXNzaW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2Rvc3NpZXIucGVybWlzc2lvbnMnO1xuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, take } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@valtimo/config";
|
|
5
|
+
import * as i2 from "@angular/common/http";
|
|
6
|
+
export class DossierBulkAssignService {
|
|
7
|
+
constructor(configService, http) {
|
|
8
|
+
this.configService = configService;
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.candidateUsers$ = new BehaviorSubject([]);
|
|
11
|
+
this._valtimoEndpointUri = `${this.configService.config.valtimoApi.endpointUri}v1/document/`;
|
|
12
|
+
}
|
|
13
|
+
bulkAssign(assigneeId, documentIds) {
|
|
14
|
+
return this.http.post(`${this._valtimoEndpointUri}assign`, { assigneeId, documentIds });
|
|
15
|
+
}
|
|
16
|
+
loadCandidateUsers(documentIds) {
|
|
17
|
+
this.http
|
|
18
|
+
.post(`${this._valtimoEndpointUri}candidate-user`, { documentIds })
|
|
19
|
+
.pipe(take(1))
|
|
20
|
+
.subscribe({
|
|
21
|
+
next: (candidateUsers) => {
|
|
22
|
+
this.candidateUsers$.next(candidateUsers);
|
|
23
|
+
},
|
|
24
|
+
error: error => {
|
|
25
|
+
console.error(error);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierBulkAssignService, deps: [{ token: i1.ConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierBulkAssignService }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierBulkAssignService, decorators: [{
|
|
33
|
+
type: Injectable
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.HttpClient }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1idWxrLWFzc2lnbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvc2VydmljZXMvZG9zc2llci1idWxrLWFzc2lnbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxlQUFlLEVBQWMsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7O0FBSXZELE1BQU0sT0FBTyx3QkFBd0I7SUFLbkMsWUFDVSxhQUE0QixFQUM1QixJQUFnQjtRQURoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBTlYsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsRUFBRSxDQUFDLENBQUM7UUFRekUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsY0FBYyxDQUFDO0lBQy9GLENBQUM7SUFFTSxVQUFVLENBQUMsVUFBa0IsRUFBRSxXQUFxQjtRQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixRQUFRLEVBQUUsRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU0sa0JBQWtCLENBQUMsV0FBcUI7UUFDN0MsSUFBSSxDQUFDLElBQUk7YUFDTixJQUFJLENBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixnQkFBZ0IsRUFBRSxFQUFDLFdBQVcsRUFBQyxDQUFDO2FBQ2pGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxjQUErQixFQUFFLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzVDLENBQUM7WUFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0E1QlUsd0JBQXdCO21IQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGFrZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NhbmRpZGF0ZVVzZXJ9IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEb3NzaWVyQnVsa0Fzc2lnblNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgY2FuZGlkYXRlVXNlcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDYW5kaWRhdGVVc2VyW10+KFtdKTtcblxuICBwcml2YXRlIF92YWx0aW1vRW5kcG9pbnRVcmk6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XG4gICkge1xuICAgIHRoaXMuX3ZhbHRpbW9FbmRwb2ludFVyaSA9IGAke3RoaXMuY29uZmlnU2VydmljZS5jb25maWcudmFsdGltb0FwaS5lbmRwb2ludFVyaX12MS9kb2N1bWVudC9gO1xuICB9XG5cbiAgcHVibGljIGJ1bGtBc3NpZ24oYXNzaWduZWVJZDogc3RyaW5nLCBkb2N1bWVudElkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8dm9pZD4oYCR7dGhpcy5fdmFsdGltb0VuZHBvaW50VXJpfWFzc2lnbmAsIHthc3NpZ25lZUlkLCBkb2N1bWVudElkc30pO1xuICB9XG5cbiAgcHVibGljIGxvYWRDYW5kaWRhdGVVc2Vycyhkb2N1bWVudElkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PENhbmRpZGF0ZVVzZXJbXT4oYCR7dGhpcy5fdmFsdGltb0VuZHBvaW50VXJpfWNhbmRpZGF0ZS11c2VyYCwge2RvY3VtZW50SWRzfSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGNhbmRpZGF0ZVVzZXJzOiBDYW5kaWRhdGVVc2VyW10pID0+IHtcbiAgICAgICAgICB0aGlzLmNhbmRpZGF0ZVVzZXJzJC5uZXh0KGNhbmRpZGF0ZVVzZXJzKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Injectable } from '@angular/core';
|
|
17
|
+
import { map } from 'rxjs';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@valtimo/config";
|
|
20
|
+
import * as i2 from "@valtimo/document";
|
|
21
|
+
import * as i3 from "@ngx-translate/core";
|
|
22
|
+
export class DossierColumnService {
|
|
23
|
+
constructor(configService, documentService, translateService) {
|
|
24
|
+
this.configService = configService;
|
|
25
|
+
this.documentService = documentService;
|
|
26
|
+
this.translateService = translateService;
|
|
27
|
+
}
|
|
28
|
+
getDefinitionColumns(documentDefinitionName) {
|
|
29
|
+
const config = this.configService.config;
|
|
30
|
+
const customDefinitionTable = config.customDefinitionTables[documentDefinitionName];
|
|
31
|
+
const defaultDefinitionTable = config.defaultDefinitionTable;
|
|
32
|
+
return this.documentService.getCaseList(documentDefinitionName).pipe(map(caseListColumns => {
|
|
33
|
+
const apiCaseListColumns = config?.featureToggles?.caseListColumn &&
|
|
34
|
+
caseListColumns &&
|
|
35
|
+
Array.isArray(caseListColumns) &&
|
|
36
|
+
caseListColumns.length > 0 &&
|
|
37
|
+
this.mapCaseListColumnsToDefinitionColumns(caseListColumns);
|
|
38
|
+
return {
|
|
39
|
+
columns: customDefinitionTable || apiCaseListColumns || defaultDefinitionTable,
|
|
40
|
+
hasApiConfig: !!apiCaseListColumns,
|
|
41
|
+
};
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
hasEnvironmentConfig(documentDefinitionName) {
|
|
45
|
+
return !!this.configService.config?.customDefinitionTables[documentDefinitionName];
|
|
46
|
+
}
|
|
47
|
+
mapDefinitionColumnsToListFields(columns, hasEnvColumnConfig, hasApiColumnConfig) {
|
|
48
|
+
return columns.map(column => {
|
|
49
|
+
const translationKey = `fieldLabels.${column.translationKey}`;
|
|
50
|
+
const translation = this.translateService.instant(translationKey);
|
|
51
|
+
const validTranslation = translation !== translationKey && translation;
|
|
52
|
+
return {
|
|
53
|
+
key: hasEnvColumnConfig || !hasApiColumnConfig ? column.propertyName : column.translationKey,
|
|
54
|
+
label: column.title || validTranslation || column.translationKey,
|
|
55
|
+
sortable: column.sortable,
|
|
56
|
+
...(column.viewType && { viewType: column.viewType }),
|
|
57
|
+
...(column.enum && { enum: column.enum }),
|
|
58
|
+
...(column.format && { format: column.format }),
|
|
59
|
+
...(column.default && { default: column.default }),
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
mapCaseListColumnsToDefinitionColumns(caseListColumns) {
|
|
64
|
+
return caseListColumns.map(caseListColumn => ({
|
|
65
|
+
translationKey: caseListColumn.key,
|
|
66
|
+
sortable: caseListColumn.sortable,
|
|
67
|
+
default: caseListColumn.defaultSort,
|
|
68
|
+
viewType: this.getViewType(caseListColumn.displayType.type),
|
|
69
|
+
propertyName: this.getPropertyName(caseListColumn.path),
|
|
70
|
+
...(caseListColumn.title && { title: caseListColumn.title }),
|
|
71
|
+
...(caseListColumn?.displayType?.displayTypeParameters?.enum && {
|
|
72
|
+
enum: caseListColumn.displayType.displayTypeParameters.enum,
|
|
73
|
+
}),
|
|
74
|
+
...(caseListColumn.displayType?.displayTypeParameters?.dateFormat && {
|
|
75
|
+
format: caseListColumn.displayType?.displayTypeParameters?.dateFormat,
|
|
76
|
+
}),
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
getViewType(caseListColumnDisplayType) {
|
|
80
|
+
switch (caseListColumnDisplayType) {
|
|
81
|
+
case 'arrayCount':
|
|
82
|
+
return 'relatedFiles';
|
|
83
|
+
case 'underscoresToSpaces':
|
|
84
|
+
return 'stringReplaceUnderscore';
|
|
85
|
+
default:
|
|
86
|
+
return caseListColumnDisplayType;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
getPropertyName(caseListColumnPath) {
|
|
90
|
+
return caseListColumnPath.replace('doc:', '$.').replace('case:', '');
|
|
91
|
+
}
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierColumnService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
93
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierColumnService }); }
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierColumnService, decorators: [{
|
|
96
|
+
type: Injectable
|
|
97
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i3.TranslateService }]; } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1jb2x1bW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL3NlcnZpY2VzL2Rvc3NpZXItY29sdW1uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxHQUFHLEVBQWEsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTXJDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDbUIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBRmxDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ2xELENBQUM7SUFFSixvQkFBb0IsQ0FDbEIsc0JBQThCO1FBRTlCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ3pDLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDcEYsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUM7UUFFN0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FDbEUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sa0JBQWtCLEdBQ3RCLE1BQU0sRUFBRSxjQUFjLEVBQUUsY0FBYztnQkFDdEMsZUFBZTtnQkFDZixLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztnQkFDOUIsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUMxQixJQUFJLENBQUMscUNBQXFDLENBQUMsZUFBZSxD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QUFPLGNBQWMsQ0FBQztZQUN4QixLQUFLLHFCQUFxQjtnQkFDeEIsT0FBTyx5QkFBeUIsQ0FBQztZQUNuQztnQkFDRSxPQUFPLHlCQUF5QixDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxrQkFBMEI7UUFDaEQsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQzsrR0F6RlUsb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlLCBEZWZpbml0aW9uQ29sdW1ufSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHttYXAsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDYXNlTGlzdENvbHVtbiwgRG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge0xpc3RGaWVsZH0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG9zc2llckNvbHVtblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldERlZmluaXRpb25Db2x1bW5zKFxuICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPHtjb2x1bW5zOiBBcnJheTxEZWZpbml0aW9uQ29sdW1uPjsgaGFzQXBpQ29uZmlnOiBib29sZWFufT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnU2VydmljZS5jb25maWc7XG4gICAgY29uc3QgY3VzdG9tRGVmaW5pdGlvblRhYmxlID0gY29uZmlnLmN1c3RvbURlZmluaXRpb25UYWJsZXNbZG9jdW1lbnREZWZpbml0aW9uTmFtZV07XG4gICAgY29uc3QgZGVmYXVsdERlZmluaXRpb25UYWJsZSA9IGNvbmZpZy5kZWZhdWx0RGVmaW5pdGlvblRhYmxlO1xuXG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldENhc2VMaXN0KGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpLnBpcGUoXG4gICAgICBtYXAoY2FzZUxpc3RDb2x1bW5zID0+IHtcbiAgICAgICAgY29uc3QgYXBpQ2FzZUxpc3RDb2x1bW5zID1cbiAgICAgICAgICBjb25maWc/LmZlYXR1cmVUb2dnbGVzPy5jYXNlTGlzdENvbHVtbiAmJlxuICAgICAgICAgIGNhc2VMaXN0Q29sdW1ucyAmJlxuICAgICAgICAgIEFycmF5LmlzQXJyYXkoY2FzZUxpc3RDb2x1bW5zKSAmJlxuICAgICAgICAgIGNhc2VMaXN0Q29sdW1ucy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgdGhpcy5tYXBDYXNlTGlzdENvbHVtbnNUb0RlZmluaXRpb25Db2x1bW5zKGNhc2VMaXN0Q29sdW1ucyk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjb2x1bW5zOiBjdXN0b21EZWZpbml0aW9uVGFibGUgfHwgYXBpQ2FzZUxpc3RDb2x1bW5zIHx8IGRlZmF1bHREZWZpbml0aW9uVGFibGUsXG4gICAgICAgICAgaGFzQXBpQ29uZmlnOiAhIWFwaUNhc2VMaXN0Q29sdW1ucyxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGhhc0Vudmlyb25tZW50Q29uZmlnKGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuY29uZmlnU2VydmljZS5jb25maWc/LmN1c3RvbURlZmluaXRpb25UYWJsZXNbZG9jdW1lbnREZWZpbml0aW9uTmFtZV07XG4gIH1cblxuICBtYXBEZWZpbml0aW9uQ29sdW1uc1RvTGlzdEZpZWxkcyhcbiAgICBjb2x1bW5zOiBBcnJheTxEZWZpbml0aW9uQ29sdW1uPixcbiAgICBoYXNFbnZDb2x1bW5Db25maWc6IGJvb2xlYW4sXG4gICAgaGFzQXBpQ29sdW1uQ29uZmlnOiBib29sZWFuXG4gICk6IEFycmF5PExpc3RGaWVsZD4ge1xuICAgIHJldHVybiBjb2x1bW5zLm1hcChjb2x1bW4gPT4ge1xuICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBgZmllbGRMYWJlbHMuJHtjb2x1bW4udHJhbnNsYXRpb25LZXl9YDtcbiAgICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpO1xuICAgICAgY29uc3QgdmFsaWRUcmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9uICE9PSB0cmFuc2xhdGlvbktleSAmJiB0cmFuc2xhdGlvbjtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleTpcbiAgICAgICAgICBoYXNFbnZDb2x1bW5Db25maWcgfHwgIWhhc0FwaUNvbHVtbkNvbmZpZyA/IGNvbHVtbi5wcm9wZXJ0eU5hbWUgOiBjb2x1bW4udHJhbnNsYXRpb25LZXksXG4gICAgICAgIGxhYmVsOiBjb2x1bW4udGl0bGUgfHwgdmFsaWRUcmFuc2xhdGlvbiB8fCBjb2x1bW4udHJhbnNsYXRpb25LZXksXG4gICAgICAgIHNvcnRhYmxlOiBjb2x1bW4uc29ydGFibGUsXG4gICAgICAgIC4uLihjb2x1bW4udmlld1R5cGUgJiYge3ZpZXdUeXBlOiBjb2x1bW4udmlld1R5cGV9KSxcbiAgICAgICAgLi4uKGNvbHVtbi5lbnVtICYmIHtlbnVtOiBjb2x1bW4uZW51bX0pLFxuICAgICAgICAuLi4oY29sdW1uLmZvcm1hdCAmJiB7Zm9ybWF0OiBjb2x1bW4uZm9ybWF0fSksXG4gICAgICAgIC4uLihjb2x1bW4uZGVmYXVsdCAmJiB7ZGVmYXVsdDogY29sdW1uLmRlZmF1bHR9KSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hcENhc2VMaXN0Q29sdW1uc1RvRGVmaW5pdGlvbkNvbHVtbnMoXG4gICAgY2FzZUxpc3RDb2x1bW5zOiBBcnJheTxDYXNlTGlzdENvbHVtbj5cbiAgKTogQXJyYXk8RGVmaW5pdGlvbkNvbHVtbj4ge1xuICAgIHJldHVybiBjYXNlTGlzdENvbHVtbnMubWFwKGNhc2VMaXN0Q29sdW1uID0+ICh7XG4gICAgICB0cmFuc2xhdGlvbktleTogY2FzZUxpc3RDb2x1bW4ua2V5LFxuICAgICAgc29ydGFibGU6IGNhc2VMaXN0Q29sdW1uLnNvcnRhYmxlLFxuICAgICAgZGVmYXVsdDogY2FzZUxpc3RDb2x1bW4uZGVmYXVsdFNvcnQsXG4gICAgICB2aWV3VHlwZTogdGhpcy5nZXRWaWV3VHlwZShjYXNlTGlzdENvbHVtbi5kaXNwbGF5VHlwZS50eXBlKSxcbiAgICAgIHByb3BlcnR5TmFtZTogdGhpcy5nZXRQcm9wZXJ0eU5hbWUoY2FzZUxpc3RDb2x1bW4ucGF0aCksXG4gICAgICAuLi4oY2FzZUxpc3RDb2x1bW4udGl0bGUgJiYge3RpdGxlOiBjYXNlTGlzdENvbHVtbi50aXRsZX0pLFxuICAgICAgLi4uKGNhc2VMaXN0Q29sdW1uPy5kaXNwbGF5VHlwZT8uZGlzcGxheVR5cGVQYXJhbWV0ZXJzPy5lbnVtICYmIHtcbiAgICAgICAgZW51bTogY2FzZUxpc3RDb2x1bW4uZGlzcGxheVR5cGUuZGlzcGxheVR5cGVQYXJhbWV0ZXJzLmVudW0gYXMgYW55LFxuICAgICAgfSksXG4gICAgICAuLi4oY2FzZUxpc3RDb2x1bW4uZGlzcGxheVR5cGU/LmRpc3BsYXlUeXBlUGFyYW1ldGVycz8uZGF0ZUZvcm1hdCAmJiB7XG4gICAgICAgIGZvcm1hdDogY2FzZUxpc3RDb2x1bW4uZGlzcGxheVR5cGU/LmRpc3BsYXlUeXBlUGFyYW1ldGVycz8uZGF0ZUZvcm1hdCxcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Vmlld1R5cGUoY2FzZUxpc3RDb2x1bW5EaXNwbGF5VHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGNhc2VMaXN0Q29sdW1uRGlzcGxheVR5cGUpIHtcbiAgICAgIGNhc2UgJ2FycmF5Q291bnQnOlxuICAgICAgICByZXR1cm4gJ3JlbGF0ZWRGaWxlcyc7XG4gICAgICBjYXNlICd1bmRlcnNjb3Jlc1RvU3BhY2VzJzpcbiAgICAgICAgcmV0dXJuICdzdHJpbmdSZXBsYWNlVW5kZXJzY29yZSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gY2FzZUxpc3RDb2x1bW5EaXNwbGF5VHlwZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFByb3BlcnR5TmFtZShjYXNlTGlzdENvbHVtblBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNhc2VMaXN0Q29sdW1uUGF0aC5yZXBsYWNlKCdkb2M6JywgJyQuJykucmVwbGFjZSgnY2FzZTonLCAnJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Injectable } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, Subject, map, switchMap, take, tap, combineLatest } from 'rxjs';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@valtimo/config";
|
|
20
|
+
import * as i2 from "./dossier-list.service";
|
|
21
|
+
import * as i3 from "@valtimo/document";
|
|
22
|
+
import * as i4 from "@ngx-translate/core";
|
|
23
|
+
import * as i5 from "./dossier-parameter.service";
|
|
24
|
+
export class DossierListAssigneeService {
|
|
25
|
+
get assigneeFilter$() {
|
|
26
|
+
return this._assigneeFilter$.asObservable();
|
|
27
|
+
}
|
|
28
|
+
constructor(configService, dossierListService, documentService, translateService, dossierParameterService) {
|
|
29
|
+
this.configService = configService;
|
|
30
|
+
this.dossierListService = dossierListService;
|
|
31
|
+
this.documentService = documentService;
|
|
32
|
+
this.translateService = translateService;
|
|
33
|
+
this.dossierParameterService = dossierParameterService;
|
|
34
|
+
this.ASSIGNEE_KEY = 'assigneeFullName';
|
|
35
|
+
this._defaultAssigneeFilter$ = new Subject();
|
|
36
|
+
this._assigneeFilter$ = new BehaviorSubject(null);
|
|
37
|
+
this.canHaveAssignee$ = this.dossierListService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), map(caseSettings => caseSettings?.canHaveAssignee), tap(canHaveAssignee => {
|
|
38
|
+
const visibleTabs = this.configService.config.visibleDossierListTabs;
|
|
39
|
+
this._defaultAssigneeFilter$.next(!!visibleTabs && canHaveAssignee ? visibleTabs[0] : 'ALL');
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
resetAssigneeFilter() {
|
|
43
|
+
combineLatest([this.dossierParameterService.queryAssigneeParam$, this._defaultAssigneeFilter$])
|
|
44
|
+
.pipe(take(1))
|
|
45
|
+
.subscribe(([assigneeParam, defaultAssigneeFilter]) => {
|
|
46
|
+
if (assigneeParam) {
|
|
47
|
+
this._assigneeFilter$.next(assigneeParam);
|
|
48
|
+
this.dossierParameterService.setAssigneeParameter(assigneeParam);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this._assigneeFilter$.next(defaultAssigneeFilter);
|
|
52
|
+
this.dossierParameterService.setAssigneeParameter(defaultAssigneeFilter);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
setAssigneeFilter(assigneeFilter) {
|
|
57
|
+
this._assigneeFilter$.next(assigneeFilter);
|
|
58
|
+
this.dossierParameterService.setAssigneeParameter(assigneeFilter);
|
|
59
|
+
}
|
|
60
|
+
filterAssigneeColumns(columns, canHaveAssignee) {
|
|
61
|
+
return columns.filter(column => {
|
|
62
|
+
if (column?.key === this.ASSIGNEE_KEY && !canHaveAssignee) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
addAssigneeListField(columns, listFields, canHaveAssignee) {
|
|
69
|
+
return [
|
|
70
|
+
...listFields,
|
|
71
|
+
...(canHaveAssignee && !columns.find(column => column.propertyName === this.ASSIGNEE_KEY)
|
|
72
|
+
? [
|
|
73
|
+
{
|
|
74
|
+
key: this.ASSIGNEE_KEY,
|
|
75
|
+
label: this.translateService.instant(`fieldLabels.${this.ASSIGNEE_KEY}`),
|
|
76
|
+
sortable: true,
|
|
77
|
+
viewType: 'string',
|
|
78
|
+
},
|
|
79
|
+
]
|
|
80
|
+
: []),
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListAssigneeService, deps: [{ token: i1.ConfigService }, { token: i2.DossierListService }, { token: i3.DocumentService }, { token: i4.TranslateService }, { token: i5.DossierParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
84
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListAssigneeService }); }
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListAssigneeService, decorators: [{
|
|
87
|
+
type: Injectable
|
|
88
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DossierListService }, { type: i3.DocumentService }, { type: i4.TranslateService }, { type: i5.DossierParameterService }]; } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1saXN0LWFzc2lnbmVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9zZXJ2aWNlcy9kb3NzaWVyLWxpc3QtYXNzaWduZWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVNwRyxNQUFNLE9BQU8sMEJBQTBCO0lBb0JyQyxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQ21CLGFBQTRCLEVBQzVCLGtCQUFzQyxFQUN0QyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsdUJBQWdEO1FBSmhELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQTVCbEQsaUJBQVksR0FBRyxrQkFBa0IsQ0FBQztRQUNsQyw0QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUN4RCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBd0IsSUFBSSxDQUFDLENBQUM7UUFFckUscUJBQWdCLEdBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQ2xELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLENBQzdELEVBQ0QsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxFQUNsRCxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDcEIsTUFBTSxXQUFXLEdBQXFCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDO1lBRXZGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQy9CLENBQUMsQ0FBQyxXQUFXLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDMUQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFZRCxDQUFDO0lBRUcsbUJBQW1CO1FBQ3hCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUM1RixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLENBQUMsRUFBRSxFQUFFO1lBQ3BELElBQUksYUFBYSxFQUFFO2dCQUNqQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMscUJBQXFCLENBQUMsQ0FBQzthQUMxRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGlCQUFpQixDQUFDLGNBQThCO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxxQkFBcUIsQ0FDMUIsT0FBZ0MsRUFDaEMsZUFBd0I7UUFFeEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdCLElBQUksTUFBTSxFQUFFLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN6RCxPQUFPLEtBQUssQ0FBQzthQUNkO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxvQkFBb0IsQ0FDekIsT0FBZ0MsRUFDaEMsVUFBNEIsRUFDNUIsZUFBd0I7UUFFeEIsT0FBTztZQUNMLEdBQUcsVUFBVTtZQUNiLEdBQUcsQ0FBQyxlQUFlLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2RixDQUFDLENBQUM7b0JBQ0U7d0JBQ0UsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZO3dCQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzt3QkFDeEUsUUFBUSxFQUFFLElBQUk7d0JBQ2QsUUFBUSxFQUFFLFFBQVE7cUJBQ25CO2lCQUNGO2dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDUixDQUFDO0lBQ0osQ0FBQzsrR0FqRlUsMEJBQTBCO21IQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgc3dpdGNoTWFwLCB0YWtlLCB0YXAsIGNvbWJpbmVMYXRlc3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEb3NzaWVyTGlzdFNlcnZpY2V9IGZyb20gJy4vZG9zc2llci1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7QXNzaWduZWVGaWx0ZXIsIENvbmZpZ1NlcnZpY2UsIERlZmluaXRpb25Db2x1bW59IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtMaXN0RmllbGR9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtEb3NzaWVyUGFyYW1ldGVyU2VydmljZX0gZnJvbSAnLi9kb3NzaWVyLXBhcmFtZXRlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERvc3NpZXJMaXN0QXNzaWduZWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBBU1NJR05FRV9LRVkgPSAnYXNzaWduZWVGdWxsTmFtZSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRBc3NpZ25lZUZpbHRlciQgPSBuZXcgU3ViamVjdDxBc3NpZ25lZUZpbHRlcj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXNzaWduZWVGaWx0ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBc3NpZ25lZUZpbHRlciB8IG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjYW5IYXZlQXNzaWduZWUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID1cbiAgICB0aGlzLmRvc3NpZXJMaXN0U2VydmljZS5kb2N1bWVudERlZmluaXRpb25OYW1lJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0Q2FzZVNldHRpbmdzKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICApLFxuICAgICAgbWFwKGNhc2VTZXR0aW5ncyA9PiBjYXNlU2V0dGluZ3M/LmNhbkhhdmVBc3NpZ25lZSksXG4gICAgICB0YXAoY2FuSGF2ZUFzc2lnbmVlID0+IHtcbiAgICAgICAgY29uc3QgdmlzaWJsZVRhYnM6IEFzc2lnbmVlRmlsdGVyW10gPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnZpc2libGVEb3NzaWVyTGlzdFRhYnM7XG5cbiAgICAgICAgdGhpcy5fZGVmYXVsdEFzc2lnbmVlRmlsdGVyJC5uZXh0KFxuICAgICAgICAgICEhdmlzaWJsZVRhYnMgJiYgY2FuSGF2ZUFzc2lnbmVlID8gdmlzaWJsZVRhYnNbMF0gOiAnQUxMJ1xuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuXG4gIHB1YmxpYyBnZXQgYXNzaWduZWVGaWx0ZXIkKCk6IE9ic2VydmFibGU8QXNzaWduZWVGaWx0ZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fYXNzaWduZWVGaWx0ZXIkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9zc2llckxpc3RTZXJ2aWNlOiBEb3NzaWVyTGlzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3NzaWVyUGFyYW1ldGVyU2VydmljZTogRG9zc2llclBhcmFtZXRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyByZXNldEFzc2lnbmVlRmlsdGVyKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZG9zc2llclBhcmFtZXRlclNlcnZpY2UucXVlcnlBc3NpZ25lZVBhcmFtJCwgdGhpcy5fZGVmYXVsdEFzc2lnbmVlRmlsdGVyJF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW2Fzc2lnbmVlUGFyYW0sIGRlZmF1bHRBc3NpZ25lZUZpbHRlcl0pID0+IHtcbiAgICAgICAgaWYgKGFzc2lnbmVlUGFyYW0pIHtcbiAgICAgICAgICB0aGlzLl9hc3NpZ25lZUZpbHRlciQubmV4dChhc3NpZ25lZVBhcmFtKTtcbiAgICAgICAgICB0aGlzLmRvc3NpZXJQYXJhbWV0ZXJTZXJ2aWNlLnNldEFzc2lnbmVlUGFyYW1ldGVyKGFzc2lnbmVlUGFyYW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2Fzc2lnbmVlRmlsdGVyJC5uZXh0KGRlZmF1bHRBc3NpZ25lZUZpbHRlcik7XG4gICAgICAgICAgdGhpcy5kb3NzaWVyUGFyYW1ldGVyU2VydmljZS5zZXRBc3NpZ25lZVBhcmFtZXRlcihkZWZhdWx0QXNzaWduZWVGaWx0ZXIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBc3NpZ25lZUZpbHRlcihhc3NpZ25lZUZpbHRlcjogQXNzaWduZWVGaWx0ZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9hc3NpZ25lZUZpbHRlciQubmV4dChhc3NpZ25lZUZpbHRlcik7XG4gICAgdGhpcy5kb3NzaWVyUGFyYW1ldGVyU2VydmljZS5zZXRBc3NpZ25lZVBhcmFtZXRlcihhc3NpZ25lZUZpbHRlcik7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyQXNzaWduZWVDb2x1bW5zKFxuICAgIGNvbHVtbnM6IEFycmF5PERlZmluaXRpb25Db2x1bW4+LFxuICAgIGNhbkhhdmVBc3NpZ25lZTogYm9vbGVhblxuICApOiBBcnJheTxEZWZpbml0aW9uQ29sdW1uPiB7XG4gICAgcmV0dXJuIGNvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PiB7XG4gICAgICBpZiAoY29sdW1uPy5rZXkgPT09IHRoaXMuQVNTSUdORUVfS0VZICYmICFjYW5IYXZlQXNzaWduZWUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkQXNzaWduZWVMaXN0RmllbGQoXG4gICAgY29sdW1uczogQXJyYXk8RGVmaW5pdGlvbkNvbHVtbj4sXG4gICAgbGlzdEZpZWxkczogQXJyYXk8TGlzdEZpZWxkPixcbiAgICBjYW5IYXZlQXNzaWduZWU6IGJvb2xlYW5cbiAgKTogQXJyYXk8TGlzdEZpZWxkPiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLmxpc3RGaWVsZHMsXG4gICAgICAuLi4oY2FuSGF2ZUFzc2lnbmVlICYmICFjb2x1bW5zLmZpbmQoY29sdW1uID0+IGNvbHVtbi5wcm9wZXJ0eU5hbWUgPT09IHRoaXMuQVNTSUdORUVfS0VZKVxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2V5OiB0aGlzLkFTU0lHTkVFX0tFWSxcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBmaWVsZExhYmVscy4ke3RoaXMuQVNTSUdORUVfS0VZfWApLFxuICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgdmlld1R5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Injectable } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, filter, map, take, tap } from 'rxjs';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "ngx-logger";
|
|
20
|
+
import * as i2 from "./dossier-parameter.service";
|
|
21
|
+
import * as i3 from "../dossier.service";
|
|
22
|
+
export class DossierListPaginationService {
|
|
23
|
+
get pagination$() {
|
|
24
|
+
return this._paginationCopy$;
|
|
25
|
+
}
|
|
26
|
+
constructor(logger, dossierParameterService, dossierService) {
|
|
27
|
+
this.logger = logger;
|
|
28
|
+
this.dossierParameterService = dossierParameterService;
|
|
29
|
+
this.dossierService = dossierService;
|
|
30
|
+
this.DEFAULT_PAGINATION = {
|
|
31
|
+
collectionSize: 0,
|
|
32
|
+
page: 1,
|
|
33
|
+
size: 10,
|
|
34
|
+
sort: undefined,
|
|
35
|
+
};
|
|
36
|
+
this._pagination$ = new BehaviorSubject(undefined);
|
|
37
|
+
this._paginationCopy$ = this._pagination$.pipe(filter(pagination => !!pagination), map(pagination => pagination && JSON.parse(JSON.stringify(pagination))), tap(pagination => this.dossierParameterService.setPaginationParameters(pagination)));
|
|
38
|
+
}
|
|
39
|
+
pageChange(newPage) {
|
|
40
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
41
|
+
if (pagination && pagination.page !== newPage) {
|
|
42
|
+
this.logger.debug(`Page change: ${newPage}`);
|
|
43
|
+
this._pagination$.next({ ...pagination, page: newPage });
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
pageSizeChange(newPageSize) {
|
|
48
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
49
|
+
if (pagination && pagination.size !== newPageSize) {
|
|
50
|
+
const amountOfAvailablePages = Math.ceil(+pagination.collectionSize / newPageSize);
|
|
51
|
+
const newPage = amountOfAvailablePages < pagination.page ? amountOfAvailablePages : pagination.page;
|
|
52
|
+
this.logger.debug(`Page size change. New Page: ${newPage} New page size: ${newPageSize}`);
|
|
53
|
+
this._pagination$.next({ ...pagination, size: newPageSize, page: newPage });
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
sortChanged(newSortState) {
|
|
58
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
59
|
+
if (pagination && JSON.stringify(pagination.sort) !== JSON.stringify(newSortState)) {
|
|
60
|
+
this.logger.debug(`Sort state change: ${JSON.stringify(newSortState)}`);
|
|
61
|
+
this._pagination$.next({ ...pagination, sort: newSortState });
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
setPage(newPageNumber) {
|
|
66
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
67
|
+
this._pagination$.next({ ...pagination, page: newPageNumber });
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
setCollectionSize(documents) {
|
|
71
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
72
|
+
if (pagination && pagination.collectionSize !== documents.totalElements) {
|
|
73
|
+
this._pagination$.next({ ...pagination, collectionSize: documents.totalElements });
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
checkPage(documents) {
|
|
78
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
79
|
+
if (pagination) {
|
|
80
|
+
const amountOfItems = documents.totalElements;
|
|
81
|
+
const amountOfPages = Math.ceil(amountOfItems / pagination.size);
|
|
82
|
+
const currentPage = pagination.page;
|
|
83
|
+
if (!!amountOfItems && !currentPage) {
|
|
84
|
+
this._pagination$.next({ ...pagination, page: 1 });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (currentPage > amountOfPages) {
|
|
88
|
+
this._pagination$.next({ ...pagination, page: amountOfPages });
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
clearPagination() {
|
|
94
|
+
this._pagination$.next(undefined);
|
|
95
|
+
}
|
|
96
|
+
setPagination(columns) {
|
|
97
|
+
this.dossierParameterService.queryPaginationParams$
|
|
98
|
+
.pipe(take(1))
|
|
99
|
+
.subscribe(queryPaginationParams => {
|
|
100
|
+
const defaultPagination = this.getDefaultPagination(columns);
|
|
101
|
+
const paginationToUse = queryPaginationParams || defaultPagination;
|
|
102
|
+
this.logger.debug(`Set pagination: ${JSON.stringify(paginationToUse)}`);
|
|
103
|
+
this._pagination$.next(paginationToUse);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
getDefaultPagination(columns) {
|
|
107
|
+
const defaultSortState = this.dossierService.getInitialSortState(columns);
|
|
108
|
+
return {
|
|
109
|
+
...this.DEFAULT_PAGINATION,
|
|
110
|
+
sort: defaultSortState,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListPaginationService, deps: [{ token: i1.NGXLogger }, { token: i2.DossierParameterService }, { token: i3.DossierService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
114
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListPaginationService }); }
|
|
115
|
+
}
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListPaginationService, decorators: [{
|
|
117
|
+
type: Injectable
|
|
118
|
+
}], ctorParameters: function () { return [{ type: i1.NGXLogger }, { type: i2.DossierParameterService }, { type: i3.DossierService }]; } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1saXN0LXBhZ2luYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci9zcmMvbGliL3NlcnZpY2VzL2Rvc3NpZXItbGlzdC1wYWdpbmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7OztBQVN6RSxNQUFNLE9BQU8sNEJBQTRCO0lBZ0J2QyxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFDbUIsTUFBaUIsRUFDakIsdUJBQWdELEVBQ2hELGNBQThCO1FBRjlCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF0QmhDLHVCQUFrQixHQUFlO1lBQ2hELGNBQWMsRUFBRSxDQUFDO1lBQ2pCLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQixDQUFDO1FBRWUsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBeUIsU0FBUyxDQUFDLENBQUM7UUFFdEUscUJBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3hELE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFDbEMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNB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QWEsQ0FBQyxPQUFnQztRQUM1QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCO2FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMscUJBQXFCLENBQUMsRUFBRTtZQUNqQyxNQUFNLGlCQUFpQixHQUFlLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6RSxNQUFNLGVBQWUsR0FBRyxxQkFBcUIsSUFBSSxpQkFBaUIsQ0FBQztZQUVuRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBZ0M7UUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFFLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQyxrQkFBa0I7WUFDMUIsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QixDQUFDO0lBQ0osQ0FBQzsrR0FsSFUsNEJBQTRCO21IQUE1Qiw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQYWdpbmF0aW9ufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7TkdYTG9nZ2VyfSBmcm9tICduZ3gtbG9nZ2VyJztcbmltcG9ydCB7RG9zc2llclBhcmFtZXRlclNlcnZpY2V9IGZyb20gJy4vZG9zc2llci1wYXJhbWV0ZXIuc2VydmljZSc7XG5pbXBvcnQge0RlZmluaXRpb25Db2x1bW59IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0Rvc3NpZXJTZXJ2aWNlfSBmcm9tICcuLi9kb3NzaWVyLnNlcnZpY2UnO1xuaW1wb3J0IHtEb2N1bWVudHMsIFNvcnRTdGF0ZSwgU3BlY2lmaWVkRG9jdW1lbnRzfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTGlzdFBhZ2luYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX1BBR0lOQVRJT046IFBhZ2luYXRpb24gPSB7XG4gICAgY29sbGVjdGlvblNpemU6IDAsXG4gICAgcGFnZTogMSxcbiAgICBzaXplOiAxMCxcbiAgICBzb3J0OiB1bmRlZmluZWQsXG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcGFnaW5hdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhZ2luYXRpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcGFnaW5hdGlvbkNvcHkkID0gdGhpcy5fcGFnaW5hdGlvbiQucGlwZShcbiAgICBmaWx0ZXIocGFnaW5hdGlvbiA9PiAhIXBhZ2luYXRpb24pLFxuICAgIG1hcChwYWdpbmF0aW9uID0+IHBhZ2luYXRpb24gJiYgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYWdpbmF0aW9uKSkpLFxuICAgIHRhcChwYWdpbmF0aW9uID0+IHRoaXMuZG9zc2llclBhcmFtZXRlclNlcnZpY2Uuc2V0UGFnaW5hdGlvblBhcmFtZXRlcnMocGFnaW5hdGlvbikpXG4gICk7XG5cbiAgZ2V0IHBhZ2luYXRpb24kKCk6IE9ic2VydmFibGU8UGFnaW5hdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLl9wYWdpbmF0aW9uQ29weSQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTkdYTG9nZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9zc2llclBhcmFtZXRlclNlcnZpY2U6IERvc3NpZXJQYXJhbWV0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9zc2llclNlcnZpY2U6IERvc3NpZXJTZXJ2aWNlXG4gICkge31cblxuICBwYWdlQ2hhbmdlKG5ld1BhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3BhZ2luYXRpb24kLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBhZ2luYXRpb24gPT4ge1xuICAgICAgaWYgKHBhZ2luYXRpb24gJiYgcGFnaW5hdGlvbi5wYWdlICE9PSBuZXdQYWdlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBQYWdlIGNoYW5nZTogJHtuZXdQYWdlfWApO1xuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uJC5uZXh0KHsuLi5wYWdpbmF0aW9uLCBwYWdlOiBuZXdQYWdlfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwYWdlU2l6ZUNoYW5nZShuZXdQYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fcGFnaW5hdGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGFnaW5hdGlvbiA9PiB7XG4gICAgICBpZiAocGFnaW5hdGlvbiAmJiBwYWdpbmF0aW9uLnNpemUgIT09IG5ld1BhZ2VTaXplKSB7XG4gICAgICAgIGNvbnN0IGFtb3VudE9mQXZhaWxhYmxlUGFnZXMgPSBNYXRoLmNlaWwoK3BhZ2luYXRpb24uY29sbGVjdGlvblNpemUgLyBuZXdQYWdlU2l6ZSk7XG4gICAgICAgIGNvbnN0IG5ld1BhZ2UgPVxuICAgICAgICAgIGFtb3VudE9mQXZhaWxhYmxlUGFnZXMgPCBwYWdpbmF0aW9uLnBhZ2UgPyBhbW91bnRPZkF2YWlsYWJsZVBhZ2VzIDogcGFnaW5hdGlvbi5wYWdlO1xuXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBQYWdlIHNpemUgY2hhbmdlLiBOZXcgUGFnZTogJHtuZXdQYWdlfSBOZXcgcGFnZSBzaXplOiAke25ld1BhZ2VTaXplfWApO1xuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uJC5uZXh0KHsuLi5wYWdpbmF0aW9uLCBzaXplOiBuZXdQYWdlU2l6ZSwgcGFnZTogbmV3UGFnZX0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc29ydENoYW5nZWQobmV3U29ydFN0YXRlOiBTb3J0U3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLl9wYWdpbmF0aW9uJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwYWdpbmF0aW9uID0+IHtcbiAgICAgIGlmIChwYWdpbmF0aW9uICYmIEpTT04uc3RyaW5naWZ5KHBhZ2luYXRpb24uc29ydCkgIT09IEpTT04uc3RyaW5naWZ5KG5ld1NvcnRTdGF0ZSkpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFNvcnQgc3RhdGUgY2hhbmdlOiAke0pTT04uc3RyaW5naWZ5KG5ld1NvcnRTdGF0ZSl9YCk7XG4gICAgICAgIHRoaXMuX3BhZ2luYXRpb24kLm5leHQoey4uLnBhZ2luYXRpb24sIHNvcnQ6IG5ld1NvcnRTdGF0ZX0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0UGFnZShuZXdQYWdlTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9wYWdpbmF0aW9uJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwYWdpbmF0aW9uID0+IHtcbiAgICAgIHRoaXMuX3BhZ2luYXRpb24kLm5leHQoey4uLnBhZ2luYXRpb24sIHBhZ2U6IG5ld1BhZ2VOdW1iZXJ9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldENvbGxlY3Rpb25TaXplKGRvY3VtZW50czogRG9jdW1lbnRzIHwgU3BlY2lmaWVkRG9jdW1lbnRzKTogdm9pZCB7XG4gICAgdGhpcy5fcGFnaW5hdGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUocGFnaW5hdGlvbiA9PiB7XG4gICAgICBpZiAocGFnaW5hdGlvbiAmJiBwYWdpbmF0aW9uLmNvbGxlY3Rpb25TaXplICE9PSBkb2N1bWVudHMudG90YWxFbGVtZW50cykge1xuICAgICAgICB0aGlzLl9wYWdpbmF0aW9uJC5uZXh0KHsuLi5wYWdpbmF0aW9uLCBjb2xsZWN0aW9uU2l6ZTogZG9jdW1lbnRzLnRvdGFsRWxlbWVudHN9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrUGFnZShkb2N1bWVudHM6IERvY3VtZW50cyB8IFNwZWNpZmllZERvY3VtZW50cyk6IHZvaWQge1xuICAgIHRoaXMuX3BhZ2luYXRpb24kLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBhZ2luYXRpb24gPT4ge1xuICAgICAgaWYgKHBhZ2luYXRpb24pIHtcbiAgICAgICAgY29uc3QgYW1vdW50T2ZJdGVtcyA9IGRvY3VtZW50cy50b3RhbEVsZW1lbnRzO1xuICAgICAgICBjb25zdCBhbW91bnRPZlBhZ2VzID0gTWF0aC5jZWlsKGFtb3VudE9mSXRlbXMgLyBwYWdpbmF0aW9uLnNpemUpO1xuICAgICAgICBjb25zdCBjdXJyZW50UGFnZSA9IHBhZ2luYXRpb24ucGFnZTtcblxuICAgICAgICBpZiAoISFhbW91bnRPZkl0ZW1zICYmICFjdXJyZW50UGFnZSkge1xuICAgICAgICAgIHRoaXMuX3BhZ2luYXRpb24kLm5leHQoey4uLnBhZ2luYXRpb24sIHBhZ2U6IDF9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudFBhZ2UgPiBhbW91bnRPZlBhZ2VzKSB7XG4gICAgICAgICAgdGhpcy5fcGFnaW5hdGlvbiQubmV4dCh7Li4ucGFnaW5hdGlvbiwgcGFnZTogYW1vdW50T2ZQYWdlc30pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjbGVhclBhZ2luYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fcGFnaW5hdGlvbiQubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgc2V0UGFnaW5hdGlvbihjb2x1bW5zOiBBcnJheTxEZWZpbml0aW9uQ29sdW1uPik6IHZvaWQge1xuICAgIHRoaXMuZG9zc2llclBhcmFtZXRlclNlcnZpY2UucXVlcnlQYWdpbmF0aW9uUGFyYW1zJFxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUocXVlcnlQYWdpbmF0aW9uUGFyYW1zID0+IHtcbiAgICAgICAgY29uc3QgZGVmYXVsdFBhZ2luYXRpb246IFBhZ2luYXRpb24gPSB0aGlzLmdldERlZmF1bHRQYWdpbmF0aW9uKGNvbHVtbnMpO1xuICAgICAgICBjb25zdCBwYWdpbmF0aW9uVG9Vc2UgPSBxdWVyeVBhZ2luYXRpb25QYXJhbXMgfHwgZGVmYXVsdFBhZ2luYXRpb247XG5cbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFNldCBwYWdpbmF0aW9uOiAke0pTT04uc3RyaW5naWZ5KHBhZ2luYXRpb25Ub1VzZSl9YCk7XG5cbiAgICAgICAgdGhpcy5fcGFnaW5hdGlvbiQubmV4dChwYWdpbmF0aW9uVG9Vc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERlZmF1bHRQYWdpbmF0aW9uKGNvbHVtbnM6IEFycmF5PERlZmluaXRpb25Db2x1bW4+KTogUGFnaW5hdGlvbiB7XG4gICAgY29uc3QgZGVmYXVsdFNvcnRTdGF0ZSA9IHRoaXMuZG9zc2llclNlcnZpY2UuZ2V0SW5pdGlhbFNvcnRTdGF0ZShjb2x1bW5zKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLkRFRkFVTFRfUEFHSU5BVElPTixcbiAgICAgIHNvcnQ6IGRlZmF1bHRTb3J0U3RhdGUsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Injectable } from '@angular/core';
|
|
17
|
+
import { switchMap } from 'rxjs';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "./dossier-list.service";
|
|
20
|
+
import * as i2 from "@valtimo/document";
|
|
21
|
+
import * as i3 from "./dossier-parameter.service";
|
|
22
|
+
export class DossierListSearchService {
|
|
23
|
+
get documentSearchFields$() {
|
|
24
|
+
return this._documentSearchFields$;
|
|
25
|
+
}
|
|
26
|
+
constructor(dossierListService, documentService, dossierParameterService) {
|
|
27
|
+
this.dossierListService = dossierListService;
|
|
28
|
+
this.documentService = documentService;
|
|
29
|
+
this.dossierParameterService = dossierParameterService;
|
|
30
|
+
this._documentSearchFields$ = this.dossierListService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentSearchFields(documentDefinitionName)));
|
|
31
|
+
}
|
|
32
|
+
search(searchFieldValues) {
|
|
33
|
+
this.dossierParameterService.setSearchFieldValues(searchFieldValues || {});
|
|
34
|
+
this.dossierParameterService.setSearchParameters(searchFieldValues);
|
|
35
|
+
this.dossierListService.checkRefresh();
|
|
36
|
+
}
|
|
37
|
+
mapSearchValuesToFilters(values) {
|
|
38
|
+
const filters = [];
|
|
39
|
+
Object.keys(values).forEach(valueKey => {
|
|
40
|
+
const searchValue = values[valueKey];
|
|
41
|
+
if (searchValue.start) {
|
|
42
|
+
filters.push({ key: valueKey, rangeFrom: searchValue.start, rangeTo: searchValue.end });
|
|
43
|
+
}
|
|
44
|
+
else if (Array.isArray(searchValue)) {
|
|
45
|
+
filters.push({ key: valueKey, values: searchValue });
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
filters.push({ key: valueKey, values: [searchValue] });
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return filters;
|
|
52
|
+
}
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListSearchService, deps: [{ token: i1.DossierListService }, { token: i2.DocumentService }, { token: i3.DossierParameterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
54
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListSearchService }); }
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListSearchService, decorators: [{
|
|
57
|
+
type: Injectable
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.DossierListService }, { type: i2.DocumentService }, { type: i3.DossierParameterService }]; } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1saXN0LXNlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyL3NyYy9saWIvc2VydmljZXMvZG9zc2llci1saXN0LXNlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQWEsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7OztBQU8zQyxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxZQUNtQixrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsdUJBQWdEO1FBRmhELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFkbEQsMkJBQXNCLEdBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQ2xELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsQ0FDckUsQ0FDRixDQUFDO0lBVUQsQ0FBQztJQUVKLE1BQU0sQ0FBQyxpQkFBb0M7UUFDekMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsTUFBeUI7UUFDaEQsTUFBTSxPQUFPLEdBQTRDLEVBQUUsQ0FBQztRQUU1RCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFRLENBQUM7WUFDNUMsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFO2dCQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7YUFDdkY7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQzthQUNwRDtpQkFBTTtnQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDLENBQUM7YUFDdEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBdkNVLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2VhcmNoRmllbGQsIFNlYXJjaEZpZWxkVmFsdWVzLCBTZWFyY2hGaWx0ZXIsIFNlYXJjaEZpbHRlclJhbmdlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtEb3NzaWVyTGlzdFNlcnZpY2V9IGZyb20gJy4vZG9zc2llci1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7RG9zc2llclBhcmFtZXRlclNlcnZpY2V9IGZyb20gJy4vZG9zc2llci1wYXJhbWV0ZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTGlzdFNlYXJjaFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudFNlYXJjaEZpZWxkcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VhcmNoRmllbGQ+IHwgbnVsbD4gPVxuICAgIHRoaXMuZG9zc2llckxpc3RTZXJ2aWNlLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9PlxuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXREb2N1bWVudFNlYXJjaEZpZWxkcyhkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgKVxuICAgICk7XG5cbiAgZ2V0IGRvY3VtZW50U2VhcmNoRmllbGRzJCgpOiBPYnNlcnZhYmxlPEFycmF5PFNlYXJjaEZpZWxkPiB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnRTZWFyY2hGaWVsZHMkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3NzaWVyTGlzdFNlcnZpY2U6IERvc3NpZXJMaXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9zc2llclBhcmFtZXRlclNlcnZpY2U6IERvc3NpZXJQYXJhbWV0ZXJTZXJ2aWNlXG4gICkge31cblxuICBzZWFyY2goc2VhcmNoRmllbGRWYWx1ZXM6IFNlYXJjaEZpZWxkVmFsdWVzKTogdm9pZCB7XG4gICAgdGhpcy5kb3NzaWVyUGFyYW1ldGVyU2VydmljZS5zZXRTZWFyY2hGaWVsZFZhbHVlcyhzZWFyY2hGaWVsZFZhbHVlcyB8fCB7fSk7XG4gICAgdGhpcy5kb3NzaWVyUGFyYW1ldGVyU2VydmljZS5zZXRTZWFyY2hQYXJhbWV0ZXJzKHNlYXJjaEZpZWxkVmFsdWVzKTtcbiAgICB0aGlzLmRvc3NpZXJMaXN0U2VydmljZS5jaGVja1JlZnJlc2goKTtcbiAgfVxuXG4gIG1hcFNlYXJjaFZhbHVlc1RvRmlsdGVycyh2YWx1ZXM6IFNlYXJjaEZpZWxkVmFsdWVzKTogQXJyYXk8U2VhcmNoRmlsdGVyIHwgU2VhcmNoRmlsdGVyUmFuZ2U+IHtcbiAgICBjb25zdCBmaWx0ZXJzOiBBcnJheTxTZWFyY2hGaWx0ZXIgfCBTZWFyY2hGaWx0ZXJSYW5nZT4gPSBbXTtcblxuICAgIE9iamVjdC5rZXlzKHZhbHVlcykuZm9yRWFjaCh2YWx1ZUtleSA9PiB7XG4gICAgICBjb25zdCBzZWFyY2hWYWx1ZSA9IHZhbHVlc1t2YWx1ZUtleV0gYXMgYW55O1xuICAgICAgaWYgKHNlYXJjaFZhbHVlLnN0YXJ0KSB7XG4gICAgICAgIGZpbHRlcnMucHVzaCh7a2V5OiB2YWx1ZUtleSwgcmFuZ2VGcm9tOiBzZWFyY2hWYWx1ZS5zdGFydCwgcmFuZ2VUbzogc2VhcmNoVmFsdWUuZW5kfSk7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc2VhcmNoVmFsdWUpKSB7XG4gICAgICAgIGZpbHRlcnMucHVzaCh7a2V5OiB2YWx1ZUtleSwgdmFsdWVzOiBzZWFyY2hWYWx1ZX0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVycy5wdXNoKHtrZXk6IHZhbHVlS2V5LCB2YWx1ZXM6IFtzZWFyY2hWYWx1ZV19KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Injectable } from '@angular/core';
|
|
17
|
+
import { BehaviorSubject, map, take } from 'rxjs';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "../services";
|
|
20
|
+
export class DossierListService {
|
|
21
|
+
get documentDefinitionName$() {
|
|
22
|
+
return this._documentDefinitionName$.asObservable();
|
|
23
|
+
}
|
|
24
|
+
get hasEnvColumnConfig$() {
|
|
25
|
+
return this._hasEnvColumnConfig$;
|
|
26
|
+
}
|
|
27
|
+
get checkRefresh$() {
|
|
28
|
+
return this._checkRefresh$.asObservable();
|
|
29
|
+
}
|
|
30
|
+
get forceRefresh$() {
|
|
31
|
+
return this._forceRefresh$.asObservable();
|
|
32
|
+
}
|
|
33
|
+
constructor(dossierColumnService) {
|
|
34
|
+
this.dossierColumnService = dossierColumnService;
|
|
35
|
+
this._documentDefinitionName$ = new BehaviorSubject('');
|
|
36
|
+
this._hasEnvColumnConfig$ = this.documentDefinitionName$.pipe(map(documentDefinitionName => this.dossierColumnService.hasEnvironmentConfig(documentDefinitionName)));
|
|
37
|
+
this._checkRefresh$ = new BehaviorSubject(false);
|
|
38
|
+
this._forceRefresh$ = new BehaviorSubject(false);
|
|
39
|
+
}
|
|
40
|
+
setDocumentDefinitionName(documentDefinitionName) {
|
|
41
|
+
this._documentDefinitionName$.next(documentDefinitionName);
|
|
42
|
+
}
|
|
43
|
+
mapDocuments(documents, hasEnvColumnConfig, hasApiColumnConfig) {
|
|
44
|
+
if (hasEnvColumnConfig || !hasApiColumnConfig) {
|
|
45
|
+
return documents.content.map(document => {
|
|
46
|
+
const { content, ...others } = document;
|
|
47
|
+
return { ...content, ...others };
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return documents.content.reduce((acc, curr) => {
|
|
51
|
+
const propsObject = { id: curr.id };
|
|
52
|
+
curr.items?.forEach(item => {
|
|
53
|
+
propsObject[item.key] = item.value;
|
|
54
|
+
});
|
|
55
|
+
return [...acc, propsObject];
|
|
56
|
+
}, []);
|
|
57
|
+
}
|
|
58
|
+
forceRefresh() {
|
|
59
|
+
this._forceRefresh$.pipe(take(1)).subscribe(forceRefresh => {
|
|
60
|
+
this._forceRefresh$.next(!forceRefresh);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
checkRefresh() {
|
|
64
|
+
this._checkRefresh$.pipe(take(1)).subscribe(checkRefresh => {
|
|
65
|
+
this._checkRefresh$.next(!checkRefresh);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListService, deps: [{ token: i1.DossierColumnService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
69
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListService }); }
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DossierListService, decorators: [{
|
|
72
|
+
type: Injectable
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i1.DossierColumnService }]; } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXIvc3JjL2xpYi9zZXJ2aWNlcy9kb3NzaWVyLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxHQUFHLEVBQWMsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFLNUQsTUFBTSxPQUFPLGtCQUFrQjtJQVk3QixJQUFXLHVCQUF1QjtRQUNoQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUE2QixvQkFBMEM7UUFBMUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQTNCdEQsNkJBQXdCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFM0QseUJBQW9CLEdBQXdCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQzVGLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUN2RSxDQUNGLENBQUM7UUFFZSxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3JELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFrQkksQ0FBQztJQUVwRSx5QkFBeUIsQ0FBQyxzQkFBOEI7UUFDN0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxZQUFZLENBQ2pCLFNBQXlDLEVBQ3pDLGtCQUEyQixFQUMzQixrQkFBMkI7UUFFM0IsSUFBSSxrQkFBa0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzdDLE9BQVEsU0FBdUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNyRCxNQUFNLEVBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFDLEdBQUcsUUFBUSxDQUFDO2dCQUN0QyxPQUFPLEVBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxNQUFNLEVBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBUSxTQUFnQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDcEUsTUFBTSxXQUFXLEdBQUcsRUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN6QixXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBakVVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHRha2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEb3NzaWVyQ29sdW1uU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHtEb2N1bWVudHMsIFNwZWNpZmllZERvY3VtZW50c30gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG9zc2llckxpc3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc0VudkNvbHVtbkNvbmZpZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgbWFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgIHRoaXMuZG9zc2llckNvbHVtblNlcnZpY2UuaGFzRW52aXJvbm1lbnRDb25maWcoZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2hlY2tSZWZyZXNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mb3JjZVJlZnJlc2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIGdldCBkb2N1bWVudERlZmluaXRpb25OYW1lJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzRW52Q29sdW1uQ29uZmlnJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5faGFzRW52Q29sdW1uQ29uZmlnJDtcbiAgfVxuXG4gIGdldCBjaGVja1JlZnJlc2gkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9jaGVja1JlZnJlc2gkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGZvcmNlUmVmcmVzaCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvcmNlUmVmcmVzaCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRvc3NpZXJDb2x1bW5TZXJ2aWNlOiBEb3NzaWVyQ29sdW1uU2VydmljZSkge31cblxuICBwdWJsaWMgc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZShkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lJC5uZXh0KGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpO1xuICB9XG5cbiAgcHVibGljIG1hcERvY3VtZW50cyhcbiAgICBkb2N1bWVudHM6IERvY3VtZW50cyB8IFNwZWNpZmllZERvY3VtZW50cyxcbiAgICBoYXNFbnZDb2x1bW5Db25maWc6IGJvb2xlYW4sXG4gICAgaGFzQXBpQ29sdW1uQ29uZmlnOiBib29sZWFuXG4gICkge1xuICAgIGlmIChoYXNFbnZDb2x1bW5Db25maWcgfHwgIWhhc0FwaUNvbHVtbkNvbmZpZykge1xuICAgICAgcmV0dXJuIChkb2N1bWVudHMgYXMgRG9jdW1lbnRzKS5jb250ZW50Lm1hcChkb2N1bWVudCA9PiB7XG4gICAgICAgIGNvbnN0IHtjb250ZW50LCAuLi5vdGhlcnN9ID0gZG9jdW1lbnQ7XG4gICAgICAgIHJldHVybiB7Li4uY29udGVudCwgLi4ub3RoZXJzfTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiAoZG9jdW1lbnRzIGFzIFNwZWNpZmllZERvY3VtZW50cykuY29udGVudC5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xuICAgICAgY29uc3QgcHJvcHNPYmplY3QgPSB7aWQ6IGN1cnIuaWR9O1xuICAgICAgY3Vyci5pdGVtcz8uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgcHJvcHNPYmplY3RbaXRlbS5rZXldID0gaXRlbS52YWx1ZTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIFsuLi5hY2MsIHByb3BzT2JqZWN0XTtcbiAgICB9LCBbXSk7XG4gIH1cblxuICBwdWJsaWMgZm9yY2VSZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvcmNlUmVmcmVzaCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoZm9yY2VSZWZyZXNoID0+IHtcbiAgICAgIHRoaXMuX2ZvcmNlUmVmcmVzaCQubmV4dCghZm9yY2VSZWZyZXNoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1JlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tSZWZyZXNoJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjaGVja1JlZnJlc2ggPT4ge1xuICAgICAgdGhpcy5fY2hlY2tSZWZyZXNoJC5uZXh0KCFjaGVja1JlZnJlc2gpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|