@valtimo/dossier 10.5.1 → 10.7.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/lib/components/note-modal/note-modal.component.mjs +30 -12
- package/esm2020/lib/dossier-assign-user/dossier-assign-user.component.mjs +8 -5
- package/esm2020/lib/dossier-detail/dossier-detail.component.mjs +19 -6
- package/esm2020/lib/dossier-detail/tab/audit/audit.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/contact-moments/contact-moments.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +18 -14
- package/esm2020/lib/dossier-detail/tab/documents/documents.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/notes/notes.component.mjs +63 -12
- package/esm2020/lib/dossier-detail/tab/object-type/object-type.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/progress/progress.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/s3-documents/s3-documents.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/summary/summary.component.mjs +4 -4
- package/esm2020/lib/dossier-detail/tab/zaakobjecten/zaakobjecten.component.mjs +4 -4
- package/esm2020/lib/dossier-list/dossier-list.component.mjs +165 -287
- package/esm2020/lib/dossier-list-actions/dossier-list-actions.component.mjs +86 -0
- package/esm2020/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +114 -46
- package/esm2020/lib/dossier-routing.module.mjs +12 -8
- package/esm2020/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +108 -51
- package/esm2020/lib/dossier-update/dossier-update.component.mjs +4 -4
- package/esm2020/lib/dossier.module.mjs +21 -8
- package/esm2020/lib/dossier.service.mjs +4 -4
- package/esm2020/lib/models/dossier-parameters.model.mjs +1 -1
- package/esm2020/lib/models/notes.model.mjs +1 -1
- package/esm2020/lib/services/dossier-column.service.mjs +25 -10
- package/esm2020/lib/services/dossier-list-assignee.service.mjs +82 -0
- package/esm2020/lib/services/dossier-list-pagination.service.mjs +116 -0
- package/esm2020/lib/services/dossier-list-search.service.mjs +66 -0
- package/esm2020/lib/services/dossier-list.service.mjs +56 -0
- package/esm2020/lib/services/dossier-parameter.service.mjs +74 -34
- package/esm2020/lib/services/file-sort.service.mjs +4 -4
- package/esm2020/lib/services/index.mjs +5 -1
- package/esm2020/lib/services/notes.service.mjs +10 -4
- package/esm2020/lib/services/zaakobjecten.service.mjs +4 -4
- package/esm2020/lib/tab.service.mjs +4 -4
- package/fesm2015/valtimo-dossier.mjs +1074 -529
- package/fesm2015/valtimo-dossier.mjs.map +1 -1
- package/fesm2020/valtimo-dossier.mjs +1083 -542
- package/fesm2020/valtimo-dossier.mjs.map +1 -1
- package/lib/components/note-modal/note-modal.component.d.ts +6 -2
- package/lib/components/note-modal/note-modal.component.d.ts.map +1 -1
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts +2 -1
- package/lib/dossier-assign-user/dossier-assign-user.component.d.ts.map +1 -1
- package/lib/dossier-detail/dossier-detail.component.d.ts +8 -3
- package/lib/dossier-detail/dossier-detail.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts +3 -6
- package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/notes/notes.component.d.ts +10 -1
- package/lib/dossier-detail/tab/notes/notes.component.d.ts.map +1 -1
- package/lib/dossier-detail/tab/summary/summary.component.d.ts +9 -9
- package/lib/dossier-detail/tab/summary/summary.component.d.ts.map +1 -1
- package/lib/dossier-list/dossier-list.component.d.ts +47 -56
- package/lib/dossier-list/dossier-list.component.d.ts.map +1 -1
- package/lib/dossier-list-actions/dossier-list-actions.component.d.ts +28 -0
- package/lib/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -0
- package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +14 -5
- package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -1
- package/lib/dossier-routing.module.d.ts.map +1 -1
- package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts +12 -5
- package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +1 -1
- package/lib/dossier.module.d.ts +31 -29
- package/lib/dossier.module.d.ts.map +1 -1
- package/lib/models/dossier-parameters.model.d.ts +1 -0
- package/lib/models/dossier-parameters.model.d.ts.map +1 -1
- package/lib/models/notes.model.d.ts +4 -1
- package/lib/models/notes.model.d.ts.map +1 -1
- package/lib/services/dossier-column.service.d.ts +5 -1
- package/lib/services/dossier-column.service.d.ts.map +1 -1
- package/lib/services/dossier-list-assignee.service.d.ts +27 -0
- package/lib/services/dossier-list-assignee.service.d.ts.map +1 -0
- package/lib/services/dossier-list-pagination.service.d.ts +30 -0
- package/lib/services/dossier-list-pagination.service.d.ts.map +1 -0
- package/lib/services/dossier-list-search.service.d.ts +22 -0
- package/lib/services/dossier-list-search.service.d.ts.map +1 -0
- package/lib/services/dossier-list.service.d.ts +17 -0
- package/lib/services/dossier-list.service.d.ts.map +1 -0
- package/lib/services/dossier-parameter.service.d.ts +9 -1
- package/lib/services/dossier-parameter.service.d.ts.map +1 -1
- package/lib/services/index.d.ts +4 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/notes.service.d.ts +3 -1
- package/lib/services/notes.service.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1,45 +1,47 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Component, ViewEncapsulation, ViewChild,
|
|
3
|
-
import { map, BehaviorSubject, distinctUntilChanged,
|
|
2
|
+
import { Injectable, EventEmitter, Component, ViewEncapsulation, ViewChild, Output, Input, InjectionToken, Inject, ViewContainerRef, NgModule, ANALYZE_FOR_ENTRY_COMPONENTS } from '@angular/core';
|
|
3
|
+
import { map, BehaviorSubject, distinctUntilChanged, take, combineLatest, switchMap, filter, tap, of, Subscription, Subject, noop, from, startWith } from 'rxjs';
|
|
4
4
|
import * as i1 from '@valtimo/config';
|
|
5
5
|
import { UploadProvider, ROLE_USER, ConfigModule, HttpLoaderFactory } from '@valtimo/config';
|
|
6
6
|
import * as i2 from '@valtimo/document';
|
|
7
7
|
import { AdvancedDocumentSearchRequestImpl } from '@valtimo/document';
|
|
8
|
+
import * as i6 from '@ngx-translate/core';
|
|
9
|
+
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
8
10
|
import * as i2$1 from '@angular/common/http';
|
|
9
11
|
import { HttpClient } from '@angular/common/http';
|
|
10
12
|
import * as i1$1 from '@angular/router';
|
|
11
13
|
import { NavigationEnd, RouterModule } from '@angular/router';
|
|
12
14
|
import { __rest } from 'tslib';
|
|
13
|
-
import
|
|
14
|
-
import * as i6$
|
|
15
|
-
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
16
|
-
import * as i5 from 'ngx-logger';
|
|
17
|
-
import * as i5$1 from '@angular/common';
|
|
18
|
-
import { CommonModule } from '@angular/common';
|
|
19
|
-
import * as i9 from '@valtimo/components';
|
|
15
|
+
import * as i1$2 from 'ngx-logger';
|
|
16
|
+
import * as i6$2 from '@valtimo/components';
|
|
20
17
|
import { FormioOptionsImpl, TimelineItemImpl, ListModule, WidgetModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, FormIoModule, ModalModule, SpinnerModule, UploaderModule, DropzoneModule, DocumentenApiMetadataModalModule, SearchableDropdownSelectModule, SearchFieldsModule } from '@valtimo/components';
|
|
21
|
-
import * as
|
|
18
|
+
import * as i5 from '@angular/common';
|
|
19
|
+
import { CommonModule } from '@angular/common';
|
|
20
|
+
import * as i8 from '@ng-bootstrap/ng-bootstrap';
|
|
22
21
|
import { NgbButtonsModule, NgbTooltipModule, NgbPaginationModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
22
|
+
import { take as take$1, switchMap as switchMap$1, map as map$1, tap as tap$1, catchError } from 'rxjs/operators';
|
|
23
23
|
import * as i2$2 from '@valtimo/process';
|
|
24
24
|
import { ProcessModule } from '@valtimo/process';
|
|
25
25
|
import * as i4 from '@valtimo/form-link';
|
|
26
|
-
import
|
|
26
|
+
import { FormLinkModule } from '@valtimo/form-link';
|
|
27
|
+
import * as i6$1 from '@valtimo/security';
|
|
27
28
|
import { AuthGuardService } from '@valtimo/security';
|
|
29
|
+
import moment from 'moment';
|
|
28
30
|
import * as i3 from '@valtimo/task';
|
|
29
31
|
import { TaskModule } from '@valtimo/task';
|
|
30
|
-
import * as i5$
|
|
32
|
+
import * as i5$1 from '@valtimo/form';
|
|
31
33
|
import { FormModule } from '@valtimo/form';
|
|
32
|
-
import * as i5$
|
|
34
|
+
import * as i5$2 from '@angular/forms';
|
|
33
35
|
import { FormsModule } from '@angular/forms';
|
|
34
36
|
import * as i3$1 from 'ngx-spinner';
|
|
35
|
-
import { switchMap as switchMap$1, map as map$1, tap as tap$1, catchError, take as take$1 } from 'rxjs/operators';
|
|
36
37
|
import * as i3$2 from 'ngx-toastr';
|
|
37
38
|
import * as i4$1 from '@valtimo/resource';
|
|
38
39
|
import * as i3$3 from '@valtimo/user-interface';
|
|
39
40
|
import { SelectModule, InputLabelModule, ParagraphModule, TableModule, ModalModule as ModalModule$1, TitleModule, ButtonModule, PageModule, InputModule, FormModule as FormModule$1 } from '@valtimo/user-interface';
|
|
40
|
-
import * as
|
|
41
|
-
import
|
|
42
|
-
import
|
|
41
|
+
import * as i12 from 'carbon-components-angular';
|
|
42
|
+
import { LoadingModule, ButtonModule as ButtonModule$1, IconModule } from 'carbon-components-angular';
|
|
43
|
+
import * as i8$1 from 'keycloak-angular';
|
|
44
|
+
import * as i1$3 from '@valtimo/contact-moment';
|
|
43
45
|
|
|
44
46
|
/*
|
|
45
47
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -185,9 +187,10 @@ class TabImpl {
|
|
|
185
187
|
* limitations under the License.
|
|
186
188
|
*/
|
|
187
189
|
class DossierColumnService {
|
|
188
|
-
constructor(configService, documentService) {
|
|
190
|
+
constructor(configService, documentService, translateService) {
|
|
189
191
|
this.configService = configService;
|
|
190
192
|
this.documentService = documentService;
|
|
193
|
+
this.translateService = translateService;
|
|
191
194
|
}
|
|
192
195
|
getDefinitionColumns(documentDefinitionName) {
|
|
193
196
|
const config = this.configService.config;
|
|
@@ -210,6 +213,14 @@ class DossierColumnService {
|
|
|
210
213
|
var _a;
|
|
211
214
|
return !!((_a = this.configService.config) === null || _a === void 0 ? void 0 : _a.customDefinitionTables[documentDefinitionName]);
|
|
212
215
|
}
|
|
216
|
+
mapDefinitionColumnsToListFields(columns, hasEnvConfig) {
|
|
217
|
+
return columns.map(column => {
|
|
218
|
+
const translationKey = `fieldLabels.${column.translationKey}`;
|
|
219
|
+
const translation = this.translateService.instant(translationKey);
|
|
220
|
+
const validTranslation = translation !== translationKey && translation;
|
|
221
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({ key: hasEnvConfig ? column.propertyName : column.translationKey, label: column.title || validTranslation || column.translationKey, sortable: column.sortable }, (column.viewType && { viewType: column.viewType })), (column.enum && { enum: column.enum })), (column.format && { format: column.format })), (column.default && { default: column.default }));
|
|
222
|
+
});
|
|
223
|
+
}
|
|
213
224
|
mapCaseListColumnsToDefinitionColumns(caseListColumns) {
|
|
214
225
|
return caseListColumns.map(caseListColumn => {
|
|
215
226
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -236,14 +247,11 @@ class DossierColumnService {
|
|
|
236
247
|
return caseListColumnPath.replace('doc:', '$.').replace('case:', '');
|
|
237
248
|
}
|
|
238
249
|
}
|
|
239
|
-
DossierColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
240
|
-
DossierColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
241
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
242
|
-
type: Injectable
|
|
243
|
-
|
|
244
|
-
providedIn: 'root',
|
|
245
|
-
}]
|
|
246
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }]; } });
|
|
250
|
+
DossierColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierColumnService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
251
|
+
DossierColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierColumnService });
|
|
252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierColumnService, decorators: [{
|
|
253
|
+
type: Injectable
|
|
254
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i6.TranslateService }]; } });
|
|
247
255
|
|
|
248
256
|
/*
|
|
249
257
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -276,9 +284,9 @@ class ZaakobjectenService {
|
|
|
276
284
|
return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/zaak/object/form?objectUrl=${objectUrl}`);
|
|
277
285
|
}
|
|
278
286
|
}
|
|
279
|
-
ZaakobjectenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
280
|
-
ZaakobjectenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
281
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
287
|
+
ZaakobjectenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ZaakobjectenService, deps: [{ token: i1.ConfigService }, { token: i2$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
288
|
+
ZaakobjectenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ZaakobjectenService, providedIn: 'root' });
|
|
289
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ZaakobjectenService, decorators: [{
|
|
282
290
|
type: Injectable,
|
|
283
291
|
args: [{
|
|
284
292
|
providedIn: 'root',
|
|
@@ -305,11 +313,15 @@ class DossierParameterService {
|
|
|
305
313
|
this.router = router;
|
|
306
314
|
this.route = route;
|
|
307
315
|
this._dossierParameters$ = new BehaviorSubject(undefined);
|
|
308
|
-
this.
|
|
316
|
+
this._searchFieldValues$ = new BehaviorSubject({});
|
|
317
|
+
this.setDossierParameters();
|
|
309
318
|
}
|
|
310
319
|
get dossierParameters$() {
|
|
311
320
|
return this._dossierParameters$.asObservable();
|
|
312
321
|
}
|
|
322
|
+
get searchFieldValues$() {
|
|
323
|
+
return this._searchFieldValues$.asObservable();
|
|
324
|
+
}
|
|
313
325
|
get querySearchParams$() {
|
|
314
326
|
return this.route.queryParams.pipe(map(params => {
|
|
315
327
|
if (params.search) {
|
|
@@ -319,24 +331,39 @@ class DossierParameterService {
|
|
|
319
331
|
}), distinctUntilChanged((prevParams, currParams) => JSON.stringify(prevParams) === JSON.stringify(currParams)));
|
|
320
332
|
}
|
|
321
333
|
get queryPaginationParams$() {
|
|
322
|
-
return this.route.queryParams.pipe(
|
|
334
|
+
return this.route.queryParams.pipe(map(params => {
|
|
323
335
|
const paramsCopy = Object.assign({}, params);
|
|
324
336
|
if (paramsCopy.search) {
|
|
325
337
|
delete paramsCopy.search;
|
|
326
338
|
}
|
|
327
|
-
return
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
339
|
+
return paramsCopy.collectionSize
|
|
340
|
+
? Object.assign({ collectionSize: Number(paramsCopy.collectionSize), page: Number(paramsCopy.page), size: Number(paramsCopy.size), maxPaginationItemSize: Number(paramsCopy.maxPaginationItemSize) }, (paramsCopy.isSorting === 'true' && {
|
|
341
|
+
sort: {
|
|
342
|
+
isSorting: !!(paramsCopy.isSorting === 'true'),
|
|
343
|
+
state: {
|
|
344
|
+
name: paramsCopy.sortStateName,
|
|
345
|
+
direction: paramsCopy.sortStateDirection,
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
})) : null;
|
|
349
|
+
}), distinctUntilChanged((prevParams, currParams) => JSON.stringify(prevParams) === JSON.stringify(currParams)));
|
|
350
|
+
}
|
|
351
|
+
get queryAssigneeParam$() {
|
|
352
|
+
return this.route.queryParams.pipe(map(params => {
|
|
353
|
+
var _a;
|
|
354
|
+
if (params === null || params === void 0 ? void 0 : params.assignee) {
|
|
355
|
+
return (_a = params === null || params === void 0 ? void 0 : params.assignee) === null || _a === void 0 ? void 0 : _a.toUpperCase();
|
|
356
|
+
}
|
|
357
|
+
return '';
|
|
358
|
+
}), distinctUntilChanged((prevParams, currParams) => prevParams === currParams));
|
|
335
359
|
}
|
|
336
360
|
ngOnDestroy() {
|
|
337
361
|
var _a;
|
|
338
362
|
(_a = this.dossierParametersSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
339
363
|
}
|
|
364
|
+
setSearchFieldValues(searchFieldValues) {
|
|
365
|
+
this._searchFieldValues$.next(searchFieldValues);
|
|
366
|
+
}
|
|
340
367
|
setSearchParameters(searchParameters) {
|
|
341
368
|
this._dossierParameters$.pipe(take(1)).subscribe(dossierParameters => {
|
|
342
369
|
if (Object.keys(searchParameters || {}).length > 0) {
|
|
@@ -360,20 +387,21 @@ class DossierParameterService {
|
|
|
360
387
|
});
|
|
361
388
|
}
|
|
362
389
|
}
|
|
390
|
+
setAssigneeParameter(assigneeFilter) {
|
|
391
|
+
this._dossierParameters$.pipe(take(1)).subscribe(dossierParameters => {
|
|
392
|
+
this._dossierParameters$.next(Object.assign(Object.assign({}, dossierParameters), { assignee: assigneeFilter.toLowerCase() }));
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
clearSearchFieldValues() {
|
|
396
|
+
this._searchFieldValues$.next({});
|
|
397
|
+
}
|
|
398
|
+
clearParameters() {
|
|
399
|
+
this._dossierParameters$.next(undefined);
|
|
400
|
+
this.router.navigate([this.getUrlWithoutParams()]);
|
|
401
|
+
}
|
|
363
402
|
openDossierParametersSubscription() {
|
|
364
|
-
this.dossierParametersSubscription =
|
|
365
|
-
this.
|
|
366
|
-
this.route.queryParams,
|
|
367
|
-
]).subscribe(([dossierParams, queryParams]) => {
|
|
368
|
-
let paramsToUse = {};
|
|
369
|
-
if (Object.keys(queryParams || {}).length > 0 &&
|
|
370
|
-
Object.keys(dossierParams || {}).length === 0) {
|
|
371
|
-
paramsToUse = queryParams;
|
|
372
|
-
}
|
|
373
|
-
else {
|
|
374
|
-
paramsToUse = dossierParams;
|
|
375
|
-
}
|
|
376
|
-
this.router.navigate([this.getUrlWithoutParams()], { queryParams: paramsToUse });
|
|
403
|
+
this.dossierParametersSubscription = this.dossierParameters$.subscribe(dossierParams => {
|
|
404
|
+
this.router.navigate([this.getUrlWithoutParams()], { queryParams: dossierParams });
|
|
377
405
|
});
|
|
378
406
|
}
|
|
379
407
|
objectToBase64(jsObject) {
|
|
@@ -385,10 +413,27 @@ class DossierParameterService {
|
|
|
385
413
|
urlTree.fragment = null;
|
|
386
414
|
return urlTree.toString();
|
|
387
415
|
}
|
|
416
|
+
setDossierParameters() {
|
|
417
|
+
combineLatest([this.queryPaginationParams$, this.querySearchParams$, this.queryAssigneeParam$])
|
|
418
|
+
.pipe(take(1))
|
|
419
|
+
.subscribe(([paginationParams, searchParams, assigneeParams]) => {
|
|
420
|
+
if (paginationParams) {
|
|
421
|
+
this.setPaginationParameters(paginationParams);
|
|
422
|
+
}
|
|
423
|
+
if (searchParams) {
|
|
424
|
+
this.setSearchParameters(searchParams);
|
|
425
|
+
this.setSearchFieldValues(searchParams);
|
|
426
|
+
}
|
|
427
|
+
if (assigneeParams) {
|
|
428
|
+
this.setAssigneeParameter(assigneeParams);
|
|
429
|
+
}
|
|
430
|
+
this.openDossierParametersSubscription();
|
|
431
|
+
});
|
|
432
|
+
}
|
|
388
433
|
}
|
|
389
|
-
DossierParameterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
390
|
-
DossierParameterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
434
|
+
DossierParameterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierParameterService, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
435
|
+
DossierParameterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierParameterService });
|
|
436
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierParameterService, decorators: [{
|
|
392
437
|
type: Injectable
|
|
393
438
|
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }]; } });
|
|
394
439
|
|
|
@@ -420,30 +465,52 @@ class FileSortService {
|
|
|
420
465
|
return relatedFiles;
|
|
421
466
|
}
|
|
422
467
|
}
|
|
423
|
-
FileSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
424
|
-
FileSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
425
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
468
|
+
FileSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileSortService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
469
|
+
FileSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileSortService, providedIn: 'root' });
|
|
470
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileSortService, decorators: [{
|
|
426
471
|
type: Injectable,
|
|
427
472
|
args: [{
|
|
428
473
|
providedIn: 'root',
|
|
429
474
|
}]
|
|
430
475
|
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
431
476
|
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
477
|
+
class DossierListService {
|
|
478
|
+
constructor(dossierColumnService) {
|
|
479
|
+
this.dossierColumnService = dossierColumnService;
|
|
480
|
+
this._documentDefinitionName$ = new BehaviorSubject('');
|
|
481
|
+
this._hasEnvColumnConfig$ = this.documentDefinitionName$.pipe(map(documentDefinitionName => this.dossierColumnService.hasEnvironmentConfig(documentDefinitionName)));
|
|
482
|
+
}
|
|
483
|
+
get documentDefinitionName$() {
|
|
484
|
+
return this._documentDefinitionName$.asObservable();
|
|
485
|
+
}
|
|
486
|
+
get hasEnvColumnConfig$() {
|
|
487
|
+
return this._hasEnvColumnConfig$;
|
|
488
|
+
}
|
|
489
|
+
setDocumentDefinitionName(documentDefinitionName) {
|
|
490
|
+
this._documentDefinitionName$.next(documentDefinitionName);
|
|
491
|
+
}
|
|
492
|
+
mapDocuments(documents, hasEnvColumnConfig, hasApiColumnConfig) {
|
|
493
|
+
if (hasEnvColumnConfig || !hasApiColumnConfig) {
|
|
494
|
+
return documents.content.map(document => {
|
|
495
|
+
const { content } = document, others = __rest(document, ["content"]);
|
|
496
|
+
return Object.assign(Object.assign({}, content), others);
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
return documents.content.reduce((acc, curr) => {
|
|
500
|
+
var _a;
|
|
501
|
+
const propsObject = { id: curr.id };
|
|
502
|
+
(_a = curr.items) === null || _a === void 0 ? void 0 : _a.forEach(item => {
|
|
503
|
+
propsObject[item.key] = item.value;
|
|
504
|
+
});
|
|
505
|
+
return [...acc, propsObject];
|
|
506
|
+
}, []);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
DossierListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListService, deps: [{ token: DossierColumnService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
510
|
+
DossierListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListService });
|
|
511
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListService, decorators: [{
|
|
512
|
+
type: Injectable
|
|
513
|
+
}], ctorParameters: function () { return [{ type: DossierColumnService }]; } });
|
|
447
514
|
|
|
448
515
|
/*
|
|
449
516
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -460,16 +527,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
460
527
|
* See the License for the specific language governing permissions and
|
|
461
528
|
* limitations under the License.
|
|
462
529
|
*/
|
|
463
|
-
|
|
464
|
-
(
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
530
|
+
class DossierListAssigneeService {
|
|
531
|
+
constructor(dossierListService, documentService, translateService, dossierParameterService) {
|
|
532
|
+
this.dossierListService = dossierListService;
|
|
533
|
+
this.documentService = documentService;
|
|
534
|
+
this.translateService = translateService;
|
|
535
|
+
this.dossierParameterService = dossierParameterService;
|
|
536
|
+
this.ASSIGNEE_KEY = 'assigneeFullName';
|
|
537
|
+
this.defaultAssigneeFilter = 'ALL';
|
|
538
|
+
this.canHaveAssignee$ = this.dossierListService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), map(caseSettings => caseSettings === null || caseSettings === void 0 ? void 0 : caseSettings.canHaveAssignee));
|
|
539
|
+
this._assigneeFilter$ = new BehaviorSubject(this.defaultAssigneeFilter);
|
|
540
|
+
}
|
|
541
|
+
get assigneeFilter$() {
|
|
542
|
+
return this._assigneeFilter$.asObservable();
|
|
543
|
+
}
|
|
544
|
+
resetAssigneeFilter() {
|
|
545
|
+
this.dossierParameterService.queryAssigneeParam$.pipe(take(1)).subscribe(assigneeParam => {
|
|
546
|
+
if (assigneeParam) {
|
|
547
|
+
this._assigneeFilter$.next(assigneeParam);
|
|
548
|
+
this.dossierParameterService.setAssigneeParameter(assigneeParam);
|
|
549
|
+
}
|
|
550
|
+
else {
|
|
551
|
+
this._assigneeFilter$.next(this.defaultAssigneeFilter);
|
|
552
|
+
this.dossierParameterService.setAssigneeParameter(this.defaultAssigneeFilter);
|
|
553
|
+
}
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
setAssigneeFilter(assigneeFilter) {
|
|
557
|
+
this._assigneeFilter$.next(assigneeFilter);
|
|
558
|
+
this.dossierParameterService.setAssigneeParameter(assigneeFilter);
|
|
559
|
+
}
|
|
560
|
+
filterAssigneeColumns(columns, canHaveAssignee) {
|
|
561
|
+
return columns.filter(column => {
|
|
562
|
+
if ((column === null || column === void 0 ? void 0 : column.key) === this.ASSIGNEE_KEY && !canHaveAssignee) {
|
|
563
|
+
return false;
|
|
564
|
+
}
|
|
565
|
+
return true;
|
|
566
|
+
});
|
|
567
|
+
}
|
|
568
|
+
addAssigneeListField(columns, listFields, canHaveAssignee) {
|
|
569
|
+
return [
|
|
570
|
+
...listFields,
|
|
571
|
+
...(canHaveAssignee && !columns.find(column => column.propertyName === this.ASSIGNEE_KEY)
|
|
572
|
+
? [
|
|
573
|
+
{
|
|
574
|
+
key: this.ASSIGNEE_KEY,
|
|
575
|
+
label: this.translateService.instant(`fieldLabels.${this.ASSIGNEE_KEY}`),
|
|
576
|
+
sortable: true,
|
|
577
|
+
viewType: 'string',
|
|
578
|
+
},
|
|
579
|
+
]
|
|
580
|
+
: []),
|
|
581
|
+
];
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
DossierListAssigneeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListAssigneeService, deps: [{ token: DossierListService }, { token: i2.DocumentService }, { token: i6.TranslateService }, { token: DossierParameterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
585
|
+
DossierListAssigneeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListAssigneeService });
|
|
586
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListAssigneeService, decorators: [{
|
|
587
|
+
type: Injectable
|
|
588
|
+
}], ctorParameters: function () { return [{ type: DossierListService }, { type: i2.DocumentService }, { type: i6.TranslateService }, { type: DossierParameterService }]; } });
|
|
473
589
|
|
|
474
590
|
/*
|
|
475
591
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -509,15 +625,224 @@ class DossierService {
|
|
|
509
625
|
};
|
|
510
626
|
}
|
|
511
627
|
}
|
|
512
|
-
DossierService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
513
|
-
DossierService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
514
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
628
|
+
DossierService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
629
|
+
DossierService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierService, providedIn: 'root' });
|
|
630
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierService, decorators: [{
|
|
515
631
|
type: Injectable,
|
|
516
632
|
args: [{
|
|
517
633
|
providedIn: 'root',
|
|
518
634
|
}]
|
|
519
635
|
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
520
636
|
|
|
637
|
+
/*
|
|
638
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
639
|
+
*
|
|
640
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
641
|
+
* you may not use this file except in compliance with the License.
|
|
642
|
+
* You may obtain a copy of the License at
|
|
643
|
+
*
|
|
644
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
645
|
+
*
|
|
646
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
647
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
648
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
649
|
+
* See the License for the specific language governing permissions and
|
|
650
|
+
* limitations under the License.
|
|
651
|
+
*/
|
|
652
|
+
class DossierListPaginationService {
|
|
653
|
+
constructor(logger, dossierParameterService, dossierService) {
|
|
654
|
+
this.logger = logger;
|
|
655
|
+
this.dossierParameterService = dossierParameterService;
|
|
656
|
+
this.dossierService = dossierService;
|
|
657
|
+
this.DEFAULT_PAGINATION = {
|
|
658
|
+
collectionSize: 0,
|
|
659
|
+
page: 1,
|
|
660
|
+
size: 10,
|
|
661
|
+
maxPaginationItemSize: 5,
|
|
662
|
+
sort: undefined,
|
|
663
|
+
};
|
|
664
|
+
this._pagination$ = new BehaviorSubject(undefined);
|
|
665
|
+
this._paginationCopy$ = this._pagination$.pipe(filter(pagination => !!pagination), map(pagination => pagination && JSON.parse(JSON.stringify(pagination))), tap(pagination => this.dossierParameterService.setPaginationParameters(pagination)));
|
|
666
|
+
}
|
|
667
|
+
get pagination$() {
|
|
668
|
+
return this._paginationCopy$;
|
|
669
|
+
}
|
|
670
|
+
pageChange(newPage) {
|
|
671
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
672
|
+
if (pagination && pagination.page !== newPage) {
|
|
673
|
+
this.logger.debug(`Page change: ${newPage}`);
|
|
674
|
+
this._pagination$.next(Object.assign(Object.assign({}, pagination), { page: newPage }));
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
}
|
|
678
|
+
pageSizeChange(newPageSize) {
|
|
679
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
680
|
+
if (pagination && pagination.size !== newPageSize) {
|
|
681
|
+
const amountOfAvailablePages = Math.ceil(pagination.collectionSize / newPageSize);
|
|
682
|
+
const newPage = amountOfAvailablePages < pagination.page ? amountOfAvailablePages : pagination.page;
|
|
683
|
+
this.logger.debug(`Page size change. New Page: ${newPage} New page size: ${newPageSize}`);
|
|
684
|
+
this._pagination$.next(Object.assign(Object.assign({}, pagination), { size: newPageSize, page: newPage }));
|
|
685
|
+
}
|
|
686
|
+
});
|
|
687
|
+
}
|
|
688
|
+
sortChanged(newSortState) {
|
|
689
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
690
|
+
if (pagination && JSON.stringify(pagination.sort) !== JSON.stringify(newSortState)) {
|
|
691
|
+
this.logger.debug(`Sort state change: ${JSON.stringify(newSortState)}`);
|
|
692
|
+
this._pagination$.next(Object.assign(Object.assign({}, pagination), { sort: newSortState }));
|
|
693
|
+
}
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
setPage(newPageNumber) {
|
|
697
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
698
|
+
this._pagination$.next(Object.assign(Object.assign({}, pagination), { page: newPageNumber }));
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
setCollectionSize(documents) {
|
|
702
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
703
|
+
if (pagination && pagination.collectionSize !== documents.totalElements) {
|
|
704
|
+
this._pagination$.next(Object.assign(Object.assign({}, pagination), { collectionSize: documents.totalElements }));
|
|
705
|
+
}
|
|
706
|
+
});
|
|
707
|
+
}
|
|
708
|
+
checkPage(documents) {
|
|
709
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
710
|
+
if (pagination) {
|
|
711
|
+
const amountOfItems = documents.totalElements;
|
|
712
|
+
const amountOfPages = Math.ceil(amountOfItems / pagination.size);
|
|
713
|
+
const currentPage = pagination.page;
|
|
714
|
+
if (currentPage > amountOfPages) {
|
|
715
|
+
this._pagination$.next(Object.assign(Object.assign({}, pagination), { page: amountOfPages }));
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
});
|
|
719
|
+
}
|
|
720
|
+
clearPagination() {
|
|
721
|
+
this._pagination$.next(undefined);
|
|
722
|
+
}
|
|
723
|
+
setPagination(documentDefinitionName, columns) {
|
|
724
|
+
this.dossierParameterService.queryPaginationParams$
|
|
725
|
+
.pipe(take(1))
|
|
726
|
+
.subscribe(queryPaginationParams => {
|
|
727
|
+
const defaultPagination = this.getDefaultPagination(columns);
|
|
728
|
+
const paginationToUse = queryPaginationParams || defaultPagination;
|
|
729
|
+
this.logger.debug(`Set pagination: ${JSON.stringify(paginationToUse)}`);
|
|
730
|
+
this._pagination$.next(paginationToUse);
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
getDefaultPagination(columns) {
|
|
734
|
+
const defaultSortState = this.dossierService.getInitialSortState(columns);
|
|
735
|
+
return Object.assign(Object.assign({}, this.DEFAULT_PAGINATION), { sort: defaultSortState });
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
DossierListPaginationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListPaginationService, deps: [{ token: i1$2.NGXLogger }, { token: DossierParameterService }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
739
|
+
DossierListPaginationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListPaginationService });
|
|
740
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListPaginationService, decorators: [{
|
|
741
|
+
type: Injectable
|
|
742
|
+
}], ctorParameters: function () { return [{ type: i1$2.NGXLogger }, { type: DossierParameterService }, { type: DossierService }]; } });
|
|
743
|
+
|
|
744
|
+
/*
|
|
745
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
746
|
+
*
|
|
747
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
748
|
+
* you may not use this file except in compliance with the License.
|
|
749
|
+
* You may obtain a copy of the License at
|
|
750
|
+
*
|
|
751
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
752
|
+
*
|
|
753
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
754
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
755
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
756
|
+
* See the License for the specific language governing permissions and
|
|
757
|
+
* limitations under the License.
|
|
758
|
+
*/
|
|
759
|
+
class DossierListSearchService {
|
|
760
|
+
constructor(dossierListService, documentService, dossierParameterService) {
|
|
761
|
+
this.dossierListService = dossierListService;
|
|
762
|
+
this.documentService = documentService;
|
|
763
|
+
this.dossierParameterService = dossierParameterService;
|
|
764
|
+
this._searchSwitch$ = new BehaviorSubject(false);
|
|
765
|
+
this._documentSearchFields$ = this.dossierListService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentSearchFields(documentDefinitionName)));
|
|
766
|
+
}
|
|
767
|
+
get searchSwitch$() {
|
|
768
|
+
return this._searchSwitch$.asObservable();
|
|
769
|
+
}
|
|
770
|
+
get documentSearchFields$() {
|
|
771
|
+
return this._documentSearchFields$;
|
|
772
|
+
}
|
|
773
|
+
search(searchFieldValues) {
|
|
774
|
+
this.dossierParameterService.setSearchFieldValues(searchFieldValues || {});
|
|
775
|
+
this.dossierParameterService.setSearchParameters(searchFieldValues);
|
|
776
|
+
this._searchSwitch$.next(!this._searchSwitch$.getValue());
|
|
777
|
+
}
|
|
778
|
+
refresh() {
|
|
779
|
+
this._searchSwitch$.next(!this._searchSwitch$.getValue());
|
|
780
|
+
}
|
|
781
|
+
mapSearchValuesToFilters(values) {
|
|
782
|
+
const filters = [];
|
|
783
|
+
Object.keys(values).forEach(valueKey => {
|
|
784
|
+
const searchValue = values[valueKey];
|
|
785
|
+
if (searchValue.start) {
|
|
786
|
+
filters.push({ key: valueKey, rangeFrom: searchValue.start, rangeTo: searchValue.end });
|
|
787
|
+
}
|
|
788
|
+
else if (Array.isArray(searchValue)) {
|
|
789
|
+
filters.push({ key: valueKey, values: searchValue });
|
|
790
|
+
}
|
|
791
|
+
else {
|
|
792
|
+
filters.push({ key: valueKey, values: [searchValue] });
|
|
793
|
+
}
|
|
794
|
+
});
|
|
795
|
+
return filters;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
DossierListSearchService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListSearchService, deps: [{ token: DossierListService }, { token: i2.DocumentService }, { token: DossierParameterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
799
|
+
DossierListSearchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListSearchService });
|
|
800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListSearchService, decorators: [{
|
|
801
|
+
type: Injectable
|
|
802
|
+
}], ctorParameters: function () { return [{ type: DossierListService }, { type: i2.DocumentService }, { type: DossierParameterService }]; } });
|
|
803
|
+
|
|
804
|
+
/*
|
|
805
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
806
|
+
*
|
|
807
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
808
|
+
* you may not use this file except in compliance with the License.
|
|
809
|
+
* You may obtain a copy of the License at
|
|
810
|
+
*
|
|
811
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
812
|
+
*
|
|
813
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
814
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
815
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
816
|
+
* See the License for the specific language governing permissions and
|
|
817
|
+
* limitations under the License.
|
|
818
|
+
*/
|
|
819
|
+
|
|
820
|
+
/*
|
|
821
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
822
|
+
*
|
|
823
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
824
|
+
* you may not use this file except in compliance with the License.
|
|
825
|
+
* You may obtain a copy of the License at
|
|
826
|
+
*
|
|
827
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
828
|
+
*
|
|
829
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
830
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
831
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
832
|
+
* See the License for the specific language governing permissions and
|
|
833
|
+
* limitations under the License.
|
|
834
|
+
*/
|
|
835
|
+
var DefaultTabs;
|
|
836
|
+
(function (DefaultTabs) {
|
|
837
|
+
DefaultTabs["summary"] = "summary";
|
|
838
|
+
DefaultTabs["progress"] = "progress";
|
|
839
|
+
DefaultTabs["audit"] = "audit";
|
|
840
|
+
DefaultTabs["documents"] = "documents";
|
|
841
|
+
DefaultTabs["contactMoments"] = "contact-moments";
|
|
842
|
+
DefaultTabs["zaakobjecten"] = "zaakobjecten";
|
|
843
|
+
DefaultTabs["notes"] = "notes";
|
|
844
|
+
})(DefaultTabs || (DefaultTabs = {}));
|
|
845
|
+
|
|
521
846
|
/*
|
|
522
847
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
523
848
|
*
|
|
@@ -534,45 +859,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
534
859
|
* limitations under the License.
|
|
535
860
|
*/
|
|
536
861
|
class DossierProcessStartModalComponent {
|
|
537
|
-
constructor(route, router, processService, documentService, formLinkService, userProviderService, logger) {
|
|
862
|
+
constructor(route, router, processService, documentService, formLinkService, processLinkService, formFlowService, userProviderService, logger) {
|
|
538
863
|
this.route = route;
|
|
539
864
|
this.router = router;
|
|
540
865
|
this.processService = processService;
|
|
541
866
|
this.documentService = documentService;
|
|
542
867
|
this.formLinkService = formLinkService;
|
|
868
|
+
this.processLinkService = processLinkService;
|
|
869
|
+
this.formFlowService = formFlowService;
|
|
543
870
|
this.userProviderService = userProviderService;
|
|
544
871
|
this.logger = logger;
|
|
872
|
+
this.formFlowComplete = new EventEmitter();
|
|
545
873
|
}
|
|
546
874
|
ngOnInit() {
|
|
547
875
|
this.isUserAdmin();
|
|
548
876
|
}
|
|
549
|
-
|
|
877
|
+
loadProcessLink() {
|
|
878
|
+
this.formAssociation = null;
|
|
879
|
+
this.processLinkId = null;
|
|
550
880
|
this.formDefinition = null;
|
|
551
|
-
this.
|
|
552
|
-
|
|
553
|
-
.
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
881
|
+
this.formFlowInstanceId = null;
|
|
882
|
+
this.processService
|
|
883
|
+
.getProcessDefinitionStartProcessLink(this.processDefinitionId, null, this.documentDefinitionName)
|
|
884
|
+
.pipe(take$1(1))
|
|
885
|
+
.subscribe(startProcessResult => {
|
|
886
|
+
if (startProcessResult) {
|
|
887
|
+
switch (startProcessResult.type) {
|
|
888
|
+
case 'form':
|
|
889
|
+
this.formDefinition = startProcessResult.properties.prefilledForm;
|
|
890
|
+
this.processLinkId = startProcessResult.processLinkId;
|
|
891
|
+
break;
|
|
892
|
+
case 'form-flow':
|
|
893
|
+
this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
|
|
894
|
+
break;
|
|
895
|
+
}
|
|
896
|
+
this.modal.show();
|
|
897
|
+
}
|
|
898
|
+
else {
|
|
899
|
+
// backwards compatibility for form associations
|
|
900
|
+
this.formLinkService
|
|
901
|
+
.getStartEventFormDefinitionByProcessDefinitionKey(this.processDefinitionKey, null)
|
|
902
|
+
.pipe(take$1(1))
|
|
903
|
+
.subscribe({
|
|
904
|
+
next: formDefinitionWithFormAssociation => this.openFormAssociation(formDefinitionWithFormAssociation),
|
|
905
|
+
error: error => {
|
|
906
|
+
this.modal.show();
|
|
907
|
+
},
|
|
908
|
+
});
|
|
571
909
|
}
|
|
572
|
-
}, errors => {
|
|
573
|
-
this.modal.show();
|
|
574
910
|
});
|
|
575
911
|
}
|
|
912
|
+
openFormAssociation(formDefinitionWithFormAssociation) {
|
|
913
|
+
this.formAssociation = formDefinitionWithFormAssociation.formAssociation;
|
|
914
|
+
const className = this.formAssociation.formLink.className.split('.');
|
|
915
|
+
const linkType = className[className.length - 1];
|
|
916
|
+
switch (linkType) {
|
|
917
|
+
case 'BpmnElementFormIdLink':
|
|
918
|
+
this.formDefinition = formDefinitionWithFormAssociation;
|
|
919
|
+
this.modal.show();
|
|
920
|
+
break;
|
|
921
|
+
case 'BpmnElementFormFlowIdLink':
|
|
922
|
+
this.formFlowService
|
|
923
|
+
.createInstanceForNewProcess(this.processDefinitionKey, {
|
|
924
|
+
documentId: null,
|
|
925
|
+
documentDefinitionName: this.documentDefinitionName,
|
|
926
|
+
})
|
|
927
|
+
.subscribe(result => (this.formFlowInstanceId = result.formFlowInstanceId));
|
|
928
|
+
this.modal.show();
|
|
929
|
+
break;
|
|
930
|
+
case 'BpmnElementUrlLink':
|
|
931
|
+
const url = this.router.serializeUrl(this.router.createUrlTree([this.formAssociation.formLink.url]));
|
|
932
|
+
window.open(url, '_blank');
|
|
933
|
+
break;
|
|
934
|
+
case 'BpmnElementAngularStateUrlLink':
|
|
935
|
+
this.route.params.pipe(take$1(1)).subscribe(params => {
|
|
936
|
+
const documentId = params === null || params === void 0 ? void 0 : params.documentId;
|
|
937
|
+
this.router.navigate([this.formAssociation.formLink.url], {
|
|
938
|
+
state: Object.assign({}, (documentId && { documentId })),
|
|
939
|
+
});
|
|
940
|
+
});
|
|
941
|
+
break;
|
|
942
|
+
default:
|
|
943
|
+
this.logger.fatal('Unsupported class name');
|
|
944
|
+
}
|
|
945
|
+
}
|
|
576
946
|
gotoFormLinkScreen() {
|
|
577
947
|
this.modal.hide();
|
|
578
948
|
this.router.navigate(['form-links'], { queryParams: { process: this.processDefinitionKey } });
|
|
@@ -582,6 +952,7 @@ class DossierProcessStartModalComponent {
|
|
|
582
952
|
}
|
|
583
953
|
openModal(processDocumentDefinition) {
|
|
584
954
|
this.processDefinitionKey = processDocumentDefinition.id.processDefinitionKey;
|
|
955
|
+
this.processDefinitionId = processDocumentDefinition.latestVersionId;
|
|
585
956
|
this.documentDefinitionName = processDocumentDefinition.id.documentDefinitionId.name;
|
|
586
957
|
this.processName = processDocumentDefinition.processName;
|
|
587
958
|
this.options = new FormioOptionsImpl();
|
|
@@ -590,24 +961,33 @@ class DossierProcessStartModalComponent {
|
|
|
590
961
|
callback(null, submission);
|
|
591
962
|
};
|
|
592
963
|
this.options.setHooks(formioBeforeSubmit);
|
|
593
|
-
this.
|
|
964
|
+
this.loadProcessLink();
|
|
594
965
|
}
|
|
595
966
|
onSubmit(submission) {
|
|
596
967
|
this.formioSubmission = submission;
|
|
597
|
-
this.
|
|
598
|
-
.
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
968
|
+
if (this.processLinkId) {
|
|
969
|
+
this.processLinkService.submitForm(this.processLinkId, submission.data).subscribe({
|
|
970
|
+
next: (formSubmissionResult) => {
|
|
971
|
+
this.submitCompleted(formSubmissionResult);
|
|
972
|
+
},
|
|
973
|
+
error: errors => {
|
|
974
|
+
this.form.showErrors(errors);
|
|
975
|
+
},
|
|
976
|
+
});
|
|
977
|
+
}
|
|
978
|
+
else {
|
|
979
|
+
this.formLinkService
|
|
980
|
+
.onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data)
|
|
981
|
+
.subscribe((formSubmissionResult) => {
|
|
982
|
+
this.submitCompleted(formSubmissionResult);
|
|
983
|
+
}, errors => {
|
|
984
|
+
this.form.showErrors(errors);
|
|
985
|
+
});
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
formFlowSubmitted() {
|
|
989
|
+
this.formFlowComplete.emit(null);
|
|
990
|
+
this.modal.hide();
|
|
611
991
|
}
|
|
612
992
|
isUserAdmin() {
|
|
613
993
|
this.userProviderService.getUserSubject().subscribe(userIdentity => {
|
|
@@ -616,318 +996,319 @@ class DossierProcessStartModalComponent {
|
|
|
616
996
|
this.isAdmin = false;
|
|
617
997
|
});
|
|
618
998
|
}
|
|
999
|
+
submitCompleted(formSubmissionResult) {
|
|
1000
|
+
this.modal.hide();
|
|
1001
|
+
this.router.navigate([
|
|
1002
|
+
'dossiers',
|
|
1003
|
+
this.documentDefinitionName,
|
|
1004
|
+
'document',
|
|
1005
|
+
formSubmissionResult.documentId,
|
|
1006
|
+
'summary',
|
|
1007
|
+
]);
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
DossierProcessStartModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$2.ProcessService }, { token: i2.DocumentService }, { token: i4.FormLinkService }, { token: i4.ProcessLinkService }, { token: i4.FormFlowService }, { token: i6$1.UserProviderService }, { token: i1$2.NGXLogger }], target: i0.ɵɵFactoryTarget.Component });
|
|
1011
|
+
DossierProcessStartModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal", outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["processStartModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal #processStartModal elementId=\"processStartModal\" [title]=\"modalTitle\">\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io #form [form]=\"formDefinition\" [options]=\"options\" (submit)=\"onSubmit($event)\">\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && !isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */#processStartModal .formio-component-submit{text-align:right}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i6$2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
1012
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierProcessStartModalComponent, decorators: [{
|
|
1013
|
+
type: Component,
|
|
1014
|
+
args: [{ selector: 'valtimo-dossier-process-start-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal #processStartModal elementId=\"processStartModal\" [title]=\"modalTitle\">\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io #form [form]=\"formDefinition\" [options]=\"options\" (submit)=\"onSubmit($event)\">\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formFlowSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundAdmin'\"\n ></div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n <div body *ngIf=\"!formFlowInstanceId && !formDefinition && !isAdmin\">\n <div\n class=\"bg-warning text-black mb-0 p-3 text-center\"\n [translate]=\"'formManagement.noFormDefinitionFoundUser'\"\n ></div>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */#processStartModal .formio-component-submit{text-align:right}\n"] }]
|
|
1015
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i2.DocumentService }, { type: i4.FormLinkService }, { type: i4.ProcessLinkService }, { type: i4.FormFlowService }, { type: i6$1.UserProviderService }, { type: i1$2.NGXLogger }]; }, propDecorators: { form: [{
|
|
1016
|
+
type: ViewChild,
|
|
1017
|
+
args: ['form', { static: false }]
|
|
1018
|
+
}], modal: [{
|
|
1019
|
+
type: ViewChild,
|
|
1020
|
+
args: ['processStartModal', { static: false }]
|
|
1021
|
+
}], formFlowComplete: [{
|
|
1022
|
+
type: Output
|
|
1023
|
+
}] } });
|
|
1024
|
+
|
|
1025
|
+
/*
|
|
1026
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1027
|
+
*
|
|
1028
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1029
|
+
* you may not use this file except in compliance with the License.
|
|
1030
|
+
* You may obtain a copy of the License at
|
|
1031
|
+
*
|
|
1032
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1033
|
+
*
|
|
1034
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1035
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1036
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1037
|
+
* See the License for the specific language governing permissions and
|
|
1038
|
+
* limitations under the License.
|
|
1039
|
+
*/
|
|
1040
|
+
class DossierListActionsComponent {
|
|
1041
|
+
constructor(documentService, route, listService) {
|
|
1042
|
+
this.documentService = documentService;
|
|
1043
|
+
this.route = route;
|
|
1044
|
+
this.listService = listService;
|
|
1045
|
+
this.formFlowComplete = new EventEmitter();
|
|
1046
|
+
this.selectedProcessDocumentDefinition = null;
|
|
1047
|
+
this.modalListenerAdded = false;
|
|
1048
|
+
this._cachedAssociatedProcessDocumentDefinitions = [];
|
|
1049
|
+
this.associatedProcessDocumentDefinitions$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => documentDefinitionName
|
|
1050
|
+
? this.documentService.findProcessDocumentDefinitions(documentDefinitionName)
|
|
1051
|
+
: of([])), map(processDocumentDefinitions => processDocumentDefinitions.filter(definition => definition.canInitializeDocument)), tap(processDocumentDefinitions => {
|
|
1052
|
+
this._cachedAssociatedProcessDocumentDefinitions = processDocumentDefinitions;
|
|
1053
|
+
}));
|
|
1054
|
+
}
|
|
1055
|
+
ngOnInit() {
|
|
1056
|
+
this.modalListenerAdded = false;
|
|
1057
|
+
}
|
|
1058
|
+
startDossier() {
|
|
1059
|
+
const associatedProcessDocumentDefinitions = this._cachedAssociatedProcessDocumentDefinitions;
|
|
1060
|
+
if (associatedProcessDocumentDefinitions.length > 1) {
|
|
1061
|
+
$('#startProcess').modal('show');
|
|
1062
|
+
}
|
|
1063
|
+
else {
|
|
1064
|
+
this.selectedProcessDocumentDefinition = associatedProcessDocumentDefinitions[0];
|
|
1065
|
+
this.showStartProcessModal();
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
selectProcess(processDocumentDefinition) {
|
|
1069
|
+
const modal = $('#startProcess');
|
|
1070
|
+
if (!this.modalListenerAdded) {
|
|
1071
|
+
modal.on('hidden.bs.modal', this.showStartProcessModal.bind(this));
|
|
1072
|
+
this.modalListenerAdded = true;
|
|
1073
|
+
}
|
|
1074
|
+
this.selectedProcessDocumentDefinition = processDocumentDefinition;
|
|
1075
|
+
modal.modal('hide');
|
|
1076
|
+
}
|
|
1077
|
+
onFormFlowComplete() {
|
|
1078
|
+
this.formFlowComplete.emit(null);
|
|
1079
|
+
}
|
|
1080
|
+
showStartProcessModal() {
|
|
1081
|
+
if (this.selectedProcessDocumentDefinition !== null) {
|
|
1082
|
+
this.processStart.openModal(this.selectedProcessDocumentDefinition);
|
|
1083
|
+
this.selectedProcessDocumentDefinition = null;
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
619
1086
|
}
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1087
|
+
DossierListActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListActionsComponent, deps: [{ token: i2.DocumentService }, { token: i1$1.ActivatedRoute }, { token: DossierListService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1088
|
+
DossierListActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: { loading: "loading" }, outputs: { formFlowComplete: "formFlowComplete" }, viewQueries: [{ propertyName: "processStart", first: true, predicate: ["processStartModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"associatedProcessDocumentDefinitions$ | async as associatedProcessDocumentDefinitions\">\n <div class=\"text-right mt-m3px mb-3\">\n <button\n type=\"button\"\n class=\"btn btn-space btn-primary mr-0\"\n (click)=\"startDossier()\"\n [ngbTooltip]=\"associatedProcessDocumentDefinitions.length === 0 ? 'No action' : null\"\n placement=\"bottom\"\n [disabled]=\"associatedProcessDocumentDefinitions.length === 0 || loading\"\n >\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'Start Dossier' | translate }}\n </button>\n </div>\n <div\n class=\"modal fade\"\n id=\"startProcess\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"startProcessLabel\"\n aria-hidden=\"true\"\n >\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\" id=\"startProcessLabel\">\n {{ 'dashboard.startProcess.title' | translate }}\n </h3>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"table-responsive\">\n <table class=\"table m-0\">\n <tr\n *ngFor=\"let processDocumentDefinition of associatedProcessDocumentDefinitions\"\n (click)=\"selectProcess(processDocumentDefinition)\"\n style=\"cursor: pointer\"\n >\n <td>{{ processDocumentDefinition.processName }}</td>\n </tr>\n </table>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">\n {{ 'cta.close' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<valtimo-dossier-process-start-modal\n #processStartModal\n (formFlowComplete)=\"onFormFlowComplete()\"\n></valtimo-dossier-process-start-modal>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal", outputs: ["formFlowComplete"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
1089
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListActionsComponent, decorators: [{
|
|
623
1090
|
type: Component,
|
|
624
|
-
args: [{ selector: 'valtimo-dossier-
|
|
625
|
-
}], ctorParameters: function () { return [{ type:
|
|
626
|
-
type: ViewChild,
|
|
627
|
-
args: ['form', { static: false }]
|
|
628
|
-
}], modal: [{
|
|
1091
|
+
args: [{ selector: 'valtimo-dossier-list-actions', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"associatedProcessDocumentDefinitions$ | async as associatedProcessDocumentDefinitions\">\n <div class=\"text-right mt-m3px mb-3\">\n <button\n type=\"button\"\n class=\"btn btn-space btn-primary mr-0\"\n (click)=\"startDossier()\"\n [ngbTooltip]=\"associatedProcessDocumentDefinitions.length === 0 ? 'No action' : null\"\n placement=\"bottom\"\n [disabled]=\"associatedProcessDocumentDefinitions.length === 0 || loading\"\n >\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'Start Dossier' | translate }}\n </button>\n </div>\n <div\n class=\"modal fade\"\n id=\"startProcess\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-labelledby=\"startProcessLabel\"\n aria-hidden=\"true\"\n >\n <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\" id=\"startProcessLabel\">\n {{ 'dashboard.startProcess.title' | translate }}\n </h3>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"table-responsive\">\n <table class=\"table m-0\">\n <tr\n *ngFor=\"let processDocumentDefinition of associatedProcessDocumentDefinitions\"\n (click)=\"selectProcess(processDocumentDefinition)\"\n style=\"cursor: pointer\"\n >\n <td>{{ processDocumentDefinition.processName }}</td>\n </tr>\n </table>\n </div>\n </div>\n <div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">\n {{ 'cta.close' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<valtimo-dossier-process-start-modal\n #processStartModal\n (formFlowComplete)=\"onFormFlowComplete()\"\n></valtimo-dossier-process-start-modal>\n" }]
|
|
1092
|
+
}], ctorParameters: function () { return [{ type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: DossierListService }]; }, propDecorators: { processStart: [{
|
|
629
1093
|
type: ViewChild,
|
|
630
|
-
args: ['processStartModal'
|
|
1094
|
+
args: ['processStartModal']
|
|
1095
|
+
}], loading: [{
|
|
1096
|
+
type: Input
|
|
1097
|
+
}], formFlowComplete: [{
|
|
1098
|
+
type: Output
|
|
631
1099
|
}] } });
|
|
632
1100
|
|
|
633
|
-
|
|
1101
|
+
/*
|
|
1102
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1103
|
+
*
|
|
1104
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1105
|
+
* you may not use this file except in compliance with the License.
|
|
1106
|
+
* You may obtain a copy of the License at
|
|
1107
|
+
*
|
|
1108
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1109
|
+
*
|
|
1110
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1111
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1112
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1113
|
+
* See the License for the specific language governing permissions and
|
|
1114
|
+
* limitations under the License.
|
|
1115
|
+
*/
|
|
634
1116
|
class DossierListComponent {
|
|
635
|
-
constructor(route,
|
|
636
|
-
var _a;
|
|
1117
|
+
constructor(route, translateService, listService, columnService, assigneeService, paginationService, searchService, parameterService, documentService, router, configService, pageTitleService, breadcrumbService) {
|
|
637
1118
|
this.route = route;
|
|
638
|
-
this.router = router;
|
|
639
|
-
this.documentService = documentService;
|
|
640
1119
|
this.translateService = translateService;
|
|
641
|
-
this.
|
|
642
|
-
this.
|
|
1120
|
+
this.listService = listService;
|
|
1121
|
+
this.columnService = columnService;
|
|
1122
|
+
this.assigneeService = assigneeService;
|
|
1123
|
+
this.paginationService = paginationService;
|
|
1124
|
+
this.searchService = searchService;
|
|
1125
|
+
this.parameterService = parameterService;
|
|
1126
|
+
this.documentService = documentService;
|
|
1127
|
+
this.router = router;
|
|
643
1128
|
this.configService = configService;
|
|
644
|
-
this.
|
|
645
|
-
this.
|
|
646
|
-
this.
|
|
647
|
-
this.
|
|
648
|
-
this.
|
|
649
|
-
this.
|
|
650
|
-
this.
|
|
651
|
-
this.
|
|
652
|
-
this.
|
|
653
|
-
|
|
654
|
-
this.resetPagination(documentDefinitionName);
|
|
1129
|
+
this.pageTitleService = pageTitleService;
|
|
1130
|
+
this.breadcrumbService = breadcrumbService;
|
|
1131
|
+
this.loadingFields = true;
|
|
1132
|
+
this.loadingPagination = true;
|
|
1133
|
+
this.loadingSearchFields = true;
|
|
1134
|
+
this.loadingAssigneeFilter = true;
|
|
1135
|
+
this.loadingDocumentItems = true;
|
|
1136
|
+
this.visibleDossierTabs = null;
|
|
1137
|
+
this.searchFields$ = this.searchService.documentSearchFields$.pipe(tap(searchFields => {
|
|
1138
|
+
this.loadingSearchFields = false;
|
|
655
1139
|
}));
|
|
656
|
-
this.
|
|
657
|
-
this.
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
: of([])), map(processDocumentDefinitions => processDocumentDefinitions.filter(definition => definition.canInitializeDocument)));
|
|
662
|
-
this.schema$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), map(documentDefinition => documentDefinition === null || documentDefinition === void 0 ? void 0 : documentDefinition.schema), tap(() => {
|
|
663
|
-
this.assigneeFilter$.next(this.defaultAssigneeFilter);
|
|
1140
|
+
this.documentDefinitionName$ = this.listService.documentDefinitionName$;
|
|
1141
|
+
this.schema$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), map(documentDefinition => documentDefinition === null || documentDefinition === void 0 ? void 0 : documentDefinition.schema), tap(schema => {
|
|
1142
|
+
if (schema === null || schema === void 0 ? void 0 : schema.title) {
|
|
1143
|
+
this.pageTitleService.setCustomPageTitle(schema === null || schema === void 0 ? void 0 : schema.title, true);
|
|
1144
|
+
}
|
|
664
1145
|
}));
|
|
665
|
-
this.
|
|
666
|
-
this.
|
|
667
|
-
this.
|
|
668
|
-
|
|
669
|
-
this.
|
|
1146
|
+
this.searchFieldValues$ = this.parameterService.searchFieldValues$;
|
|
1147
|
+
this.assigneeFilter$ = this.assigneeService.assigneeFilter$;
|
|
1148
|
+
this._pagination$ = this.paginationService.pagination$.pipe(tap(pagination => {
|
|
1149
|
+
this.pagination = pagination;
|
|
1150
|
+
this.loadingPagination = false;
|
|
1151
|
+
}));
|
|
1152
|
+
this._hasEnvColumnConfig$ = this.listService.hasEnvColumnConfig$;
|
|
1153
|
+
this._hasApiColumnConfig$ = new BehaviorSubject(false);
|
|
1154
|
+
this._canHaveAssignee$ = this.assigneeService.canHaveAssignee$;
|
|
1155
|
+
this._searchSwitch$ = this.searchService.searchSwitch$;
|
|
1156
|
+
this._columns$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.columnService.getDefinitionColumns(documentDefinitionName)), map(res => {
|
|
1157
|
+
this._hasApiColumnConfig$.next(res.hasApiConfig);
|
|
670
1158
|
return res.columns;
|
|
1159
|
+
}), tap(columns => {
|
|
1160
|
+
this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
1161
|
+
this.paginationService.setPagination(documentDefinitionName, columns);
|
|
1162
|
+
});
|
|
671
1163
|
}));
|
|
672
|
-
this.ASSIGNEE_KEY = 'assigneeFullName';
|
|
673
1164
|
this.fields$ = combineLatest([
|
|
674
|
-
this.
|
|
675
|
-
this.
|
|
676
|
-
this.
|
|
1165
|
+
this._canHaveAssignee$,
|
|
1166
|
+
this._columns$,
|
|
1167
|
+
this._hasEnvColumnConfig$,
|
|
677
1168
|
this.translateService.stream('key'),
|
|
678
|
-
]).pipe(
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
1169
|
+
]).pipe(tap(([canHaveAssignee]) => {
|
|
1170
|
+
this.canHaveAssignee = canHaveAssignee;
|
|
1171
|
+
}), map(([canHaveAssignee, columns, hasEnvConfig]) => {
|
|
1172
|
+
const filteredAssigneeColumns = this.assigneeService.filterAssigneeColumns(columns, canHaveAssignee);
|
|
1173
|
+
const listFields = this.columnService.mapDefinitionColumnsToListFields(filteredAssigneeColumns, hasEnvConfig);
|
|
1174
|
+
const fieldsToReturn = this.assigneeService.addAssigneeListField(columns, listFields, canHaveAssignee);
|
|
1175
|
+
return fieldsToReturn;
|
|
1176
|
+
}), tap(listFields => {
|
|
1177
|
+
const defaultListField = listFields.find(field => field.default);
|
|
1178
|
+
// set default sort state if no pagination query parameters for sorting are available
|
|
1179
|
+
this.parameterService.queryPaginationParams$
|
|
1180
|
+
.pipe(take(1))
|
|
1181
|
+
.subscribe(queryPaginationParams => {
|
|
1182
|
+
var _a;
|
|
1183
|
+
if (defaultListField && !((_a = queryPaginationParams === null || queryPaginationParams === void 0 ? void 0 : queryPaginationParams.sort) === null || _a === void 0 ? void 0 : _a.isSorting)) {
|
|
1184
|
+
const sortDirection = typeof defaultListField.default === 'string' ? defaultListField.default : 'DESC';
|
|
1185
|
+
this.paginationService.sortChanged({
|
|
1186
|
+
isSorting: true,
|
|
1187
|
+
state: { name: defaultListField.key, direction: sortDirection },
|
|
1188
|
+
});
|
|
690
1189
|
}
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
label: this.translateService.instant(`fieldLabels.${this.ASSIGNEE_KEY}`),
|
|
699
|
-
sortable: true,
|
|
700
|
-
viewType: 'string',
|
|
701
|
-
},
|
|
702
|
-
]
|
|
703
|
-
: []),
|
|
704
|
-
]));
|
|
705
|
-
this.DEFAULT_PAGINATION = {
|
|
706
|
-
collectionSize: 0,
|
|
707
|
-
page: 1,
|
|
708
|
-
size: 10,
|
|
709
|
-
maxPaginationItemSize: 5,
|
|
710
|
-
sort: undefined,
|
|
711
|
-
};
|
|
712
|
-
this.pagination$ = new BehaviorSubject(undefined);
|
|
713
|
-
this.paginationCopy$ = this.pagination$.pipe(map(pagination => pagination && JSON.parse(JSON.stringify(pagination))), tap(pagination => this.dossierParameterService.setPaginationParameters(pagination)));
|
|
714
|
-
this.documentSearchRequest$ = combineLatest([this.pagination$, this.documentDefinitionName$]).pipe(filter(([pagination]) => !!pagination), map(([pagination, documentDefinitionName]) => new AdvancedDocumentSearchRequestImpl(documentDefinitionName, pagination.page - 1, pagination.size, pagination.sort)));
|
|
715
|
-
this.searchFieldValues$ = new BehaviorSubject({});
|
|
716
|
-
this.assigneeFilter$ = new BehaviorSubject(this.defaultAssigneeFilter);
|
|
717
|
-
this.documentsRequest$ = combineLatest([
|
|
718
|
-
this.documentSearchRequest$,
|
|
1190
|
+
});
|
|
1191
|
+
}), tap(() => {
|
|
1192
|
+
this.loadingFields = false;
|
|
1193
|
+
}));
|
|
1194
|
+
this._documentSearchRequest$ = combineLatest([this._pagination$, this.listService.documentDefinitionName$]).pipe(filter(([pagination]) => !!pagination), map(([pagination, documentDefinitionName]) => new AdvancedDocumentSearchRequestImpl(documentDefinitionName, pagination.page - 1, pagination.size, pagination.sort)));
|
|
1195
|
+
this._documentsRequest$ = combineLatest([
|
|
1196
|
+
this._documentSearchRequest$,
|
|
719
1197
|
this.searchFieldValues$,
|
|
720
1198
|
this.assigneeFilter$,
|
|
721
|
-
this.
|
|
722
|
-
this.
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
1199
|
+
this._hasEnvColumnConfig$,
|
|
1200
|
+
this._hasApiColumnConfig$,
|
|
1201
|
+
this._searchSwitch$,
|
|
1202
|
+
]).pipe(distinctUntilChanged(([prevSearchRequest, prevSearchValues, prevAssigneeFilter, prevHasEnvColumnConfig, prevHasApiColumnConfig, prevSearchSwitch,], [currSearchRequest, currSearchValues, currAssigneeFilter, currHasEnvColumnConfig, currHasApiColumnConfig, currSearchSwitch,]) => JSON.stringify(Object.assign(Object.assign({}, prevSearchRequest), prevSearchValues)) +
|
|
1203
|
+
prevAssigneeFilter +
|
|
1204
|
+
prevSearchSwitch ===
|
|
1205
|
+
JSON.stringify(Object.assign(Object.assign({}, currSearchRequest), currSearchValues)) +
|
|
1206
|
+
currAssigneeFilter +
|
|
1207
|
+
currSearchSwitch), switchMap(([documentSearchRequest, searchValues, assigneeFilter, hasEnvColumnConfig, hasApiColumnConfig,]) => {
|
|
730
1208
|
if ((Object.keys(searchValues) || []).length > 0) {
|
|
731
1209
|
return hasEnvColumnConfig || !hasApiColumnConfig
|
|
732
|
-
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.mapSearchValuesToFilters(searchValues))
|
|
733
|
-
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.mapSearchValuesToFilters(searchValues));
|
|
734
|
-
}
|
|
735
|
-
else {
|
|
736
|
-
return hasEnvColumnConfig || !hasApiColumnConfig
|
|
737
|
-
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter)
|
|
738
|
-
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter);
|
|
1210
|
+
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues))
|
|
1211
|
+
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues));
|
|
739
1212
|
}
|
|
1213
|
+
return hasEnvColumnConfig || !hasApiColumnConfig
|
|
1214
|
+
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter)
|
|
1215
|
+
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter);
|
|
740
1216
|
}), tap(documents => {
|
|
741
|
-
this.setCollectionSize(documents);
|
|
742
|
-
this.checkPage(documents);
|
|
1217
|
+
this.paginationService.setCollectionSize(documents);
|
|
1218
|
+
this.paginationService.checkPage(documents);
|
|
743
1219
|
}));
|
|
744
1220
|
this.documentItems$ = combineLatest([
|
|
745
|
-
this.
|
|
746
|
-
this.
|
|
747
|
-
this.
|
|
748
|
-
]).pipe(map(([documents, hasEnvColumnConfig, hasApiColumnConfig]) => {
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
const { content } = document, others = __rest(document, ["content"]);
|
|
753
|
-
return Object.assign(Object.assign({}, content), others);
|
|
754
|
-
});
|
|
755
|
-
}
|
|
756
|
-
else {
|
|
757
|
-
const docsToMap = documents;
|
|
758
|
-
return docsToMap.content.reduce((acc, curr) => {
|
|
759
|
-
const propsObject = { id: curr.id };
|
|
760
|
-
curr.items.forEach(item => {
|
|
761
|
-
propsObject[item.key] = item.value;
|
|
762
|
-
});
|
|
763
|
-
return [...acc, propsObject];
|
|
764
|
-
}, []);
|
|
765
|
-
}
|
|
766
|
-
}), tap(() => this.loading$.next(false)));
|
|
767
|
-
this.setSearchFieldValuesSubject$ = new Subject();
|
|
768
|
-
this.dossierVisibleTabs = ((_a = this.configService.config) === null || _a === void 0 ? void 0 : _a.visibleDossierListTabs) || null;
|
|
1221
|
+
this._documentsRequest$,
|
|
1222
|
+
this._hasEnvColumnConfig$,
|
|
1223
|
+
this._hasApiColumnConfig$,
|
|
1224
|
+
]).pipe(map(([documents, hasEnvColumnConfig, hasApiColumnConfig]) => this.listService.mapDocuments(documents, hasEnvColumnConfig, hasApiColumnConfig)), tap(() => {
|
|
1225
|
+
this.loadingAssigneeFilter = false;
|
|
1226
|
+
this.loadingDocumentItems = false;
|
|
1227
|
+
}));
|
|
769
1228
|
}
|
|
770
1229
|
ngOnInit() {
|
|
771
|
-
this.
|
|
772
|
-
this.
|
|
773
|
-
}
|
|
774
|
-
pageChange(newPage) {
|
|
775
|
-
this.pagination$.pipe(take(1)).subscribe(pagination => {
|
|
776
|
-
if (pagination && pagination.page !== newPage) {
|
|
777
|
-
this.logger.debug(`Page change: ${newPage}`);
|
|
778
|
-
this.pagination$.next(Object.assign(Object.assign({}, pagination), { page: newPage }));
|
|
779
|
-
}
|
|
780
|
-
});
|
|
1230
|
+
this.setVisibleTabs();
|
|
1231
|
+
this.openDocumentDefinitionNameSubscription();
|
|
781
1232
|
}
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
const newPage = amountOfAvailablePages < pagination.page ? amountOfAvailablePages : pagination.page;
|
|
787
|
-
this.logger.debug(`Page size change. New Page: ${newPage} New page size: ${newPageSize}`);
|
|
788
|
-
this.pagination$.next(Object.assign(Object.assign({}, pagination), { size: newPageSize, page: newPage }));
|
|
789
|
-
}
|
|
790
|
-
});
|
|
1233
|
+
ngOnDestroy() {
|
|
1234
|
+
var _a;
|
|
1235
|
+
(_a = this._documentDefinitionNameSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
1236
|
+
this.pageTitleService.enableReset();
|
|
791
1237
|
}
|
|
792
|
-
|
|
793
|
-
this.
|
|
794
|
-
if (pagination && JSON.stringify(pagination.sort) !== JSON.stringify(newSortState)) {
|
|
795
|
-
this.logger.debug(`Sort state change: ${JSON.stringify(newSortState)}`);
|
|
796
|
-
this.pagination$.next(Object.assign(Object.assign({}, pagination), { sort: newSortState }));
|
|
797
|
-
}
|
|
798
|
-
});
|
|
1238
|
+
search(searchFieldValues) {
|
|
1239
|
+
this.searchService.search(searchFieldValues);
|
|
799
1240
|
}
|
|
800
1241
|
rowClick(document) {
|
|
801
|
-
this.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
1242
|
+
this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
1243
|
+
this.breadcrumbService.cacheQueryParams(`/dossiers/${documentDefinitionName}`, this.route.snapshot.queryParams);
|
|
802
1244
|
this.router.navigate([
|
|
803
1245
|
`/dossiers/${documentDefinitionName}/document/${document.id}/${DefaultTabs.summary}`,
|
|
804
1246
|
]);
|
|
805
1247
|
});
|
|
806
1248
|
}
|
|
807
|
-
|
|
808
|
-
this.
|
|
809
|
-
.pipe(take(1))
|
|
810
|
-
.subscribe(associatedProcessDocumentDefinitions => {
|
|
811
|
-
if (associatedProcessDocumentDefinitions.length > 1) {
|
|
812
|
-
$('#startProcess').modal('show');
|
|
813
|
-
}
|
|
814
|
-
else {
|
|
815
|
-
this.selectedProcessDocumentDefinition = associatedProcessDocumentDefinitions[0];
|
|
816
|
-
this.showStartProcessModal();
|
|
817
|
-
}
|
|
818
|
-
});
|
|
1249
|
+
pageChange(newPage) {
|
|
1250
|
+
this.paginationService.pageChange(newPage);
|
|
819
1251
|
}
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
if (!this.modalListenerAdded) {
|
|
823
|
-
modal.on('hidden.bs.modal', this.showStartProcessModal.bind(this));
|
|
824
|
-
this.modalListenerAdded = true;
|
|
825
|
-
}
|
|
826
|
-
this.selectedProcessDocumentDefinition = processDocumentDefinition;
|
|
827
|
-
modal.modal('hide');
|
|
1252
|
+
pageSizeChange(newPageSize) {
|
|
1253
|
+
this.paginationService.pageSizeChange(newPageSize);
|
|
828
1254
|
}
|
|
829
|
-
|
|
830
|
-
this.
|
|
831
|
-
this.dossierParameterService.setSearchParameters(searchFieldValues);
|
|
1255
|
+
sortChanged(newSortState) {
|
|
1256
|
+
this.paginationService.sortChanged(newSortState);
|
|
832
1257
|
}
|
|
833
1258
|
tabChange(tab) {
|
|
834
|
-
this.
|
|
835
|
-
|
|
836
|
-
});
|
|
837
|
-
this.assigneeFilter$.next(tab.nextId.toUpperCase());
|
|
838
|
-
}
|
|
839
|
-
mapSearchValuesToFilters(values) {
|
|
840
|
-
const filters = [];
|
|
841
|
-
Object.keys(values).forEach(valueKey => {
|
|
842
|
-
const searchValue = values[valueKey];
|
|
843
|
-
if (searchValue.start) {
|
|
844
|
-
filters.push({ key: valueKey, rangeFrom: searchValue.start, rangeTo: searchValue.end });
|
|
845
|
-
}
|
|
846
|
-
else if (Array.isArray(searchValue)) {
|
|
847
|
-
filters.push({ key: valueKey, values: searchValue });
|
|
848
|
-
}
|
|
849
|
-
else {
|
|
850
|
-
filters.push({ key: valueKey, values: [searchValue] });
|
|
851
|
-
}
|
|
852
|
-
});
|
|
853
|
-
return filters;
|
|
854
|
-
}
|
|
855
|
-
resetPagination(documentDefinitionName) {
|
|
856
|
-
this.settingPaginationForDocName$.pipe(take(1)).subscribe(settingPaginationForDocName => {
|
|
857
|
-
if (documentDefinitionName !== settingPaginationForDocName) {
|
|
858
|
-
this.pagination$.next(undefined);
|
|
859
|
-
this.logger.debug('clear pagination');
|
|
860
|
-
this.settingPaginationForDocName$.next(documentDefinitionName);
|
|
861
|
-
this.setPagination(documentDefinitionName);
|
|
862
|
-
}
|
|
863
|
-
});
|
|
864
|
-
}
|
|
865
|
-
setPagination(documentDefinitionName) {
|
|
866
|
-
combineLatest([
|
|
867
|
-
this.hasStoredSearchRequest$,
|
|
868
|
-
this.storedSearchRequestKey$,
|
|
869
|
-
this.columns$,
|
|
870
|
-
this.dossierParameterService.queryPaginationParams$,
|
|
871
|
-
])
|
|
872
|
-
.pipe(take(1))
|
|
873
|
-
.subscribe(([hasStoredSearchRequest, storedSearchRequestKey, columns, queryPaginationParams]) => {
|
|
874
|
-
const defaultPagination = this.getDefaultPagination(columns);
|
|
875
|
-
const storedPagination = this.getStoredPagination(hasStoredSearchRequest, storedSearchRequestKey);
|
|
876
|
-
const paginationToUse = queryPaginationParams || storedPagination || defaultPagination;
|
|
877
|
-
this.logger.debug(`Set pagination: ${JSON.stringify(paginationToUse)}`);
|
|
878
|
-
this.pagination$.next(paginationToUse);
|
|
879
|
-
});
|
|
880
|
-
}
|
|
881
|
-
getDefaultPagination(columns) {
|
|
882
|
-
const defaultSortState = this.dossierService.getInitialSortState(columns);
|
|
883
|
-
return Object.assign(Object.assign({}, this.DEFAULT_PAGINATION), { sort: defaultSortState });
|
|
1259
|
+
this.paginationService.setPage(1);
|
|
1260
|
+
this.assigneeService.setAssigneeFilter(tab.nextId.toUpperCase());
|
|
884
1261
|
}
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
1262
|
+
refresh() {
|
|
1263
|
+
this.searchService.refresh();
|
|
1264
|
+
}
|
|
1265
|
+
openDocumentDefinitionNameSubscription() {
|
|
1266
|
+
this._documentDefinitionNameSubscription = this.route.params
|
|
1267
|
+
.pipe(map(params => params === null || params === void 0 ? void 0 : params.documentDefinitionName), filter(docDefName => !!docDefName), distinctUntilChanged())
|
|
1268
|
+
.subscribe(documentDefinitonName => {
|
|
1269
|
+
if (this._previousDocumentDefinitionName) {
|
|
1270
|
+
this.parameterService.clearParameters();
|
|
1271
|
+
this.parameterService.clearSearchFieldValues();
|
|
893
1272
|
}
|
|
1273
|
+
this._previousDocumentDefinitionName = documentDefinitonName;
|
|
1274
|
+
this.setLoading();
|
|
1275
|
+
this.paginationService.clearPagination();
|
|
1276
|
+
this.assigneeService.resetAssigneeFilter();
|
|
1277
|
+
this.listService.setDocumentDefinitionName(documentDefinitonName);
|
|
894
1278
|
});
|
|
895
1279
|
}
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
checkPage(documents) {
|
|
903
|
-
this.pagination$.pipe(take(1)).subscribe(pagination => {
|
|
904
|
-
const amountOfItems = documents.totalElements;
|
|
905
|
-
const amountOfPages = Math.ceil(amountOfItems / pagination.size);
|
|
906
|
-
const currentPage = pagination.page;
|
|
907
|
-
if (currentPage > amountOfPages) {
|
|
908
|
-
this.pagination$.next(Object.assign(Object.assign({}, pagination), { page: amountOfPages }));
|
|
909
|
-
}
|
|
910
|
-
});
|
|
1280
|
+
setLoading() {
|
|
1281
|
+
this.loadingFields = true;
|
|
1282
|
+
this.loadingPagination = true;
|
|
1283
|
+
this.loadingSearchFields = true;
|
|
1284
|
+
this.loadingAssigneeFilter = true;
|
|
1285
|
+
this.loadingDocumentItems = true;
|
|
911
1286
|
}
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
setTimeout(() => {
|
|
916
|
-
this.setSearchFieldValuesSubject$.next(values);
|
|
917
|
-
});
|
|
918
|
-
}
|
|
919
|
-
});
|
|
1287
|
+
setVisibleTabs() {
|
|
1288
|
+
var _a;
|
|
1289
|
+
this.visibleDossierTabs = ((_a = this.configService.config) === null || _a === void 0 ? void 0 : _a.visibleDossierListTabs) || null;
|
|
920
1290
|
}
|
|
921
1291
|
}
|
|
922
|
-
DossierListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
923
|
-
DossierListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
924
|
-
|
|
1292
|
+
DossierListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i6.TranslateService }, { token: DossierListService }, { token: DossierColumnService }, { token: DossierListAssigneeService }, { token: DossierListPaginationService }, { token: DossierListSearchService }, { token: DossierParameterService }, { token: i2.DocumentService }, { token: i1$1.Router }, { token: i1.ConfigService }, { token: i6$2.PageTitleService }, { token: i6$2.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1293
|
+
DossierListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierListComponent, selector: "valtimo-dossier-list", providers: [
|
|
1294
|
+
DossierListService,
|
|
1295
|
+
DossierColumnService,
|
|
1296
|
+
DossierListAssigneeService,
|
|
1297
|
+
DossierParameterService,
|
|
1298
|
+
DossierListPaginationService,
|
|
1299
|
+
DossierListSearchService,
|
|
1300
|
+
], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fields: fields$ | async,\n documentItems: documentItems$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"refresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.documentItems\"\n [fields]=\"obs.fields\"\n (rowClicked)=\"rowClick($event)\"\n [pagination]=\"pagination\"\n [viewMode]=\"true\"\n [header]=\"true\"\n paginationIdentifier=\"dossierList\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n [initialSortState]=\"pagination.sort\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n <sup class=\"ml-1 badge badge-pill badge-primary\">{{\n pagination?.collectionSize || 0\n }}</sup>\n </h3>\n </div>\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <ul\n *ngIf=\"visibleDossierTabs === null; else configuredTabs\"\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n [activeId]=\"assigneeFilter\"\n >\n <li ngbNavItem=\"ALL\" [title]=\"'dossier.tabs.ALL' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.ALL' | translate }}</a>\n </li>\n <li ngbNavItem=\"MINE\" [title]=\"'dossier.tabs.MINE' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.MINE' | translate }}</a>\n </li>\n <li ngbNavItem=\"OPEN\" [title]=\"'dossier.tabs.OPEN' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.OPEN' | translate }}</a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <ul\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n [activeId]=\"assigneeFilter\"\n >\n <li\n *ngFor=\"let tab of visibleDossierTabs\"\n [ngbNavItem]=\"tab\"\n [title]=\"'dossier.tabs.' + tab | translate\"\n >\n <a ngbNavLink>{{ 'dossier.tabs.' + tab | translate }}</a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n\n<ng-template #loading><valtimo-spinner></valtimo-spinner></ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6$2.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i6$2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i6$2.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i6$2.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$", "defaultValues"], outputs: ["doSearch"] }, { kind: "directive", type: i8.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i8.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i8.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "component", type: DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: ["loading"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
1301
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListComponent, decorators: [{
|
|
925
1302
|
type: Component,
|
|
926
|
-
args: [{ selector: 'valtimo-dossier-list', providers: [
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
1303
|
+
args: [{ selector: 'valtimo-dossier-list', providers: [
|
|
1304
|
+
DossierListService,
|
|
1305
|
+
DossierColumnService,
|
|
1306
|
+
DossierListAssigneeService,
|
|
1307
|
+
DossierParameterService,
|
|
1308
|
+
DossierListPaginationService,
|
|
1309
|
+
DossierListSearchService,
|
|
1310
|
+
], template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fields: fields$ | async,\n documentItems: documentItems$ | async,\n searchFields: searchFields$ | async,\n schema: schema$ | async,\n loaded:\n !loadingFields &&\n !loadingPagination &&\n !loadingSearchFields &&\n !loadingAssigneeFilter &&\n !loadingDocumentItems\n } as obs\"\n>\n <div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-dossier-list-actions\n [loading]=\"!obs.loaded\"\n (formFlowComplete)=\"refresh()\"\n ></valtimo-dossier-list-actions>\n <ng-container *ngIf=\"obs.loaded; else loading\">\n <ng-container *ngTemplateOutlet=\"searchFields; context: {obs: obs}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #searchFields let-obs=\"obs\">\n <div class=\"mb-3\">\n <valtimo-search-fields\n [searchFields]=\"obs.searchFields\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [defaultValues]=\"searchFieldValues$ | async\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.documentItems\"\n [fields]=\"obs.fields\"\n (rowClicked)=\"rowClick($event)\"\n [pagination]=\"pagination\"\n [viewMode]=\"true\"\n [header]=\"true\"\n paginationIdentifier=\"dossierList\"\n (paginationClicked)=\"pageChange($event)\"\n (paginationSet)=\"pageSizeChange($event)\"\n [initialSortState]=\"pagination.sort\"\n (sortChanged)=\"sortChanged($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">\n <sup class=\"ml-1 badge badge-pill badge-primary\">{{\n pagination?.collectionSize || 0\n }}</sup>\n </h3>\n </div>\n <div tabs *ngIf=\"canHaveAssignee\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-list>\n </valtimo-widget>\n</ng-template>\n\n<ng-template #tabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <ul\n *ngIf=\"visibleDossierTabs === null; else configuredTabs\"\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n [activeId]=\"assigneeFilter\"\n >\n <li ngbNavItem=\"ALL\" [title]=\"'dossier.tabs.ALL' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.ALL' | translate }}</a>\n </li>\n <li ngbNavItem=\"MINE\" [title]=\"'dossier.tabs.MINE' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.MINE' | translate }}</a>\n </li>\n <li ngbNavItem=\"OPEN\" [title]=\"'dossier.tabs.OPEN' | translate\">\n <a ngbNavLink>{{ 'dossier.tabs.OPEN' | translate }}</a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ng-container *ngIf=\"assigneeFilter$ | async as assigneeFilter\">\n <ul\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\n [activeId]=\"assigneeFilter\"\n >\n <li\n *ngFor=\"let tab of visibleDossierTabs\"\n [ngbNavItem]=\"tab\"\n [title]=\"'dossier.tabs.' + tab | translate\"\n >\n <a ngbNavLink>{{ 'dossier.tabs.' + tab | translate }}</a>\n </li>\n </ul>\n </ng-container>\n</ng-template>\n\n<ng-template #loading><valtimo-spinner></valtimo-spinner></ng-template>\n" }]
|
|
1311
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i6.TranslateService }, { type: DossierListService }, { type: DossierColumnService }, { type: DossierListAssigneeService }, { type: DossierListPaginationService }, { type: DossierListSearchService }, { type: DossierParameterService }, { type: i2.DocumentService }, { type: i1$1.Router }, { type: i1.ConfigService }, { type: i6$2.PageTitleService }, { type: i6$2.BreadcrumbService }]; } });
|
|
931
1312
|
|
|
932
1313
|
/*
|
|
933
1314
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1028,12 +1409,12 @@ class DossierDetailTabSummaryComponent {
|
|
|
1028
1409
|
this.taskDetail.openTaskDetails(task);
|
|
1029
1410
|
}
|
|
1030
1411
|
}
|
|
1031
|
-
DossierDetailTabSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1032
|
-
DossierDetailTabSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1033
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1412
|
+
DossierDetailTabSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabSummaryComponent, deps: [{ token: i1$1.Router }, { token: i2.DocumentService }, { token: i3.TaskService }, { token: i2$2.ProcessService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.ActivatedRoute }, { token: i5$1.FormService }, { token: i6$1.UserProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1413
|
+
DossierDetailTabSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabSummaryComponent, selector: "valtimo-dossier-detail-tab-summary", viewQueries: [{ propertyName: "taskDetail", first: true, predicate: ["taskDetail"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-sm-12 col-md-8 col-xl-9\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n\n <!--Current user tasks right side-->\n <div class=\"col-sm-12 col-md-4 col-xl-3\">\n <h4 class=\"user-tasks-title\">{{ 'summary.userTasks' | translate }}</h4>\n <ng-container *ngIf=\"!tasks.length\">\n <valtimo-widget>\n <div class=\"p-3\">\n <img class=\"float-left\" src=\"assets/audit-2.png\" height=\"25\" />\n <span class=\"float-right\">{{ 'summary.userTasksDoneState' | translate }}</span>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </ng-container>\n <ng-container *ngFor=\"let task of tasks\">\n <valtimo-widget>\n <div\n class=\"p-3 clickable hoverable\"\n (click)=\"rowTaskClick(task)\"\n *ngIf=\"!task.isLocked()\"\n >\n <span class=\"float-right badge badge-pill badge-primary\">{{\n 'summary.taskOpen' | translate\n }}</span>\n <strong>{{ task.name }}</strong>\n <div class=\"mt-1\">{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n <div class=\"p-3 hoverable\" *ngIf=\"task.isLocked()\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ 'summary.taskLocked' | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n <strong>{{ task.name }}</strong>\n <div>{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"init()\"\n (assignmentOfTaskChanged)=\"init()\"\n ></valtimo-task-detail-modal>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}.user-tasks-title{margin-top:0;margin-bottom:12px;font-weight:400;color:#000;height:20px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i6$2.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3.TaskDetailModalComponent, selector: "valtimo-task-detail-modal", outputs: ["formSubmit", "assignmentOfTaskChanged"] }, { kind: "directive", type: i8.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
1414
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabSummaryComponent, decorators: [{
|
|
1034
1415
|
type: Component,
|
|
1035
1416
|
args: [{ selector: 'valtimo-dossier-detail-tab-summary', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-sm-12 col-md-8 col-xl-9\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n\n <!--Current user tasks right side-->\n <div class=\"col-sm-12 col-md-4 col-xl-3\">\n <h4 class=\"user-tasks-title\">{{ 'summary.userTasks' | translate }}</h4>\n <ng-container *ngIf=\"!tasks.length\">\n <valtimo-widget>\n <div class=\"p-3\">\n <img class=\"float-left\" src=\"assets/audit-2.png\" height=\"25\" />\n <span class=\"float-right\">{{ 'summary.userTasksDoneState' | translate }}</span>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </ng-container>\n <ng-container *ngFor=\"let task of tasks\">\n <valtimo-widget>\n <div\n class=\"p-3 clickable hoverable\"\n (click)=\"rowTaskClick(task)\"\n *ngIf=\"!task.isLocked()\"\n >\n <span class=\"float-right badge badge-pill badge-primary\">{{\n 'summary.taskOpen' | translate\n }}</span>\n <strong>{{ task.name }}</strong>\n <div class=\"mt-1\">{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n <div class=\"p-3 hoverable\" *ngIf=\"task.isLocked()\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ 'summary.taskLocked' | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n <strong>{{ task.name }}</strong>\n <div>{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"init()\"\n (assignmentOfTaskChanged)=\"init()\"\n ></valtimo-task-detail-modal>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}.user-tasks-title{margin-top:0;margin-bottom:12px;font-weight:400;color:#000;height:20px}\n"] }]
|
|
1036
|
-
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.DocumentService }, { type: i3.TaskService }, { type: i2$2.ProcessService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$1.ActivatedRoute }, { type: i5$
|
|
1417
|
+
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.DocumentService }, { type: i3.TaskService }, { type: i2$2.ProcessService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$1.ActivatedRoute }, { type: i5$1.FormService }, { type: i6$1.UserProviderService }]; }, propDecorators: { taskDetail: [{
|
|
1037
1418
|
type: ViewChild,
|
|
1038
1419
|
args: ['taskDetail']
|
|
1039
1420
|
}] } });
|
|
@@ -1074,9 +1455,9 @@ class DossierDetailTabProgressComponent {
|
|
|
1074
1455
|
this.selectedProcessInstanceId = processInstanceId;
|
|
1075
1456
|
}
|
|
1076
1457
|
}
|
|
1077
|
-
DossierDetailTabProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1078
|
-
DossierDetailTabProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1079
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1458
|
+
DossierDetailTabProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabProgressComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1459
|
+
DossierDetailTabProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabProgressComponent, selector: "valtimo-dossier-detail-tab-progress", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"full-height-tab-content\"\n *ngIf=\"\n processDocumentInstances && processDocumentInstances.length > 0;\n else emptyProcessDocumentInstances\n \"\n>\n <div class=\"col-3\">\n <label><strong>Process</strong></label\n ><br />\n <select class=\"form-control\" (change)=\"loadProcessInstance($event.target.value)\">\n <option\n *ngFor=\"let processDocumentInstance of processDocumentInstances\"\n [value]=\"processDocumentInstance.id.processInstanceId\"\n [selected]=\"selectedProcessInstanceId === processDocumentInstance.id.processInstanceId\"\n >\n {{ processDocumentInstance.processName }}\n </option>\n </select>\n </div>\n <valtimo-process-diagram\n [processInstanceId]=\"selectedProcessInstanceId\"\n ></valtimo-process-diagram>\n</div>\n\n<ng-template #emptyProcessDocumentInstances>\n <span> {{ 'progress.noProcessDocumentInstances' | translate }}</span>\n</ng-template>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.ProcessDiagramComponent, selector: "valtimo-process-diagram", inputs: ["processDefinitionKey", "processInstanceId"], outputs: ["importDone"] }, { kind: "directive", type: i5$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
1460
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabProgressComponent, decorators: [{
|
|
1080
1461
|
type: Component,
|
|
1081
1462
|
args: [{ selector: 'valtimo-dossier-detail-tab-progress', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"full-height-tab-content\"\n *ngIf=\"\n processDocumentInstances && processDocumentInstances.length > 0;\n else emptyProcessDocumentInstances\n \"\n>\n <div class=\"col-3\">\n <label><strong>Process</strong></label\n ><br />\n <select class=\"form-control\" (change)=\"loadProcessInstance($event.target.value)\">\n <option\n *ngFor=\"let processDocumentInstance of processDocumentInstances\"\n [value]=\"processDocumentInstance.id.processInstanceId\"\n [selected]=\"selectedProcessInstanceId === processDocumentInstance.id.processInstanceId\"\n >\n {{ processDocumentInstance.processName }}\n </option>\n </select>\n </div>\n <valtimo-process-diagram\n [processInstanceId]=\"selectedProcessInstanceId\"\n ></valtimo-process-diagram>\n</div>\n\n<ng-template #emptyProcessDocumentInstances>\n <span> {{ 'progress.noProcessDocumentInstances' | translate }}</span>\n</ng-template>\n", styles: [".full-height-tab-content{height:calc(100vh - 380px);width:100%}\n"] }]
|
|
1082
1463
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }]; } });
|
|
@@ -1137,9 +1518,9 @@ class DossierDetailTabAuditComponent {
|
|
|
1137
1518
|
this.loadAuditPage(this.currentAuditPage);
|
|
1138
1519
|
}
|
|
1139
1520
|
}
|
|
1140
|
-
DossierDetailTabAuditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1141
|
-
DossierDetailTabAuditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1521
|
+
DossierDetailTabAuditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabAuditComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3$1.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1522
|
+
DossierDetailTabAuditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabAuditComponent, selector: "valtimo-dossier-detail-tab-audit", outputs: { paginationClicked: "paginationClicked" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate : {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate : {number: pagination.content.length})\n : ('list.showingResults'\n | translate : {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n", styles: [".audit-pagination{margin:0 -1.923rem -1.923rem!important;border-top:1px solid #dee2e6}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i6$2.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i8.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
1523
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabAuditComponent, decorators: [{
|
|
1143
1524
|
type: Component,
|
|
1144
1525
|
args: [{ selector: 'valtimo-dossier-detail-tab-audit', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n</div>\n<valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n>\n</valtimo-spinner>\n<div\n class=\"pagination-holder audit-pagination bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && pagination.totalElements > pagination.size\"\n>\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate : {current: pagination.number, total: pagination.totalPages}\n }}</strong>\n <br />\n {{\n pagination.totalElements === 1\n ? ('list.showingResult' | translate : {number: pagination.content.length})\n : ('list.showingResults'\n | translate : {number: pagination.content.length, total: pagination.totalElements})\n }}\n </div>\n <div class=\"col-8\">\n <ngb-pagination\n *ngIf=\"pagination.totalElements > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.totalElements\"\n [(page)]=\"pagination.number\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"onChangePagination(pagination.number)\"\n ></ngb-pagination>\n </div>\n</div>\n", styles: [".audit-pagination{margin:0 -1.923rem -1.923rem!important;border-top:1px solid #dee2e6}\n"] }]
|
|
1145
1526
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$1.NgxSpinnerService }]; }, propDecorators: { paginationClicked: [{
|
|
@@ -1182,13 +1563,6 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1182
1563
|
{ key: 'createdOn', label: 'Created on' },
|
|
1183
1564
|
{ key: 'createdBy', label: 'Created by' },
|
|
1184
1565
|
];
|
|
1185
|
-
this.actions = [
|
|
1186
|
-
{
|
|
1187
|
-
columnName: '',
|
|
1188
|
-
iconClass: 'mdi mdi-open-in-new',
|
|
1189
|
-
callback: this.downloadDocument.bind(this),
|
|
1190
|
-
},
|
|
1191
|
-
];
|
|
1192
1566
|
this.uploadProcessLinkedSet = false;
|
|
1193
1567
|
this.uploading$ = new BehaviorSubject(false);
|
|
1194
1568
|
this.showModal$ = new Subject();
|
|
@@ -1210,6 +1584,7 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1210
1584
|
this.showZaakLinkWarning = true;
|
|
1211
1585
|
return of([]);
|
|
1212
1586
|
}));
|
|
1587
|
+
this.downloadingFileIndexes$ = new BehaviorSubject([]);
|
|
1213
1588
|
const snapshot = this.route.snapshot.paramMap;
|
|
1214
1589
|
this.documentId = snapshot.get('documentId') || '';
|
|
1215
1590
|
this.documentDefinitionName = snapshot.get('documentDefinitionName') || '';
|
|
@@ -1223,8 +1598,14 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1223
1598
|
this.fileToBeUploaded$.next(file);
|
|
1224
1599
|
this.showModal$.next(null);
|
|
1225
1600
|
}
|
|
1226
|
-
downloadDocument(relatedFile) {
|
|
1227
|
-
this.
|
|
1601
|
+
downloadDocument(relatedFile, index) {
|
|
1602
|
+
this.downloadingFileIndexes$.pipe(take$1(1)).subscribe(indexes => {
|
|
1603
|
+
this.downloadingFileIndexes$.next([...indexes, index]);
|
|
1604
|
+
const finished$ = this.downloadService.downloadFile(`/api/v1/documenten-api/${relatedFile.pluginConfigurationId}/files/${relatedFile.fileId}/download`, relatedFile.fileName);
|
|
1605
|
+
finished$.pipe(take$1(1)).subscribe(() => {
|
|
1606
|
+
this.downloadingFileIndexes$.next(this.downloadingFileIndexes$.getValue().filter(downloadIndex => downloadIndex !== index));
|
|
1607
|
+
});
|
|
1608
|
+
});
|
|
1228
1609
|
}
|
|
1229
1610
|
metadataSet(metadata) {
|
|
1230
1611
|
this.uploading$.next(true);
|
|
@@ -1242,6 +1623,9 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1242
1623
|
}))
|
|
1243
1624
|
.subscribe();
|
|
1244
1625
|
}
|
|
1626
|
+
indexesIncludeIndex(indexes, index) {
|
|
1627
|
+
return indexes.includes(index);
|
|
1628
|
+
}
|
|
1245
1629
|
isUserAdmin() {
|
|
1246
1630
|
this.userProviderService.getUserSubject().subscribe(userIdentity => {
|
|
1247
1631
|
this.isAdmin = userIdentity.roles.includes('ROLE_ADMIN');
|
|
@@ -1261,12 +1645,12 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1261
1645
|
});
|
|
1262
1646
|
}
|
|
1263
1647
|
}
|
|
1264
|
-
DossierDetailTabDocumentenApiDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1265
|
-
DossierDetailTabDocumentenApiDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1266
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1648
|
+
DossierDetailTabDocumentenApiDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3$2.ToastrService }, { token: i4$1.UploadProviderService }, { token: i4$1.DownloadService }, { token: i3$3.PromptService }, { token: i6.TranslateService }, { token: i1.ConfigService }, { token: i6$1.UserProviderService }, { token: FileSortService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1649
|
+
DossierDetailTabDocumentenApiDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabDocumentenApiDocumentsComponent, selector: "valtimo-dossier-detail-tab-documenten-api-documents", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{loading: loading$ | async} as obs\">\n <div *ngIf=\"uploadProcessLinkedSet && !uploadProcessLinked\">\n <div\n *ngIf=\"isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <div *ngIf=\"showZaakLinkWarning\">\n <div\n [translate]=\"'dossier.documenten.noZaakFound'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n\n <valtimo-dropzone\n *ngIf=\"!obs.loading\"\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [camera]=\"false\"\n [disabled]=\"\n !uploadProcessLinkedSet || !uploadProcessLinked || obs.loading || showZaakLinkWarning\n \"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"true\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n\n <valtimo-widget>\n <valtimo-list\n [ngClass]=\"{hidden: obs.loading}\"\n [fields]=\"fields\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [items]=\"relatedFiles$ | async\"\n [viewMode]=\"true\"\n [lastColumnTemplate]=\"downloadButton\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n <ng-container *ngTemplateOutlet=\"loading; context: {loading: obs.loading}\"></ng-container>\n </valtimo-widget>\n</ng-container>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hide$]=\"hideModal$\"\n [show$]=\"showModal$\"\n></valtimo-documenten-api-metadata-modal>\n\n<ng-template #loading let-loading=\"loading\">\n <div *ngIf=\"loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #downloadButton let-item=\"item\" let-index=\"index\">\n <div\n class=\"download-button-container\"\n *ngIf=\"{isDownloading: indexesIncludeIndex(downloadingFileIndexes$ | async, index)} as vars\"\n >\n <button\n *ngIf=\"!vars.isDownloading\"\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"downloadDocument(item, index)\"\n >\n {{ 'interface.download' | translate\n }}<svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n <cds-loading size=\"sm\" *ngIf=\"vars.isDownloading\"></cds-loading>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.download-button-container{display:flex;width:100%;flex-direction:row;justify-content:flex-end;align-items:center;min-height:32px}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6$2.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i6$2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "directive", type: i6.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6$2.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i6$2.DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["show$", "hide$", "disabled$", "file$", "documentTitle", "disableDocumentTitle", "filename", "disableFilename", "author", "disableAuthor", "status", "disableStatus", "language", "disableLanguage", "documentType", "disableDocumentType", "description", "disableDescription", "confidentialityLevel", "disableConfidentialityLevel"], outputs: ["metadata"] }, { kind: "component", type: i12.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i12.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i12.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
1650
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, decorators: [{
|
|
1267
1651
|
type: Component,
|
|
1268
|
-
args: [{ selector: 'valtimo-dossier-detail-tab-documenten-api-documents', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{loading: loading$ | async} as obs\">\n <div *ngIf=\"uploadProcessLinkedSet && !uploadProcessLinked\">\n <div\n *ngIf=\"isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <div *ngIf=\"showZaakLinkWarning\">\n <div\n [translate]=\"'dossier.documenten.noZaakFound'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [camera]=\"false\"\n [disabled]=\"\n !uploadProcessLinkedSet || !uploadProcessLinked || obs.loading || showZaakLinkWarning\n \"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"true\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n\n <valtimo-widget>\n <valtimo-list\n [
|
|
1269
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$2.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i3$3.PromptService }, { type: i6
|
|
1652
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-documenten-api-documents', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{loading: loading$ | async} as obs\">\n <div *ngIf=\"uploadProcessLinkedSet && !uploadProcessLinked\">\n <div\n *ngIf=\"isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <div *ngIf=\"showZaakLinkWarning\">\n <div\n [translate]=\"'dossier.documenten.noZaakFound'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n\n <valtimo-dropzone\n *ngIf=\"!obs.loading\"\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [camera]=\"false\"\n [disabled]=\"\n !uploadProcessLinkedSet || !uploadProcessLinked || obs.loading || showZaakLinkWarning\n \"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"true\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n\n <valtimo-widget>\n <valtimo-list\n [ngClass]=\"{hidden: obs.loading}\"\n [fields]=\"fields\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [items]=\"relatedFiles$ | async\"\n [viewMode]=\"true\"\n [lastColumnTemplate]=\"downloadButton\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n <ng-container *ngTemplateOutlet=\"loading; context: {loading: obs.loading}\"></ng-container>\n </valtimo-widget>\n</ng-container>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [disabled$]=\"modalDisabled$\"\n [file$]=\"fileToBeUploaded$\"\n [hide$]=\"hideModal$\"\n [show$]=\"showModal$\"\n></valtimo-documenten-api-metadata-modal>\n\n<ng-template #loading let-loading=\"loading\">\n <div *ngIf=\"loading\" class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n\n<ng-template #downloadButton let-item=\"item\" let-index=\"index\">\n <div\n class=\"download-button-container\"\n *ngIf=\"{isDownloading: indexesIncludeIndex(downloadingFileIndexes$ | async, index)} as vars\"\n >\n <button\n *ngIf=\"!vars.isDownloading\"\n cdsButton=\"primary\"\n size=\"sm\"\n (click)=\"downloadDocument(item, index)\"\n >\n {{ 'interface.download' | translate\n }}<svg class=\"cds--btn__icon\" cdsIcon=\"download\" size=\"16\"></svg>\n </button>\n <cds-loading size=\"sm\" *ngIf=\"vars.isDownloading\"></cds-loading>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.hidden{display:none}.loading-container{padding:var(--cds-grid-margin);display:flex;align-items:center;justify-content:center}.download-button-container{display:flex;width:100%;flex-direction:row;justify-content:flex-end;align-items:center;min-height:32px}\n"] }]
|
|
1653
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$2.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i3$3.PromptService }, { type: i6.TranslateService }, { type: i1.ConfigService }, { type: i6$1.UserProviderService }, { type: FileSortService }]; } });
|
|
1270
1654
|
|
|
1271
1655
|
/*
|
|
1272
1656
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1379,12 +1763,12 @@ class DossierDetailTabS3DocumentsComponent {
|
|
|
1379
1763
|
this.refetch$.next(null);
|
|
1380
1764
|
}
|
|
1381
1765
|
}
|
|
1382
|
-
DossierDetailTabS3DocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1383
|
-
DossierDetailTabS3DocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1384
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1766
|
+
DossierDetailTabS3DocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3$2.ToastrService }, { token: i4$1.UploadProviderService }, { token: i4$1.DownloadService }, { token: i3$3.PromptService }, { token: i6.TranslateService }, { token: i1.ConfigService }, { token: FileSortService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1767
|
+
DossierDetailTabS3DocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabS3DocumentsComponent, selector: "valtimo-dossier-detail-tab-s3-documents", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [viewMode]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "component", type: i6$2.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i6$2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i6$2.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
1768
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, decorators: [{
|
|
1385
1769
|
type: Component,
|
|
1386
1770
|
args: [{ selector: 'valtimo-dossier-detail-tab-s3-documents', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [viewMode]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1387
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$2.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i3$3.PromptService }, { type: i6
|
|
1771
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$2.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i3$3.PromptService }, { type: i6.TranslateService }, { type: i1.ConfigService }, { type: FileSortService }]; } });
|
|
1388
1772
|
|
|
1389
1773
|
/*
|
|
1390
1774
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1413,9 +1797,9 @@ class DossierDetailTabDocumentsComponent {
|
|
|
1413
1797
|
this.s3UploadProvider = config.uploadProvider === UploadProvider.S3;
|
|
1414
1798
|
}
|
|
1415
1799
|
}
|
|
1416
|
-
DossierDetailTabDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1417
|
-
DossierDetailTabDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1800
|
+
DossierDetailTabDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabDocumentsComponent, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1801
|
+
DossierDetailTabDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabDocumentsComponent, selector: "valtimo-dossier-detail-tab-documents", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-dossier-detail-tab-s3-documents\n *ngIf=\"s3UploadProvider || openZaakUploadProvider\"\n></valtimo-dossier-detail-tab-s3-documents>\n<valtimo-dossier-detail-tab-documenten-api-documents *ngIf=\"documentenApiUploadProvider\">\n</valtimo-dossier-detail-tab-documenten-api-documents>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DossierDetailTabDocumentenApiDocumentsComponent, selector: "valtimo-dossier-detail-tab-documenten-api-documents" }, { kind: "component", type: DossierDetailTabS3DocumentsComponent, selector: "valtimo-dossier-detail-tab-s3-documents" }] });
|
|
1802
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabDocumentsComponent, decorators: [{
|
|
1419
1803
|
type: Component,
|
|
1420
1804
|
args: [{ selector: 'valtimo-dossier-detail-tab-documents', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-dossier-detail-tab-s3-documents\n *ngIf=\"s3UploadProvider || openZaakUploadProvider\"\n></valtimo-dossier-detail-tab-s3-documents>\n<valtimo-dossier-detail-tab-documenten-api-documents *ngIf=\"documentenApiUploadProvider\">\n</valtimo-dossier-detail-tab-documenten-api-documents>\n" }]
|
|
1421
1805
|
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
@@ -1542,9 +1926,9 @@ class DossierDetailTabObjectTypeComponent {
|
|
|
1542
1926
|
this.show();
|
|
1543
1927
|
}
|
|
1544
1928
|
}
|
|
1545
|
-
DossierDetailTabObjectTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1546
|
-
DossierDetailTabObjectTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1547
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1929
|
+
DossierDetailTabObjectTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabObjectTypeComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3$3.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1930
|
+
DossierDetailTabObjectTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabObjectTypeComponent, selector: "valtimo-object-type", viewQueries: [{ propertyName: "viewObjectModal", first: true, predicate: ["viewObjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objects: objects$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n hasData: hasData$ | async\n } as obs\"\n>\n <v-table\n *ngIf=\"obs.hasData || obs.loading\"\n [loading]=\"obs.loading\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n (editButtonClicked)=\"rowClicked($event)\"\n ></v-table>\n\n <v-paragraph *ngIf=\"!obs.hasData && !obs.loading\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noObjectType' | translate\n }}</v-paragraph>\n</ng-container>\n\n<v-modal #viewObjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3$3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i3$3.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "maxPaginationItemSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "component", type: i3$3.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3$3.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
1931
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabObjectTypeComponent, decorators: [{
|
|
1548
1932
|
type: Component,
|
|
1549
1933
|
args: [{ selector: 'valtimo-object-type', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objects: objects$ | async,\n columns: columns$ | async,\n loading: loading$ | async,\n hasData: hasData$ | async\n } as obs\"\n>\n <v-table\n *ngIf=\"obs.hasData || obs.loading\"\n [loading]=\"obs.loading\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n (editButtonClicked)=\"rowClicked($event)\"\n ></v-table>\n\n <v-paragraph *ngIf=\"!obs.hasData && !obs.loading\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noObjectType' | translate\n }}</v-paragraph>\n</ng-container>\n\n<v-modal #viewObjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
1550
1934
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$3.ModalService }]; }, propDecorators: { viewObjectModal: [{
|
|
@@ -1613,9 +1997,9 @@ class TabService {
|
|
|
1613
1997
|
});
|
|
1614
1998
|
}
|
|
1615
1999
|
}
|
|
1616
|
-
TabService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1617
|
-
TabService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
1618
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2000
|
+
TabService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TabService, deps: [{ token: TAB_MAP }, { token: i1.ConfigService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2001
|
+
TabService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TabService, providedIn: 'root' });
|
|
2002
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TabService, decorators: [{
|
|
1619
2003
|
type: Injectable,
|
|
1620
2004
|
args: [{
|
|
1621
2005
|
providedIn: 'root',
|
|
@@ -1643,12 +2027,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
1643
2027
|
* limitations under the License.
|
|
1644
2028
|
*/
|
|
1645
2029
|
class DossierSupportingProcessStartModalComponent {
|
|
1646
|
-
constructor(route, router, processService, documentService, formLinkService, logger, userProviderService) {
|
|
2030
|
+
constructor(route, router, processService, processLinkService, documentService, formLinkService, formFlowService, logger, userProviderService) {
|
|
1647
2031
|
this.route = route;
|
|
1648
2032
|
this.router = router;
|
|
1649
2033
|
this.processService = processService;
|
|
2034
|
+
this.processLinkService = processLinkService;
|
|
1650
2035
|
this.documentService = documentService;
|
|
1651
2036
|
this.formLinkService = formLinkService;
|
|
2037
|
+
this.formFlowService = formFlowService;
|
|
1652
2038
|
this.logger = logger;
|
|
1653
2039
|
this.userProviderService = userProviderService;
|
|
1654
2040
|
this.isAdmin$ = this.userProviderService
|
|
@@ -1656,47 +2042,85 @@ class DossierSupportingProcessStartModalComponent {
|
|
|
1656
2042
|
.pipe(map$1(userIdentity => { var _a; return (_a = userIdentity === null || userIdentity === void 0 ? void 0 : userIdentity.roles) === null || _a === void 0 ? void 0 : _a.includes('ROLE_ADMIN'); }));
|
|
1657
2043
|
this.formSubmit = new EventEmitter();
|
|
1658
2044
|
}
|
|
1659
|
-
|
|
2045
|
+
loadProcessLink() {
|
|
2046
|
+
this.formAssociation = null;
|
|
2047
|
+
this.processLinkId = null;
|
|
1660
2048
|
this.formDefinition = null;
|
|
1661
|
-
this.
|
|
1662
|
-
|
|
1663
|
-
.
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
}
|
|
1688
|
-
|
|
1689
|
-
default:
|
|
1690
|
-
this.logger.fatal('Unsupported class name');
|
|
2049
|
+
this.formFlowInstanceId = null;
|
|
2050
|
+
this.processService
|
|
2051
|
+
.getProcessDefinitionStartProcessLink(this.processDefinitionId, this.documentId, null)
|
|
2052
|
+
.pipe(take$1(1))
|
|
2053
|
+
.subscribe(startProcessResult => {
|
|
2054
|
+
if (startProcessResult) {
|
|
2055
|
+
switch (startProcessResult.type) {
|
|
2056
|
+
case 'form':
|
|
2057
|
+
this.formDefinition = startProcessResult.properties.prefilledForm;
|
|
2058
|
+
this.processLinkId = startProcessResult.processLinkId;
|
|
2059
|
+
break;
|
|
2060
|
+
case 'form-flow':
|
|
2061
|
+
this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
|
|
2062
|
+
break;
|
|
2063
|
+
}
|
|
2064
|
+
this.modal.show();
|
|
2065
|
+
}
|
|
2066
|
+
else {
|
|
2067
|
+
// backwards compatibility for form associations
|
|
2068
|
+
this.formLinkService
|
|
2069
|
+
.getStartEventFormDefinitionByProcessDefinitionKey(this.processDefinitionKey, this.documentId)
|
|
2070
|
+
.pipe(take$1(1))
|
|
2071
|
+
.subscribe({
|
|
2072
|
+
next: formDefinitionWithFormAssociation => this.openFormAssociation(formDefinitionWithFormAssociation),
|
|
2073
|
+
error: error => {
|
|
2074
|
+
this.modal.show();
|
|
2075
|
+
},
|
|
2076
|
+
});
|
|
1691
2077
|
}
|
|
1692
|
-
}, errors => {
|
|
1693
|
-
this.modal.show();
|
|
1694
2078
|
});
|
|
1695
2079
|
}
|
|
2080
|
+
openFormAssociation(formDefinitionWithFormAssociation) {
|
|
2081
|
+
this.formAssociation = formDefinitionWithFormAssociation.formAssociation;
|
|
2082
|
+
const className = this.formAssociation.formLink.className.split('.');
|
|
2083
|
+
const linkType = className[className.length - 1];
|
|
2084
|
+
switch (linkType) {
|
|
2085
|
+
case 'BpmnElementFormIdLink':
|
|
2086
|
+
this.formDefinition = formDefinitionWithFormAssociation;
|
|
2087
|
+
this.documentService.getDocument(this.documentId).subscribe(document => {
|
|
2088
|
+
this.submission = {
|
|
2089
|
+
data: document.content,
|
|
2090
|
+
};
|
|
2091
|
+
}, () => noop());
|
|
2092
|
+
this.modal.show();
|
|
2093
|
+
break;
|
|
2094
|
+
case 'BpmnElementFormFlowIdLink':
|
|
2095
|
+
this.formFlowService
|
|
2096
|
+
.createInstanceForNewProcess(this.processDefinitionKey, {
|
|
2097
|
+
documentId: this.documentId,
|
|
2098
|
+
documentDefinitionName: null,
|
|
2099
|
+
})
|
|
2100
|
+
.subscribe(result => (this.formFlowInstanceId = result.formFlowInstanceId));
|
|
2101
|
+
this.modal.show();
|
|
2102
|
+
break;
|
|
2103
|
+
case 'BpmnElementUrlLink':
|
|
2104
|
+
const url = this.router.serializeUrl(this.router.createUrlTree([this.formAssociation.formLink.url]));
|
|
2105
|
+
window.open(url, '_blank');
|
|
2106
|
+
break;
|
|
2107
|
+
case 'BpmnElementAngularStateUrlLink':
|
|
2108
|
+
this.route.params.pipe(take$1(1)).subscribe(params => {
|
|
2109
|
+
const documentId = params === null || params === void 0 ? void 0 : params.documentId;
|
|
2110
|
+
this.router.navigate([this.formAssociation.formLink.url], {
|
|
2111
|
+
state: Object.assign({}, (documentId && { documentId })),
|
|
2112
|
+
});
|
|
2113
|
+
});
|
|
2114
|
+
break;
|
|
2115
|
+
default:
|
|
2116
|
+
this.logger.fatal('Unsupported class name');
|
|
2117
|
+
}
|
|
2118
|
+
}
|
|
1696
2119
|
openModal(processDocumentDefinition, documentId) {
|
|
1697
2120
|
this.documentId = documentId;
|
|
1698
2121
|
this.documentDefinitionName = processDocumentDefinition.id.documentDefinitionId.name;
|
|
1699
2122
|
this.processDefinitionKey = processDocumentDefinition.id.processDefinitionKey;
|
|
2123
|
+
this.processDefinitionId = processDocumentDefinition.latestVersionId;
|
|
1700
2124
|
this.processName = processDocumentDefinition.processName;
|
|
1701
2125
|
this.options = new FormioOptionsImpl();
|
|
1702
2126
|
this.options.disableAlerts = true;
|
|
@@ -1704,30 +2128,47 @@ class DossierSupportingProcessStartModalComponent {
|
|
|
1704
2128
|
callback(null, submission);
|
|
1705
2129
|
};
|
|
1706
2130
|
this.options.setHooks(formioBeforeSubmit);
|
|
1707
|
-
this.
|
|
2131
|
+
this.loadProcessLink();
|
|
1708
2132
|
}
|
|
1709
2133
|
onSubmit(submission) {
|
|
1710
2134
|
this.formioSubmission = submission;
|
|
1711
|
-
this.
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
2135
|
+
if (this.processLinkId) {
|
|
2136
|
+
this.processLinkService
|
|
2137
|
+
.submitForm(this.processLinkId, submission.data, this.documentId)
|
|
2138
|
+
.subscribe({
|
|
2139
|
+
next: (formSubmissionResult) => {
|
|
2140
|
+
this.formSubmitted();
|
|
2141
|
+
},
|
|
2142
|
+
error: errors => {
|
|
2143
|
+
this.form.showErrors(errors);
|
|
2144
|
+
},
|
|
2145
|
+
});
|
|
2146
|
+
}
|
|
2147
|
+
else {
|
|
2148
|
+
this.formLinkService
|
|
2149
|
+
.onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data, this.documentId)
|
|
2150
|
+
.subscribe((formSubmissionResult) => {
|
|
2151
|
+
this.formSubmitted();
|
|
2152
|
+
}, errors => {
|
|
2153
|
+
this.form.showErrors(errors);
|
|
2154
|
+
});
|
|
2155
|
+
}
|
|
2156
|
+
}
|
|
2157
|
+
formSubmitted() {
|
|
2158
|
+
this.modal.hide();
|
|
2159
|
+
this.formSubmit.emit();
|
|
1719
2160
|
}
|
|
1720
2161
|
gotoFormLinkScreen() {
|
|
1721
2162
|
this.modal.hide();
|
|
1722
2163
|
this.router.navigate(['form-links'], { queryParams: { process: this.processDefinitionKey } });
|
|
1723
2164
|
}
|
|
1724
2165
|
}
|
|
1725
|
-
DossierSupportingProcessStartModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1726
|
-
DossierSupportingProcessStartModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1727
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2166
|
+
DossierSupportingProcessStartModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierSupportingProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$2.ProcessService }, { token: i4.ProcessLinkService }, { token: i2.DocumentService }, { token: i4.FormLinkService }, { token: i4.FormFlowService }, { token: i1$2.NGXLogger }, { token: i6$1.UserProviderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2167
|
+
DossierSupportingProcessStartModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: { formSubmit: "formSubmit" }, viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true }, { propertyName: "modal", first: true, predicate: ["supportingProcessStartModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (processDefinitionKey | translate) !== processDefinitionKey\n ? (processDefinitionKey | translate)\n : processName\n \"\n>\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formDefinition && !formFlowInstanceId\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */#supportingProcessStartModal .formio-component-submit{text-align:right}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i6$2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i4.FormFlowComponent, selector: "valtimo-form-flow", inputs: ["formIoFormData", "formFlowInstanceId"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
2168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierSupportingProcessStartModalComponent, decorators: [{
|
|
1728
2169
|
type: Component,
|
|
1729
|
-
args: [{ selector: 'valtimo-dossier-supporting-process-start-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (processDefinitionKey | translate) !== processDefinitionKey\n ? (processDefinitionKey | translate)\n : processName\n \"\n>\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */#supportingProcessStartModal .formio-component-submit{text-align:right}\n"] }]
|
|
1730
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i2.DocumentService }, { type: i4.FormLinkService }, { type:
|
|
2170
|
+
args: [{ selector: 'valtimo-dossier-supporting-process-start-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (processDefinitionKey | translate) !== processDefinitionKey\n ? (processDefinitionKey | translate)\n : processName\n \"\n>\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"formFlowInstanceId\">\n <valtimo-form-flow\n #formFlow\n [formFlowInstanceId]=\"formFlowInstanceId\"\n (formFlowComplete)=\"formSubmitted()\"\n ></valtimo-form-flow>\n </div>\n <div body *ngIf=\"!formDefinition && !formFlowInstanceId\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */#supportingProcessStartModal .formio-component-submit{text-align:right}\n"] }]
|
|
2171
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i4.ProcessLinkService }, { type: i2.DocumentService }, { type: i4.FormLinkService }, { type: i4.FormFlowService }, { type: i1$2.NGXLogger }, { type: i6$1.UserProviderService }]; }, propDecorators: { form: [{
|
|
1731
2172
|
type: ViewChild,
|
|
1732
2173
|
args: ['form', { static: false }]
|
|
1733
2174
|
}], modal: [{
|
|
@@ -1755,6 +2196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
1755
2196
|
class DossierAssignUserComponent {
|
|
1756
2197
|
constructor(documentService) {
|
|
1757
2198
|
this.documentService = documentService;
|
|
2199
|
+
this.hasPermission = true;
|
|
1758
2200
|
this.assignmentOfDocumentChanged = new EventEmitter();
|
|
1759
2201
|
this.userIdToAssign = null;
|
|
1760
2202
|
this.candidateUsersForDocument$ = new BehaviorSubject(undefined);
|
|
@@ -1838,17 +2280,19 @@ class DossierAssignUserComponent {
|
|
|
1838
2280
|
this.disabled$.next(true);
|
|
1839
2281
|
}
|
|
1840
2282
|
}
|
|
1841
|
-
DossierAssignUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1842
|
-
DossierAssignUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1843
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2283
|
+
DossierAssignUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierAssignUserComponent, deps: [{ token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2284
|
+
DossierAssignUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName", hasPermission: "hasPermission" }, outputs: { assignmentOfDocumentChanged: "assignmentOfDocumentChanged" }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForDocument$ | async,\n idOnServer: assignedIdOnServer$ | async,\n fullName: assignedUserFullName$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [hasSelection]=\"\n userIdToAssign === obs.idOnServer && obs.idOnServer !== null && obs.fullName\n \"\n id=\"dossier-candidates-dropdown\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (itemSelected)=\"assignDocument($event)\"\n (clearSelection)=\"unassignDocument()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{font-size:13px}:host::ng-deep #dossier-candidates-dropdown h5{margin-block:0}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width", "hasPermission"], outputs: ["itemSelected", "clearSelection"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
2285
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierAssignUserComponent, decorators: [{
|
|
1844
2286
|
type: Component,
|
|
1845
|
-
args: [{ selector: 'valtimo-dossier-assign-user', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForDocument$ | async,\n idOnServer: assignedIdOnServer$ | async,\n fullName: assignedUserFullName$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [
|
|
2287
|
+
args: [{ selector: 'valtimo-dossier-assign-user', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n candidateUsers: candidateUsersForDocument$ | async,\n idOnServer: assignedIdOnServer$ | async,\n fullName: assignedUserFullName$ | async,\n disabled: disabled$ | async\n } as obs\"\n>\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12 pl-0 d-flex flex-row align-items-center\">\n <ng-container *ngIf=\"obs.candidateUsers; else loading\">\n <valtimo-searchable-dropdown-select\n [buttonText]=\"'assignDocument.header' | translate\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [disabled]=\"obs.disabled\"\n [hasPermission]=\"hasPermission\"\n [hasSelection]=\"\n userIdToAssign === obs.idOnServer && obs.idOnServer !== null && obs.fullName\n \"\n id=\"dossier-candidates-dropdown\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [style]=\"'underlinedText'\"\n [width]=\"250\"\n (itemSelected)=\"assignDocument($event)\"\n (clearSelection)=\"unassignDocument()\"\n >\n </valtimo-searchable-dropdown-select>\n </ng-container>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <h5>\n <b>{{ 'assignDocument.fetchingUsers' | translate }}</b>\n </h5>\n</ng-template>\n", styles: [".container-fluid{color:#959595}valtimo-searchable-dropdown-select{font-size:13px}:host::ng-deep #dossier-candidates-dropdown h5{margin-block:0}\n"] }]
|
|
1846
2288
|
}], ctorParameters: function () { return [{ type: i2.DocumentService }]; }, propDecorators: { documentId: [{
|
|
1847
2289
|
type: Input
|
|
1848
2290
|
}], assigneeId: [{
|
|
1849
2291
|
type: Input
|
|
1850
2292
|
}], assigneeFullName: [{
|
|
1851
2293
|
type: Input
|
|
2294
|
+
}], hasPermission: [{
|
|
2295
|
+
type: Input
|
|
1852
2296
|
}], assignmentOfDocumentChanged: [{
|
|
1853
2297
|
type: Output
|
|
1854
2298
|
}] } });
|
|
@@ -1869,7 +2313,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
1869
2313
|
* limitations under the License.
|
|
1870
2314
|
*/
|
|
1871
2315
|
class DossierDetailComponent {
|
|
1872
|
-
constructor(componentFactoryResolver, translateService, documentService, processService, route, router, location, tabService, configService, keyCloakService, logger) {
|
|
2316
|
+
constructor(componentFactoryResolver, translateService, documentService, processService, route, router, location, tabService, configService, keyCloakService, logger, breadcrumbService, pageTitleService) {
|
|
1873
2317
|
this.componentFactoryResolver = componentFactoryResolver;
|
|
1874
2318
|
this.translateService = translateService;
|
|
1875
2319
|
this.documentService = documentService;
|
|
@@ -1881,6 +2325,8 @@ class DossierDetailComponent {
|
|
|
1881
2325
|
this.configService = configService;
|
|
1882
2326
|
this.keyCloakService = keyCloakService;
|
|
1883
2327
|
this.logger = logger;
|
|
2328
|
+
this.breadcrumbService = breadcrumbService;
|
|
2329
|
+
this.pageTitleService = pageTitleService;
|
|
1884
2330
|
this.document = null;
|
|
1885
2331
|
this.tabLoader = null;
|
|
1886
2332
|
this.processDefinitionListFields = [];
|
|
@@ -1919,11 +2365,15 @@ class DossierDetailComponent {
|
|
|
1919
2365
|
.getDocumentDefinition(this.documentDefinitionName)
|
|
1920
2366
|
.subscribe(definition => {
|
|
1921
2367
|
this.documentDefinitionNameTitle = definition.schema.title;
|
|
2368
|
+
this.setBreadcrumb();
|
|
1922
2369
|
});
|
|
1923
2370
|
this.initialTabName = this.snapshot.get('tab');
|
|
1924
2371
|
this.tabLoader.initial(this.initialTabName);
|
|
1925
2372
|
this.getAllAssociatedProcessDefinitions();
|
|
1926
2373
|
}
|
|
2374
|
+
ngOnDestroy() {
|
|
2375
|
+
this.breadcrumbService.clearSecondBreadcrumb();
|
|
2376
|
+
}
|
|
1927
2377
|
getAllAssociatedProcessDefinitions() {
|
|
1928
2378
|
this.documentService
|
|
1929
2379
|
.findProcessDocumentDefinitions(this.documentDefinitionName)
|
|
@@ -1985,13 +2435,20 @@ class DossierDetailComponent {
|
|
|
1985
2435
|
}
|
|
1986
2436
|
return prefix + string;
|
|
1987
2437
|
}
|
|
2438
|
+
setBreadcrumb() {
|
|
2439
|
+
this.breadcrumbService.setSecondBreadcrumb({
|
|
2440
|
+
route: [`/dossiers/${this.documentDefinitionName}`],
|
|
2441
|
+
content: this.documentDefinitionNameTitle,
|
|
2442
|
+
href: `/dossiers/${this.documentDefinitionName}`,
|
|
2443
|
+
});
|
|
2444
|
+
}
|
|
1988
2445
|
}
|
|
1989
|
-
DossierDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1990
|
-
DossierDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1991
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2446
|
+
DossierDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i6.TranslateService }, { token: i2.DocumentService }, { token: i2$2.ProcessService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i5.Location }, { token: TabService }, { token: i1.ConfigService }, { token: i8$1.KeycloakService }, { token: i1$2.NGXLogger }, { token: i6$2.BreadcrumbService }, { token: i6$2.PageTitleService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2447
|
+
DossierDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailComponent, selector: "valtimo-dossier-detail", viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["tabContainer"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "supportingProcessStart", first: true, predicate: ["supportingProcessStartModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-2\">\n <div\n class=\"row\"\n *ngIf=\"{canHaveAssignee: canHaveAssignee$ | async, document: document$ | async} as obs\"\n >\n <div class=\"col\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailHeader;\n context: {canHaveAssignee: obs.canHaveAssignee, document: obs.document}\n \"\n ></ng-container>\n </div>\n <div class=\"btn-group mt-m3px mb-3 col-auto\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n <ng-container\n *ngTemplateOutlet=\"claimButton; context: {canHaveAssignee: obs.canHaveAssignee}\"\n ></ng-container>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-primary dropdown-toggle\"\n type=\"button\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span>{{ 'dossier.startSubProcess' | translate }}</span>\n <i class=\"ml-1 mdi mdi-chevron-down\"></i>\n </button>\n <div\n class=\"dropdown-menu dropdown-menu-right\"\n aria-labelledby=\"startProcessDropdown\"\n >\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n class=\"dropdown-item p\"\n href=\"#\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n id=\"{{ tab.name }}-tab\"\n class=\"nav-link clickable\"\n [ngClass]=\"{active: tab.isActive()}\"\n data-toggle=\"tab\"\n (click)=\"tabLoader.load(tab)\"\n >\n {{ tabLoader.translateTabName(tab) }}\n </a>\n </li>\n </ul>\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <ng-template #tabContainer>Loading...</ng-template>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n\n<ng-template #caseDetailHeader let-canHaveAssignee=\"canHaveAssignee\" let-document=\"document\">\n <div class=\"row\" *ngIf=\"customDossierHeaderItems.length > 0; else defaultTitle\">\n <span\n class=\"mb-0 mt-0 pb-2 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n *ngFor=\"let item of customDossierHeaderItems\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.label && item.value\">: </span>\n <strong>{{ item.value }}</strong>\n </span>\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #defaultTitle>\n <div class=\"row ml-0 mr-0\">{{ documentDefinitionNameTitle?.trim() }}</div>\n</ng-template>\n\n<ng-template #caseDetailAssignee let-canHaveAssignee=\"canHaveAssignee\" let-document=\"document\">\n <div class=\"row ml-0 mr-0 mt-1 mb-1\" *ngIf=\"canHaveAssignee && document\">\n <valtimo-dossier-assign-user\n [documentId]=\"document.id\"\n [assigneeId]=\"document.assigneeId\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canHaveAssignee=\"canHaveAssignee\">\n <div class=\"user-full-name\" *ngIf=\"canHaveAssignee\">\n <button\n class=\"btn btn-space btn-primary mr-1\"\n type=\"button\"\n id=\"\"\n placement=\"bottom\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"claimAssignee()\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </button>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6$2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "directive", type: i8.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i1.ExtensionComponent, selector: "valtimo-extension", inputs: ["module", "page", "section"] }, { kind: "component", type: DossierSupportingProcessStartModalComponent, selector: "valtimo-dossier-supporting-process-start-modal", outputs: ["formSubmit"] }, { kind: "component", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: ["documentId", "assigneeId", "assigneeFullName", "hasPermission"], outputs: ["assignmentOfDocumentChanged"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
2448
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailComponent, decorators: [{
|
|
1992
2449
|
type: Component,
|
|
1993
2450
|
args: [{ selector: 'valtimo-dossier-detail', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-2\">\n <div\n class=\"row\"\n *ngIf=\"{canHaveAssignee: canHaveAssignee$ | async, document: document$ | async} as obs\"\n >\n <div class=\"col\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailHeader;\n context: {canHaveAssignee: obs.canHaveAssignee, document: obs.document}\n \"\n ></ng-container>\n </div>\n <div class=\"btn-group mt-m3px mb-3 col-auto\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n <ng-container\n *ngTemplateOutlet=\"claimButton; context: {canHaveAssignee: obs.canHaveAssignee}\"\n ></ng-container>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-primary dropdown-toggle\"\n type=\"button\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span>{{ 'dossier.startSubProcess' | translate }}</span>\n <i class=\"ml-1 mdi mdi-chevron-down\"></i>\n </button>\n <div\n class=\"dropdown-menu dropdown-menu-right\"\n aria-labelledby=\"startProcessDropdown\"\n >\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n class=\"dropdown-item p\"\n href=\"#\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n id=\"{{ tab.name }}-tab\"\n class=\"nav-link clickable\"\n [ngClass]=\"{active: tab.isActive()}\"\n data-toggle=\"tab\"\n (click)=\"tabLoader.load(tab)\"\n >\n {{ tabLoader.translateTabName(tab) }}\n </a>\n </li>\n </ul>\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <ng-template #tabContainer>Loading...</ng-template>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n\n<ng-template #caseDetailHeader let-canHaveAssignee=\"canHaveAssignee\" let-document=\"document\">\n <div class=\"row\" *ngIf=\"customDossierHeaderItems.length > 0; else defaultTitle\">\n <span\n class=\"mb-0 mt-0 pb-2 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n *ngFor=\"let item of customDossierHeaderItems\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.label && item.value\">: </span>\n <strong>{{ item.value }}</strong>\n </span>\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #defaultTitle>\n <div class=\"row ml-0 mr-0\">{{ documentDefinitionNameTitle?.trim() }}</div>\n</ng-template>\n\n<ng-template #caseDetailAssignee let-canHaveAssignee=\"canHaveAssignee\" let-document=\"document\">\n <div class=\"row ml-0 mr-0 mt-1 mb-1\" *ngIf=\"canHaveAssignee && document\">\n <valtimo-dossier-assign-user\n [documentId]=\"document.id\"\n [assigneeId]=\"document.assigneeId\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canHaveAssignee=\"canHaveAssignee\">\n <div class=\"user-full-name\" *ngIf=\"canHaveAssignee\">\n <button\n class=\"btn btn-space btn-primary mr-1\"\n type=\"button\"\n id=\"\"\n placement=\"bottom\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"claimAssignee()\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </button>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}\n"] }]
|
|
1994
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i6
|
|
2451
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i6.TranslateService }, { type: i2.DocumentService }, { type: i2$2.ProcessService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i5.Location }, { type: TabService }, { type: i1.ConfigService }, { type: i8$1.KeycloakService }, { type: i1$2.NGXLogger }, { type: i6$2.BreadcrumbService }, { type: i6$2.PageTitleService }]; }, propDecorators: { viewContainerRef: [{
|
|
1995
2452
|
type: ViewChild,
|
|
1996
2453
|
args: ['tabContainer', { read: ViewContainerRef, static: true }]
|
|
1997
2454
|
}], supportingProcessStart: [{
|
|
@@ -2064,12 +2521,12 @@ class DossierDetailTabContactMomentsComponent {
|
|
|
2064
2521
|
this.refetchContactMoments$.next('');
|
|
2065
2522
|
}
|
|
2066
2523
|
}
|
|
2067
|
-
DossierDetailTabContactMomentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2068
|
-
DossierDetailTabContactMomentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2069
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2524
|
+
DossierDetailTabContactMomentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabContactMomentsComponent, deps: [{ token: i1$3.ContactMomentService }, { token: i6$2.AlertService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2525
|
+
DossierDetailTabContactMomentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabContactMomentsComponent, selector: "valtimo-dossier-detail-tab-contact-moments", viewQueries: [{ propertyName: "modal", first: true, predicate: ["contactMomentsNoteModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"contact-moments-container\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"moments\"></ng-container>\n</div>\n\n<valtimo-modal\n #contactMomentsNoteModal\n [title]=\"'dossier.contactMoments.popupTitle' | translate\"\n [showFooter]=\"true\"\n [elementId]=\"'contact-moments-modal'\"\n>\n <div class=\"mt-2\" body>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n <div footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #body>\n <form>\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"body\">\n {{ 'dossier.contactMoments.noteText' | translate }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n [disabled]=\"disabled$ | async\"\n class=\"form-control\"\n id=\"body\"\n name=\"body\"\n [ngModel]=\"text$ | async\"\n (ngModelChange)=\"textChange($event)\"\n ></textarea>\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footer>\n <button\n *ngIf=\"(disabled$ | async) === false; else loading\"\n class=\"btn btn-primary\"\n [disabled]=\"(valid$ | async) === false || (disabled$ | async)\"\n (click)=\"saveNote()\"\n >\n {{ 'dossier.contactMoments.saveButtonText' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner [noMarginTop]=\"true\"></valtimo-spinner>\n</ng-template>\n\n<ng-template #buttons>\n <div class=\"btn-group mt-m3px mb-3 button-container\">\n <button class=\"btn btn-primary btn-space\" (click)=\"buttonClick()\">\n <i class=\"icon mdi mdi-note-plus\"></i>\n {{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6$2.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "directive", type: i5$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i6$2.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i6$2.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
2526
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabContactMomentsComponent, decorators: [{
|
|
2070
2527
|
type: Component,
|
|
2071
2528
|
args: [{ selector: 'valtimo-dossier-detail-tab-contact-moments', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"contact-moments-container\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"moments\"></ng-container>\n</div>\n\n<valtimo-modal\n #contactMomentsNoteModal\n [title]=\"'dossier.contactMoments.popupTitle' | translate\"\n [showFooter]=\"true\"\n [elementId]=\"'contact-moments-modal'\"\n>\n <div class=\"mt-2\" body>\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\n </div>\n <div footer>\n <ng-container *ngTemplateOutlet=\"footer\"></ng-container>\n </div>\n</valtimo-modal>\n\n<ng-template #body>\n <form>\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"body\">\n {{ 'dossier.contactMoments.noteText' | translate }}\n </label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <textarea\n [disabled]=\"disabled$ | async\"\n class=\"form-control\"\n id=\"body\"\n name=\"body\"\n [ngModel]=\"text$ | async\"\n (ngModelChange)=\"textChange($event)\"\n ></textarea>\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footer>\n <button\n *ngIf=\"(disabled$ | async) === false; else loading\"\n class=\"btn btn-primary\"\n [disabled]=\"(valid$ | async) === false || (disabled$ | async)\"\n (click)=\"saveNote()\"\n >\n {{ 'dossier.contactMoments.saveButtonText' | translate }}\n </button>\n</ng-template>\n\n<ng-template #loading>\n <valtimo-spinner [noMarginTop]=\"true\"></valtimo-spinner>\n</ng-template>\n\n<ng-template #buttons>\n <div class=\"btn-group mt-m3px mb-3 button-container\">\n <button class=\"btn btn-primary btn-space\" (click)=\"buttonClick()\">\n <i class=\"icon mdi mdi-note-plus\"></i>\n {{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n"] }]
|
|
2072
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
2529
|
+
}], ctorParameters: function () { return [{ type: i1$3.ContactMomentService }, { type: i6$2.AlertService }, { type: i6.TranslateService }]; }, propDecorators: { modal: [{
|
|
2073
2530
|
type: ViewChild,
|
|
2074
2531
|
args: ['contactMomentsNoteModal']
|
|
2075
2532
|
}] } });
|
|
@@ -2164,9 +2621,9 @@ class DossierDetailTabZaakobjectenComponent {
|
|
|
2164
2621
|
this.show();
|
|
2165
2622
|
}
|
|
2166
2623
|
}
|
|
2167
|
-
DossierDetailTabZaakobjectenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2168
|
-
DossierDetailTabZaakobjectenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2624
|
+
DossierDetailTabZaakobjectenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3$3.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2625
|
+
DossierDetailTabZaakobjectenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabZaakobjectenComponent, selector: "valtimo-dossier-detail-tab-zaakobjecten", viewQueries: [{ propertyName: "viewZaakobjectModal", first: true, predicate: ["viewZaakobjectModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'dossier.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'dossier.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"dossier.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'dossier.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i3$3.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "clearable", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin"], outputs: ["selectedChange", "clear"] }, { kind: "component", type: i3$3.InputLabelComponent, selector: "v-input-label", inputs: ["name", "title", "titleTranslationKey", "tooltip", "required", "largeMargin", "small"] }, { kind: "component", type: i3$3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading"] }, { kind: "component", type: i3$3.TableComponent, selector: "v-table", inputs: ["items", "columns", "loading", "showEditButtons", "showPagination", "editButtonTranslationKey", "itemsTranslationKey", "noResultsTranslationKey", "mobileBreakpointPx", "amountOfLoadingRows", "collectionSize", "maxPaginationItemSize", "page", "size"], outputs: ["editButtonClicked", "paginationSizeSet", "paginationPageSet"] }, { kind: "component", type: i3$3.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3$3.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
2626
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, decorators: [{
|
|
2170
2627
|
type: Component,
|
|
2171
2628
|
args: [{ selector: 'valtimo-dossier-detail-tab-zaakobjecten', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n objecttypeSelectItems: objecttypeSelectItems$ | async,\n objects: objects$ | async,\n columns: columns$ | async,\n selectedObjectTypeUrl: selectedObjecttypeUrl$ | async\n } as obs\"\n>\n <v-select\n [items]=\"obs.objecttypeSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypes\"\n [title]=\"'dossier.zaakobjecten.objecttype' | translate\"\n [placeholder]=\"'dossier.zaakobjecten.objecttypePlaceholder' | translate\"\n [loading]=\"!obs.objecttypeSelectItems\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n <v-input-label\n titleTranslationKey=\"dossier.zaakobjecten.objecten\"\n [largeMargin]=\"!!obs.selectedObjectTypeUrl\"\n ></v-input-label>\n <v-paragraph *ngIf=\"!obs.selectedObjectTypeUrl\">{{\n 'dossier.zaakobjecten.objectenPlaceholder' | translate\n }}</v-paragraph>\n <v-table\n *ngIf=\"obs.selectedObjectTypeUrl\"\n [loading]=\"!obs.objects\"\n [items]=\"obs.objects\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [itemsTranslationKey]=\"'pluginManagement.tableItemsText'\"\n [showPagination]=\"false\"\n editButtonTranslationKey=\"dossier.zaakobjecten.objectType.viewObject\"\n (editButtonClicked)=\"rowClicked($event, obs.objecttypeSelectItems)\"\n ></v-table>\n</ng-container>\n\n<v-modal #viewZaakobjectModal (closeEvent)=\"hide()\" [hideFooter]=\"true\" [maxWidthPx]=\"750\">\n <div role=\"header\">\n <v-title [margin]=\"false\" type=\"h2\" [fullWidth]=\"true\" [center]=\"true\">{{\n objectName$ | async\n }}</v-title>\n </div>\n\n <div role=\"content\">\n <valtimo-form-io\n *ngIf=\"(noFormDefinitionComponent$ | async) === false\"\n [form]=\"objectForm$ | async\"\n ></valtimo-form-io>\n <v-paragraph *ngIf=\"noFormDefinitionComponent$ | async\" [center]=\"true\">{{\n 'dossier.zaakobjecten.noFormDefinitionComponent' | translate\n }}</v-paragraph>\n </div>\n</v-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
|
|
2172
2629
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$3.ModalService }]; }, propDecorators: { viewZaakobjectModal: [{
|
|
@@ -2205,6 +2662,12 @@ class NotesService {
|
|
|
2205
2662
|
createDocumentNote(documentId, request) {
|
|
2206
2663
|
return this.http.post(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/note`, request);
|
|
2207
2664
|
}
|
|
2665
|
+
updateNote(noteId, request) {
|
|
2666
|
+
return this.http.put(`${this.VALTIMO_API_ENDPOINT_URI}v1/note/${noteId}`, request);
|
|
2667
|
+
}
|
|
2668
|
+
deleteNote(noteId) {
|
|
2669
|
+
return this.http.delete(`${this.VALTIMO_API_ENDPOINT_URI}v1/note/${noteId}`);
|
|
2670
|
+
}
|
|
2208
2671
|
get showModal$() {
|
|
2209
2672
|
return this._showModal$.asObservable();
|
|
2210
2673
|
}
|
|
@@ -2230,9 +2693,9 @@ class NotesService {
|
|
|
2230
2693
|
this._modalType$.next(type);
|
|
2231
2694
|
}
|
|
2232
2695
|
}
|
|
2233
|
-
NotesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2234
|
-
NotesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
2235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2696
|
+
NotesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotesService, deps: [{ token: i1.ConfigService }, { token: i2$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2697
|
+
NotesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotesService, providedIn: 'root' });
|
|
2698
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotesService, decorators: [{
|
|
2236
2699
|
type: Injectable,
|
|
2237
2700
|
args: [{
|
|
2238
2701
|
providedIn: 'root',
|
|
@@ -2259,9 +2722,11 @@ class NoteModalComponent {
|
|
|
2259
2722
|
this.notesService = notesService;
|
|
2260
2723
|
this.modalService = modalService;
|
|
2261
2724
|
this.createNoteEvent = new EventEmitter();
|
|
2725
|
+
this.editNoteEvent = new EventEmitter();
|
|
2262
2726
|
this.valid$ = new BehaviorSubject(false);
|
|
2263
2727
|
this.showForm$ = this.modalService.modalVisible$;
|
|
2264
2728
|
this.formData$ = new BehaviorSubject(null);
|
|
2729
|
+
this.modalType$ = this.notesService.modalType$;
|
|
2265
2730
|
this.returnToFirstStepSubject$ = new Subject();
|
|
2266
2731
|
}
|
|
2267
2732
|
ngAfterViewInit() {
|
|
@@ -2290,6 +2755,20 @@ class NoteModalComponent {
|
|
|
2290
2755
|
}
|
|
2291
2756
|
});
|
|
2292
2757
|
}
|
|
2758
|
+
emitNoteData() {
|
|
2759
|
+
combineLatest([this.valid$, this.formData$, this.modalType$])
|
|
2760
|
+
.pipe(take$1(1))
|
|
2761
|
+
.subscribe(([valid, formData, modalType]) => {
|
|
2762
|
+
if (valid) {
|
|
2763
|
+
if (modalType === 'add') {
|
|
2764
|
+
this.createNoteEvent.emit(formData);
|
|
2765
|
+
}
|
|
2766
|
+
else {
|
|
2767
|
+
this.editNoteEvent.emit({ formData, data: this.customData });
|
|
2768
|
+
}
|
|
2769
|
+
}
|
|
2770
|
+
});
|
|
2771
|
+
}
|
|
2293
2772
|
openShowSubscription() {
|
|
2294
2773
|
this.showSubscription = this.notesService.showModal$.subscribe(() => {
|
|
2295
2774
|
this.show();
|
|
@@ -2301,10 +2780,8 @@ class NoteModalComponent {
|
|
|
2301
2780
|
});
|
|
2302
2781
|
}
|
|
2303
2782
|
show() {
|
|
2304
|
-
this.notesService.modalType$.pipe(take$1(1)).subscribe(
|
|
2305
|
-
|
|
2306
|
-
this.modalService.openModal(this.addNoteModal);
|
|
2307
|
-
}
|
|
2783
|
+
this.notesService.modalType$.pipe(take$1(1)).subscribe(() => {
|
|
2784
|
+
this.modalService.openModal(this.noteModal);
|
|
2308
2785
|
});
|
|
2309
2786
|
}
|
|
2310
2787
|
formValueChange(data) {
|
|
@@ -2315,16 +2792,20 @@ class NoteModalComponent {
|
|
|
2315
2792
|
this.valid$.next(!!data.content);
|
|
2316
2793
|
}
|
|
2317
2794
|
}
|
|
2318
|
-
NoteModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2319
|
-
NoteModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2795
|
+
NoteModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NoteModalComponent, deps: [{ token: NotesService }, { token: i3$3.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2796
|
+
NoteModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: { customData: "customData" }, outputs: { createNoteEvent: "createNoteEvent", editNoteEvent: "editNoteEvent" }, viewQueries: [{ propertyName: "noteModal", first: true, predicate: ["noteModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #noteModal\n *ngIf=\"{disabled: disabled$ | async, valid: valid$ | async, modalType: modalType$ | async} as obs\"\n>\n <div role=\"header\">\n <div class=\"add-note-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add' ? 'dossier.notes.addNote' : 'dossier.notes.modifyNote') | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"form\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'document.cancel' | translate }}\n </v-button>\n <ng-container\n *ngTemplateOutlet=\"\n obs.modalType === 'add' ? addNoteButton : editNoteButton;\n context: {obs: obs}\n \"\n ></ng-container>\n </div>\n </div>\n</v-modal>\n\n<ng-template #addNoteButton let-obs=\"obs\">\n <v-button\n (clickEvent)=\"emitNoteData()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n </v-button>\n</ng-template>\n<ng-template #editNoteButton let-obs=\"obs\">\n <v-button\n [disabled]=\"obs.disabled || !obs.valid\"\n (clickEvent)=\"emitNoteData()\"\n mdiIcon=\"pencil\"\n type=\"success\"\n >\n {{ 'dossier.notes.modifyNote' | translate }}\n </v-button>\n</ng-template>\n\n<ng-template #form>\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n type=\"textarea\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'dossier.notes.input.content' | translate\"\n name=\"content\"\n [fullWidth]=\"true\"\n [rows]=\"10\"\n [defaultValue]=\"customData?.summaryTranslationKey || ''\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons,.add-note-title{width:100%;display:flex;flex-direction:row;justify-content:space-between}.add-note-title{justify-content:center}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$3.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i3$3.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i3$3.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i3$3.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$"], outputs: ["valueChange"] }, { kind: "component", type: i3$3.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
2797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NoteModalComponent, decorators: [{
|
|
2321
2798
|
type: Component,
|
|
2322
|
-
args: [{ selector: 'valtimo-note-modal', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal
|
|
2323
|
-
}], ctorParameters: function () { return [{ type: NotesService }, { type: i3$3.ModalService }]; }, propDecorators: {
|
|
2799
|
+
args: [{ selector: 'valtimo-note-modal', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal\n #noteModal\n *ngIf=\"{disabled: disabled$ | async, valid: valid$ | async, modalType: modalType$ | async} as obs\"\n>\n <div role=\"header\">\n <div class=\"add-note-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add' ? 'dossier.notes.addNote' : 'dossier.notes.modifyNote') | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"form\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'document.cancel' | translate }}\n </v-button>\n <ng-container\n *ngTemplateOutlet=\"\n obs.modalType === 'add' ? addNoteButton : editNoteButton;\n context: {obs: obs}\n \"\n ></ng-container>\n </div>\n </div>\n</v-modal>\n\n<ng-template #addNoteButton let-obs=\"obs\">\n <v-button\n (clickEvent)=\"emitNoteData()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n </v-button>\n</ng-template>\n<ng-template #editNoteButton let-obs=\"obs\">\n <v-button\n [disabled]=\"obs.disabled || !obs.valid\"\n (clickEvent)=\"emitNoteData()\"\n mdiIcon=\"pencil\"\n type=\"success\"\n >\n {{ 'dossier.notes.modifyNote' | translate }}\n </v-button>\n</ng-template>\n\n<ng-template #form>\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n type=\"textarea\"\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'dossier.notes.input.content' | translate\"\n name=\"content\"\n [fullWidth]=\"true\"\n [rows]=\"10\"\n [defaultValue]=\"customData?.summaryTranslationKey || ''\"\n >\n </v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.buttons,.add-note-title{width:100%;display:flex;flex-direction:row;justify-content:space-between}.add-note-title{justify-content:center}\n"] }]
|
|
2800
|
+
}], ctorParameters: function () { return [{ type: NotesService }, { type: i3$3.ModalService }]; }, propDecorators: { noteModal: [{
|
|
2324
2801
|
type: ViewChild,
|
|
2325
|
-
args: ['
|
|
2802
|
+
args: ['noteModal']
|
|
2803
|
+
}], customData: [{
|
|
2804
|
+
type: Input
|
|
2326
2805
|
}], createNoteEvent: [{
|
|
2327
2806
|
type: Output
|
|
2807
|
+
}], editNoteEvent: [{
|
|
2808
|
+
type: Output
|
|
2328
2809
|
}] } });
|
|
2329
2810
|
|
|
2330
2811
|
/*
|
|
@@ -2343,13 +2824,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
2343
2824
|
* limitations under the License.
|
|
2344
2825
|
*/
|
|
2345
2826
|
class DossierDetailTabNotesComponent {
|
|
2346
|
-
constructor(route, notesService, translateService) {
|
|
2827
|
+
constructor(route, notesService, translateService, promptService, toastrService) {
|
|
2347
2828
|
this.route = route;
|
|
2348
2829
|
this.notesService = notesService;
|
|
2349
2830
|
this.translateService = translateService;
|
|
2831
|
+
this.promptService = promptService;
|
|
2832
|
+
this.toastrService = toastrService;
|
|
2350
2833
|
this.timelineItems = [];
|
|
2834
|
+
this.actions = [
|
|
2835
|
+
{
|
|
2836
|
+
label: 'Edit',
|
|
2837
|
+
icon: 'mdi-pencil',
|
|
2838
|
+
callback: this.editNote.bind(this),
|
|
2839
|
+
},
|
|
2840
|
+
{
|
|
2841
|
+
label: 'Delete',
|
|
2842
|
+
icon: 'mdi-delete',
|
|
2843
|
+
callback: this.deleteNote.bind(this),
|
|
2844
|
+
},
|
|
2845
|
+
];
|
|
2351
2846
|
this.loading$ = new BehaviorSubject(true);
|
|
2352
2847
|
this.fields$ = new BehaviorSubject([]);
|
|
2848
|
+
this.customData$ = new BehaviorSubject({});
|
|
2353
2849
|
this.documentId$ = this.route.params.pipe(map(params => params.documentId));
|
|
2354
2850
|
this.currentPageAndSize$ = new BehaviorSubject({
|
|
2355
2851
|
page: 0,
|
|
@@ -2367,6 +2863,7 @@ class DossierDetailTabNotesComponent {
|
|
|
2367
2863
|
this.documentId$,
|
|
2368
2864
|
this.currentPageAndSize$,
|
|
2369
2865
|
this.notesService.refresh$,
|
|
2866
|
+
this.notesService.refresh$,
|
|
2370
2867
|
]).pipe(tap$1(() => (this.timelineItems = [])), switchMap$1(([documentId, currentPage]) => this.notesService.getDocumentNotes(documentId, {
|
|
2371
2868
|
page: currentPage.page,
|
|
2372
2869
|
size: currentPage.size,
|
|
@@ -2377,7 +2874,7 @@ class DossierDetailTabNotesComponent {
|
|
|
2377
2874
|
});
|
|
2378
2875
|
}), map(res => res.content.map((note) => {
|
|
2379
2876
|
const noteCreatedDate = moment(note.createdDate).locale(this.translateService.currentLang);
|
|
2380
|
-
this.timelineItems.push(new TimelineItemImpl(noteCreatedDate.format('DD MMM YYYY'), noteCreatedDate.format('HH:mm'), note.createdByUserFullName, noteCreatedDate.fromNow(), note.content, {}));
|
|
2877
|
+
this.timelineItems.push(new TimelineItemImpl(noteCreatedDate.format('DD MMM YYYY'), noteCreatedDate.format('HH:mm'), note.createdByUserFullName, noteCreatedDate.fromNow(), note.content, {}, { id: note.id }));
|
|
2381
2878
|
return Object.assign({}, note);
|
|
2382
2879
|
})), tap$1(() => this.loading$.next(false)));
|
|
2383
2880
|
}
|
|
@@ -2392,6 +2889,7 @@ class DossierDetailTabNotesComponent {
|
|
|
2392
2889
|
});
|
|
2393
2890
|
}
|
|
2394
2891
|
showAddModal() {
|
|
2892
|
+
this.customData$.next(null);
|
|
2395
2893
|
this.notesService.setModalType('add');
|
|
2396
2894
|
this.notesService.showModal();
|
|
2397
2895
|
}
|
|
@@ -2406,13 +2904,45 @@ class DossierDetailTabNotesComponent {
|
|
|
2406
2904
|
}))
|
|
2407
2905
|
.subscribe();
|
|
2408
2906
|
}
|
|
2907
|
+
editNoteEvent(content) {
|
|
2908
|
+
this.notesService.updateNote(content.data.customData.id, content.formData).subscribe(() => {
|
|
2909
|
+
this.notesService.refresh();
|
|
2910
|
+
this.notesService.hideModal();
|
|
2911
|
+
this.toastrService.success(this.translateService.instant('dossier.notes.editedMessage'));
|
|
2912
|
+
});
|
|
2913
|
+
}
|
|
2914
|
+
editNote(data) {
|
|
2915
|
+
this.customData$.next(data);
|
|
2916
|
+
this.notesService.setModalType('modify');
|
|
2917
|
+
this.notesService.showModal();
|
|
2918
|
+
}
|
|
2919
|
+
deleteNote(data) {
|
|
2920
|
+
this.promptService.openPrompt({
|
|
2921
|
+
headerText: this.translateService.instant('dossier.notes.deleteConfirmation.title'),
|
|
2922
|
+
bodyText: this.translateService.instant('dossier.notes.deleteConfirmation.description'),
|
|
2923
|
+
cancelButtonText: this.translateService.instant('dossier.deleteConfirmation.cancel'),
|
|
2924
|
+
confirmButtonText: this.translateService.instant('dossier.deleteConfirmation.delete'),
|
|
2925
|
+
cancelMdiIcon: 'cancel',
|
|
2926
|
+
confirmMdiIcon: 'delete',
|
|
2927
|
+
cancelButtonType: 'secondary',
|
|
2928
|
+
confirmButtonType: 'primary',
|
|
2929
|
+
closeOnConfirm: true,
|
|
2930
|
+
closeOnCancel: true,
|
|
2931
|
+
confirmCallBackFunction: () => {
|
|
2932
|
+
this.notesService.deleteNote(data.customData.id).subscribe(() => {
|
|
2933
|
+
this.notesService.refresh();
|
|
2934
|
+
this.toastrService.success(this.translateService.instant('dossier.notes.deleteConfirmation.deletedMessage'));
|
|
2935
|
+
});
|
|
2936
|
+
},
|
|
2937
|
+
});
|
|
2938
|
+
}
|
|
2409
2939
|
}
|
|
2410
|
-
DossierDetailTabNotesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2411
|
-
DossierDetailTabNotesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2412
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2940
|
+
DossierDetailTabNotesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabNotesComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: NotesService }, { token: i6.TranslateService }, { token: i3$3.PromptService }, { token: i3$2.ToastrService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2941
|
+
DossierDetailTabNotesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierDetailTabNotesComponent, selector: "valtimo-dossier-detail-tab-notes", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"notes\"\n *ngIf=\"{\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <button\n class=\"btn btn-space btn-primary mr-1 add-note\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"showAddModal()\"\n [disabled]=\"obs.loading\"\n >\n <span>{{ 'dossier.notes.addNote' | translate }}</span>\n <i class=\"ml-1 icon mdi mdi-plus\"></i>\n </button>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline [actions]=\"actions\" [items]=\"timelineItems\"></valtimo-timeline>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div class=\"d-flex justify-content-end row mr-0 ml-0\" *ngIf=\"obs.pagination\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [(page)]=\"obs.pagination.page\"\n [pageSize]=\"obs.pagination.size\"\n [maxSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</div>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n (createNoteEvent)=\"createNewNote($event)\"\n></valtimo-note-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.notes{position:relative}.add-note{position:absolute;right:0}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.TimelineComponent, selector: "valtimo-timeline", inputs: ["items", "actions"] }, { kind: "component", type: i6$2.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i8.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "component", type: NoteModalComponent, selector: "valtimo-note-modal", inputs: ["customData"], outputs: ["createNoteEvent", "editNoteEvent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
|
|
2942
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabNotesComponent, decorators: [{
|
|
2413
2943
|
type: Component,
|
|
2414
|
-
args: [{ selector: 'valtimo-dossier-detail-tab-notes', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"notes\"\n *ngIf=\"{\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <button\n class=\"btn btn-space btn-primary mr-1 add-note\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"showAddModal()\"\n [disabled]=\"obs.loading\"\n >\n <span>{{ 'dossier.notes.addNote' | translate }}</span>\n <i class=\"ml-1 icon mdi mdi-plus\"></i>\n </button>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div class=\"d-flex justify-content-end row mr-0 ml-0\" *ngIf=\"obs.pagination\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [(page)]=\"obs.pagination.page\"\n [pageSize]=\"obs.pagination.size\"\n [maxSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</div>\n\n<valtimo-note-modal (createNoteEvent)=\"createNewNote($event)\"></valtimo-note-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.notes{position:relative}.add-note{position:absolute;right:0}\n"] }]
|
|
2415
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: NotesService }, { type: i6
|
|
2944
|
+
args: [{ selector: 'valtimo-dossier-detail-tab-notes', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"notes\"\n *ngIf=\"{\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <button\n class=\"btn btn-space btn-primary mr-1 add-note\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"showAddModal()\"\n [disabled]=\"obs.loading\"\n >\n <span>{{ 'dossier.notes.addNote' | translate }}</span>\n <i class=\"ml-1 icon mdi mdi-plus\"></i>\n </button>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline [actions]=\"actions\" [items]=\"timelineItems\"></valtimo-timeline>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div class=\"d-flex justify-content-end row mr-0 ml-0\" *ngIf=\"obs.pagination\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [(page)]=\"obs.pagination.page\"\n [pageSize]=\"obs.pagination.size\"\n [maxSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</div>\n\n<valtimo-note-modal\n [customData]=\"customData$ | async\"\n (editNoteEvent)=\"editNoteEvent($event)\"\n (createNoteEvent)=\"createNewNote($event)\"\n></valtimo-note-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.notes{position:relative}.add-note{position:absolute;right:0}\n"] }]
|
|
2945
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: NotesService }, { type: i6.TranslateService }, { type: i3$3.PromptService }, { type: i3$2.ToastrService }]; } });
|
|
2416
2946
|
|
|
2417
2947
|
/*
|
|
2418
2948
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -2510,12 +3040,12 @@ class DossierUpdateComponent {
|
|
|
2510
3040
|
return 0;
|
|
2511
3041
|
}
|
|
2512
3042
|
}
|
|
2513
|
-
DossierUpdateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2514
|
-
DossierUpdateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
3043
|
+
DossierUpdateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierUpdateComponent, deps: [{ token: i3.TaskService }, { token: i2.DocumentService }, { token: i1$1.ActivatedRoute }, { token: i3$2.ToastrService }, { token: i5.Location }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3044
|
+
DossierUpdateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierUpdateComponent, selector: "valtimo-dossier-update", ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue : returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6$2.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i6$2.CamundaFormComponent, selector: "valtimo-camunda-form", inputs: ["componentName", "formFields"], outputs: ["submitted"] }, { kind: "pipe", type: i5.KeyValuePipe, name: "keyvalue" }] });
|
|
3045
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierUpdateComponent, decorators: [{
|
|
2516
3046
|
type: Component,
|
|
2517
3047
|
args: [{ selector: 'valtimo-dossier-update', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue : returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n" }]
|
|
2518
|
-
}], ctorParameters: function () { return [{ type: i3.TaskService }, { type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$2.ToastrService }, { type: i5
|
|
3048
|
+
}], ctorParameters: function () { return [{ type: i3.TaskService }, { type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$2.ToastrService }, { type: i5.Location }, { type: DossierService }]; } });
|
|
2519
3049
|
|
|
2520
3050
|
/*
|
|
2521
3051
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -2537,13 +3067,17 @@ const routes = [
|
|
|
2537
3067
|
path: 'dossiers/:documentDefinitionName',
|
|
2538
3068
|
component: DossierListComponent,
|
|
2539
3069
|
canActivate: [AuthGuardService],
|
|
2540
|
-
data: { title: 'Dossiers', roles: [ROLE_USER] },
|
|
3070
|
+
data: { title: 'Dossiers', roles: [ROLE_USER], customPageTitle: true },
|
|
2541
3071
|
},
|
|
2542
3072
|
{
|
|
2543
3073
|
path: 'dossiers/:documentDefinitionName/document/:documentId/:tab',
|
|
2544
3074
|
component: DossierDetailComponent,
|
|
2545
3075
|
canActivate: [AuthGuardService],
|
|
2546
|
-
data: {
|
|
3076
|
+
data: {
|
|
3077
|
+
title: 'Dossier details',
|
|
3078
|
+
parentPath: 'dossiers/:documentDefinitionName',
|
|
3079
|
+
roles: [ROLE_USER],
|
|
3080
|
+
},
|
|
2547
3081
|
},
|
|
2548
3082
|
{
|
|
2549
3083
|
path: 'dossiers/:documentDefinitionName/document/:documentId/:tab/tasks/:taskId',
|
|
@@ -2558,10 +3092,10 @@ const routes = [
|
|
|
2558
3092
|
];
|
|
2559
3093
|
class DossierRoutingModule {
|
|
2560
3094
|
}
|
|
2561
|
-
DossierRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2562
|
-
DossierRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
2563
|
-
DossierRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
2564
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
3095
|
+
DossierRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3096
|
+
DossierRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DossierRoutingModule, imports: [CommonModule, i1$1.RouterModule], exports: [RouterModule] });
|
|
3097
|
+
DossierRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] });
|
|
3098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierRoutingModule, decorators: [{
|
|
2565
3099
|
type: NgModule,
|
|
2566
3100
|
args: [{
|
|
2567
3101
|
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
@@ -2604,8 +3138,9 @@ class DossierModule {
|
|
|
2604
3138
|
};
|
|
2605
3139
|
}
|
|
2606
3140
|
}
|
|
2607
|
-
DossierModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2608
|
-
DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
3141
|
+
DossierModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3142
|
+
DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DossierModule, declarations: [DossierListComponent,
|
|
3143
|
+
DossierListActionsComponent,
|
|
2609
3144
|
DossierDetailComponent,
|
|
2610
3145
|
DossierDetailTabSummaryComponent,
|
|
2611
3146
|
DossierDetailTabProgressComponent,
|
|
@@ -2636,7 +3171,7 @@ DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
2636
3171
|
FormModule,
|
|
2637
3172
|
FormIoModule,
|
|
2638
3173
|
ModalModule,
|
|
2639
|
-
SpinnerModule, i6
|
|
3174
|
+
SpinnerModule, i6.TranslateModule, TaskModule,
|
|
2640
3175
|
ModalModule,
|
|
2641
3176
|
NgbTooltipModule,
|
|
2642
3177
|
UploaderModule,
|
|
@@ -2658,8 +3193,11 @@ DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
2658
3193
|
InputModule,
|
|
2659
3194
|
FormModule$1,
|
|
2660
3195
|
NgbModule,
|
|
2661
|
-
LoadingModule
|
|
2662
|
-
|
|
3196
|
+
LoadingModule,
|
|
3197
|
+
ButtonModule$1,
|
|
3198
|
+
IconModule,
|
|
3199
|
+
FormLinkModule], exports: [DossierListComponent, DossierDetailComponent] });
|
|
3200
|
+
DossierModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierModule, imports: [CommonModule,
|
|
2663
3201
|
DossierRoutingModule,
|
|
2664
3202
|
ListModule,
|
|
2665
3203
|
WidgetModule,
|
|
@@ -2704,12 +3242,16 @@ DossierModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
2704
3242
|
InputModule,
|
|
2705
3243
|
FormModule$1,
|
|
2706
3244
|
NgbModule,
|
|
2707
|
-
LoadingModule
|
|
2708
|
-
|
|
3245
|
+
LoadingModule,
|
|
3246
|
+
ButtonModule$1,
|
|
3247
|
+
IconModule,
|
|
3248
|
+
FormLinkModule] });
|
|
3249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierModule, decorators: [{
|
|
2709
3250
|
type: NgModule,
|
|
2710
3251
|
args: [{
|
|
2711
3252
|
declarations: [
|
|
2712
3253
|
DossierListComponent,
|
|
3254
|
+
DossierListActionsComponent,
|
|
2713
3255
|
DossierDetailComponent,
|
|
2714
3256
|
DossierDetailTabSummaryComponent,
|
|
2715
3257
|
DossierDetailTabProgressComponent,
|
|
@@ -2774,6 +3316,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
2774
3316
|
FormModule$1,
|
|
2775
3317
|
NgbModule,
|
|
2776
3318
|
LoadingModule,
|
|
3319
|
+
ButtonModule$1,
|
|
3320
|
+
IconModule,
|
|
3321
|
+
FormLinkModule,
|
|
2777
3322
|
],
|
|
2778
3323
|
exports: [DossierListComponent, DossierDetailComponent],
|
|
2779
3324
|
}]
|
|
@@ -2799,5 +3344,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
2799
3344
|
* Generated bundle index. Do not edit.
|
|
2800
3345
|
*/
|
|
2801
3346
|
|
|
2802
|
-
export { DEFAULT_TABS, DefaultTabs, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierDetailTabZaakobjectenComponent, DossierListComponent, DossierModule, DossierParameterService, DossierService, FileSortService, TAB_MAP, TabImpl, TabLoaderImpl, TabService, ZaakobjectenService };
|
|
3347
|
+
export { DEFAULT_TABS, DefaultTabs, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierDetailTabZaakobjectenComponent, DossierListAssigneeService, DossierListComponent, DossierListPaginationService, DossierListSearchService, DossierListService, DossierModule, DossierParameterService, DossierService, FileSortService, TAB_MAP, TabImpl, TabLoaderImpl, TabService, ZaakobjectenService };
|
|
2803
3348
|
//# sourceMappingURL=valtimo-dossier.mjs.map
|