@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.
Files changed (148) hide show
  1. package/{esm2020 → esm2022}/lib/components/note-modal/note-modal.component.mjs +5 -5
  2. package/esm2022/lib/dossier-assign-user/dossier-assign-user.component.mjs +98 -0
  3. package/esm2022/lib/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.mjs +75 -0
  4. package/esm2022/lib/dossier-detail/dossier-detail.component.mjs +175 -0
  5. package/{esm2020 → esm2022}/lib/dossier-detail/tab/audit/audit.component.mjs +5 -5
  6. package/{esm2020 → esm2022}/lib/dossier-detail/tab/contact-moments/contact-moments.component.mjs +4 -4
  7. package/esm2022/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +146 -0
  8. package/{esm2020 → esm2022}/lib/dossier-detail/tab/documents/documents.component.mjs +4 -4
  9. package/esm2022/lib/dossier-detail/tab/notes/notes.component.mjs +166 -0
  10. package/esm2022/lib/dossier-detail/tab/object-type/object-type.component.mjs +121 -0
  11. package/esm2022/lib/dossier-detail/tab/progress/progress.component.mjs +52 -0
  12. package/esm2022/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +136 -0
  13. package/esm2022/lib/dossier-detail/tab/summary/summary.component.mjs +130 -0
  14. package/esm2022/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +112 -0
  15. package/esm2022/lib/dossier-list/dossier-list.component.mjs +371 -0
  16. package/esm2022/lib/dossier-list-actions/dossier-list-actions.component.mjs +84 -0
  17. package/esm2022/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +133 -0
  18. package/{esm2020 → esm2022}/lib/dossier-routing.module.mjs +5 -5
  19. package/esm2022/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +116 -0
  20. package/{esm2020 → esm2022}/lib/dossier-update/dossier-update.component.mjs +5 -5
  21. package/esm2022/lib/dossier.module.mjs +282 -0
  22. package/esm2022/lib/dossier.service.mjs +58 -0
  23. package/esm2022/lib/models/candidate-user.model.mjs +17 -0
  24. package/{esm2020 → esm2022}/lib/models/dossier-parameters.model.mjs +1 -1
  25. package/esm2022/lib/models/index.mjs +21 -0
  26. package/esm2022/lib/permissions/dossier.permissions.mjs +55 -0
  27. package/esm2022/lib/permissions/index.mjs +17 -0
  28. package/esm2022/lib/services/dossier-bulk-assign.service.mjs +35 -0
  29. package/esm2022/lib/services/dossier-column.service.mjs +98 -0
  30. package/esm2022/lib/services/dossier-list-assignee.service.mjs +89 -0
  31. package/esm2022/lib/services/dossier-list-pagination.service.mjs +119 -0
  32. package/esm2022/lib/services/dossier-list-search.service.mjs +59 -0
  33. package/esm2022/lib/services/dossier-list.service.mjs +74 -0
  34. package/esm2022/lib/services/dossier-parameter.service.mjs +165 -0
  35. package/{esm2020 → esm2022}/lib/services/file-sort.service.mjs +4 -4
  36. package/esm2022/lib/services/index.mjs +25 -0
  37. package/esm2022/lib/services/notes.service.mjs +76 -0
  38. package/{esm2020 → esm2022}/lib/services/zaakobjecten.service.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/tab.service.mjs +4 -4
  40. package/esm2022/public_api.mjs +36 -0
  41. package/fesm2022/valtimo-dossier.mjs +3681 -0
  42. package/fesm2022/valtimo-dossier.mjs.map +1 -0
  43. package/lib/components/note-modal/note-modal.component.d.ts +3 -3
  44. package/lib/components/note-modal/note-modal.component.d.ts.map +1 -1
  45. package/lib/dossier-assign-user/dossier-assign-user.component.d.ts +12 -18
  46. package/lib/dossier-assign-user/dossier-assign-user.component.d.ts.map +1 -1
  47. package/lib/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.d.ts +22 -0
  48. package/lib/dossier-bulk-assign-modal/dossier-bulk-assign-modal.component.d.ts.map +1 -0
  49. package/lib/dossier-detail/dossier-detail.component.d.ts +34 -31
  50. package/lib/dossier-detail/dossier-detail.component.d.ts.map +1 -1
  51. package/lib/dossier-detail/tab/audit/audit.component.d.ts +1 -1
  52. package/lib/dossier-detail/tab/contact-moments/contact-moments.component.d.ts +1 -1
  53. package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts +2 -3
  54. package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -1
  55. package/lib/dossier-detail/tab/documents/documents.component.d.ts +1 -1
  56. package/lib/dossier-detail/tab/notes/notes.component.d.ts +19 -12
  57. package/lib/dossier-detail/tab/notes/notes.component.d.ts.map +1 -1
  58. package/lib/dossier-detail/tab/object-type/object-type.component.d.ts +3 -3
  59. package/lib/dossier-detail/tab/object-type/object-type.component.d.ts.map +1 -1
  60. package/lib/dossier-detail/tab/progress/progress.component.d.ts +1 -1
  61. package/lib/dossier-detail/tab/progress/progress.component.d.ts.map +1 -1
  62. package/lib/dossier-detail/tab/s3-documents/s3-documents.component.d.ts +2 -2
  63. package/lib/dossier-detail/tab/s3-documents/s3-documents.component.d.ts.map +1 -1
  64. package/lib/dossier-detail/tab/summary/summary.component.d.ts +8 -4
  65. package/lib/dossier-detail/tab/summary/summary.component.d.ts.map +1 -1
  66. package/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts +3 -3
  67. package/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.d.ts.map +1 -1
  68. package/lib/dossier-list/dossier-list.component.d.ts +52 -24
  69. package/lib/dossier-list/dossier-list.component.d.ts.map +1 -1
  70. package/lib/dossier-list-actions/dossier-list-actions.component.d.ts +5 -6
  71. package/lib/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -1
  72. package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +4 -7
  73. package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -1
  74. package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts +4 -7
  75. package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +1 -1
  76. package/lib/dossier-update/dossier-update.component.d.ts +1 -1
  77. package/lib/dossier.module.d.ts +31 -31
  78. package/lib/dossier.module.d.ts.map +1 -1
  79. package/lib/dossier.service.d.ts +5 -1
  80. package/lib/dossier.service.d.ts.map +1 -1
  81. package/lib/models/candidate-user.model.d.ts +7 -0
  82. package/lib/models/candidate-user.model.d.ts.map +1 -0
  83. package/lib/models/dossier-parameters.model.d.ts +0 -1
  84. package/lib/models/dossier-parameters.model.d.ts.map +1 -1
  85. package/lib/models/index.d.ts +3 -2
  86. package/lib/models/index.d.ts.map +1 -1
  87. package/lib/models/search.model.d.ts +3 -3
  88. package/lib/models/search.model.d.ts.map +1 -1
  89. package/lib/permissions/dossier.permissions.d.ts +14 -0
  90. package/lib/permissions/dossier.permissions.d.ts.map +1 -0
  91. package/lib/permissions/index.d.ts +2 -0
  92. package/lib/permissions/index.d.ts.map +1 -0
  93. package/lib/services/dossier-bulk-assign.service.d.ts +17 -0
  94. package/lib/services/dossier-bulk-assign.service.d.ts.map +1 -0
  95. package/lib/services/dossier-column.service.d.ts +1 -1
  96. package/lib/services/dossier-column.service.d.ts.map +1 -1
  97. package/lib/services/dossier-list-assignee.service.d.ts +5 -4
  98. package/lib/services/dossier-list-assignee.service.d.ts.map +1 -1
  99. package/lib/services/dossier-list-pagination.service.d.ts +1 -1
  100. package/lib/services/dossier-list-pagination.service.d.ts.map +1 -1
  101. package/lib/services/dossier-list-search.service.d.ts +0 -3
  102. package/lib/services/dossier-list-search.service.d.ts.map +1 -1
  103. package/lib/services/dossier-list.service.d.ts +6 -0
  104. package/lib/services/dossier-list.service.d.ts.map +1 -1
  105. package/lib/services/dossier-parameter.service.d.ts.map +1 -1
  106. package/lib/services/index.d.ts +1 -0
  107. package/lib/services/index.d.ts.map +1 -1
  108. package/lib/services/notes.service.d.ts.map +1 -1
  109. package/lib/services/zaakobjecten.service.d.ts.map +1 -1
  110. package/package.json +13 -19
  111. package/public_api.d.ts +10 -9
  112. package/public_api.d.ts.map +1 -1
  113. package/esm2020/lib/dossier-assign-user/dossier-assign-user.component.mjs +0 -126
  114. package/esm2020/lib/dossier-detail/dossier-detail.component.mjs +0 -175
  115. package/esm2020/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +0 -147
  116. package/esm2020/lib/dossier-detail/tab/notes/notes.component.mjs +0 -153
  117. package/esm2020/lib/dossier-detail/tab/object-type/object-type.component.mjs +0 -122
  118. package/esm2020/lib/dossier-detail/tab/progress/progress.component.mjs +0 -51
  119. package/esm2020/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +0 -134
  120. package/esm2020/lib/dossier-detail/tab/summary/summary.component.mjs +0 -124
  121. package/esm2020/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +0 -113
  122. package/esm2020/lib/dossier-list/dossier-list.component.mjs +0 -224
  123. package/esm2020/lib/dossier-list-actions/dossier-list-actions.component.mjs +0 -86
  124. package/esm2020/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +0 -192
  125. package/esm2020/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +0 -181
  126. package/esm2020/lib/dossier.module.mjs +0 -259
  127. package/esm2020/lib/dossier.service.mjs +0 -50
  128. package/esm2020/lib/models/index.mjs +0 -20
  129. package/esm2020/lib/services/dossier-column.service.mjs +0 -100
  130. package/esm2020/lib/services/dossier-list-assignee.service.mjs +0 -82
  131. package/esm2020/lib/services/dossier-list-pagination.service.mjs +0 -116
  132. package/esm2020/lib/services/dossier-list-search.service.mjs +0 -66
  133. package/esm2020/lib/services/dossier-list.service.mjs +0 -56
  134. package/esm2020/lib/services/dossier-parameter.service.mjs +0 -167
  135. package/esm2020/lib/services/index.mjs +0 -24
  136. package/esm2020/lib/services/notes.service.mjs +0 -76
  137. package/esm2020/public_api.mjs +0 -35
  138. package/fesm2015/valtimo-dossier.mjs +0 -3348
  139. package/fesm2015/valtimo-dossier.mjs.map +0 -1
  140. package/fesm2020/valtimo-dossier.mjs +0 -3447
  141. package/fesm2020/valtimo-dossier.mjs.map +0 -1
  142. /package/{esm2020 → esm2022}/lib/dossier-detail-tab-enum.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/dossier.config.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/models/notes.model.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/models/search.model.mjs +0 -0
  146. /package/{esm2020 → esm2022}/lib/models/tabs.model.mjs +0 -0
  147. /package/{esm2020 → esm2022}/lib/models/zaakobjecten.model.mjs +0 -0
  148. /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=