@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,44 +1,46 @@
|
|
|
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
|
-
import
|
|
13
|
-
import * as i6$
|
|
14
|
-
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
15
|
-
import * as i5 from 'ngx-logger';
|
|
16
|
-
import * as i5$1 from '@angular/common';
|
|
17
|
-
import { CommonModule } from '@angular/common';
|
|
18
|
-
import * as i9 from '@valtimo/components';
|
|
14
|
+
import * as i1$2 from 'ngx-logger';
|
|
15
|
+
import * as i6$2 from '@valtimo/components';
|
|
19
16
|
import { FormioOptionsImpl, TimelineItemImpl, ListModule, WidgetModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, FormIoModule, ModalModule, SpinnerModule, UploaderModule, DropzoneModule, DocumentenApiMetadataModalModule, SearchableDropdownSelectModule, SearchFieldsModule } from '@valtimo/components';
|
|
20
|
-
import * as
|
|
17
|
+
import * as i5 from '@angular/common';
|
|
18
|
+
import { CommonModule } from '@angular/common';
|
|
19
|
+
import * as i8 from '@ng-bootstrap/ng-bootstrap';
|
|
21
20
|
import { NgbButtonsModule, NgbTooltipModule, NgbPaginationModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
21
|
+
import { take as take$1, switchMap as switchMap$1, map as map$1, tap as tap$1, catchError } from 'rxjs/operators';
|
|
22
22
|
import * as i2$2 from '@valtimo/process';
|
|
23
23
|
import { ProcessModule } from '@valtimo/process';
|
|
24
24
|
import * as i4 from '@valtimo/form-link';
|
|
25
|
-
import
|
|
25
|
+
import { FormLinkModule } from '@valtimo/form-link';
|
|
26
|
+
import * as i6$1 from '@valtimo/security';
|
|
26
27
|
import { AuthGuardService } from '@valtimo/security';
|
|
28
|
+
import moment from 'moment';
|
|
27
29
|
import * as i3 from '@valtimo/task';
|
|
28
30
|
import { TaskModule } from '@valtimo/task';
|
|
29
|
-
import * as i5$
|
|
31
|
+
import * as i5$1 from '@valtimo/form';
|
|
30
32
|
import { FormModule } from '@valtimo/form';
|
|
31
|
-
import * as i5$
|
|
33
|
+
import * as i5$2 from '@angular/forms';
|
|
32
34
|
import { FormsModule } from '@angular/forms';
|
|
33
35
|
import * as i3$1 from 'ngx-spinner';
|
|
34
|
-
import { switchMap as switchMap$1, map as map$1, tap as tap$1, catchError, take as take$1 } from 'rxjs/operators';
|
|
35
36
|
import * as i3$2 from 'ngx-toastr';
|
|
36
37
|
import * as i4$1 from '@valtimo/resource';
|
|
37
38
|
import * as i3$3 from '@valtimo/user-interface';
|
|
38
39
|
import { SelectModule, InputLabelModule, ParagraphModule, TableModule, ModalModule as ModalModule$1, TitleModule, ButtonModule, PageModule, InputModule, FormModule as FormModule$1 } from '@valtimo/user-interface';
|
|
39
|
-
import * as
|
|
40
|
-
import
|
|
41
|
-
import
|
|
40
|
+
import * as i12 from 'carbon-components-angular';
|
|
41
|
+
import { LoadingModule, ButtonModule as ButtonModule$1, IconModule } from 'carbon-components-angular';
|
|
42
|
+
import * as i8$1 from 'keycloak-angular';
|
|
43
|
+
import * as i1$3 from '@valtimo/contact-moment';
|
|
42
44
|
|
|
43
45
|
/*
|
|
44
46
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -232,9 +234,10 @@ class TabImpl {
|
|
|
232
234
|
* limitations under the License.
|
|
233
235
|
*/
|
|
234
236
|
class DossierColumnService {
|
|
235
|
-
constructor(configService, documentService) {
|
|
237
|
+
constructor(configService, documentService, translateService) {
|
|
236
238
|
this.configService = configService;
|
|
237
239
|
this.documentService = documentService;
|
|
240
|
+
this.translateService = translateService;
|
|
238
241
|
}
|
|
239
242
|
getDefinitionColumns(documentDefinitionName) {
|
|
240
243
|
const config = this.configService.config;
|
|
@@ -255,6 +258,22 @@ class DossierColumnService {
|
|
|
255
258
|
hasEnvironmentConfig(documentDefinitionName) {
|
|
256
259
|
return !!this.configService.config?.customDefinitionTables[documentDefinitionName];
|
|
257
260
|
}
|
|
261
|
+
mapDefinitionColumnsToListFields(columns, hasEnvConfig) {
|
|
262
|
+
return columns.map(column => {
|
|
263
|
+
const translationKey = `fieldLabels.${column.translationKey}`;
|
|
264
|
+
const translation = this.translateService.instant(translationKey);
|
|
265
|
+
const validTranslation = translation !== translationKey && translation;
|
|
266
|
+
return {
|
|
267
|
+
key: hasEnvConfig ? column.propertyName : column.translationKey,
|
|
268
|
+
label: column.title || validTranslation || column.translationKey,
|
|
269
|
+
sortable: column.sortable,
|
|
270
|
+
...(column.viewType && { viewType: column.viewType }),
|
|
271
|
+
...(column.enum && { enum: column.enum }),
|
|
272
|
+
...(column.format && { format: column.format }),
|
|
273
|
+
...(column.default && { default: column.default }),
|
|
274
|
+
};
|
|
275
|
+
});
|
|
276
|
+
}
|
|
258
277
|
mapCaseListColumnsToDefinitionColumns(caseListColumns) {
|
|
259
278
|
return caseListColumns.map(caseListColumn => ({
|
|
260
279
|
translationKey: caseListColumn.key,
|
|
@@ -287,14 +306,11 @@ class DossierColumnService {
|
|
|
287
306
|
return caseListColumnPath.replace('doc:', '$.').replace('case:', '');
|
|
288
307
|
}
|
|
289
308
|
}
|
|
290
|
-
DossierColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
291
|
-
DossierColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
292
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
293
|
-
type: Injectable
|
|
294
|
-
|
|
295
|
-
providedIn: 'root',
|
|
296
|
-
}]
|
|
297
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }]; } });
|
|
309
|
+
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 });
|
|
310
|
+
DossierColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierColumnService });
|
|
311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierColumnService, decorators: [{
|
|
312
|
+
type: Injectable
|
|
313
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i6.TranslateService }]; } });
|
|
298
314
|
|
|
299
315
|
/*
|
|
300
316
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -327,9 +343,9 @@ class ZaakobjectenService {
|
|
|
327
343
|
return this.http.get(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/zaak/object/form?objectUrl=${objectUrl}`);
|
|
328
344
|
}
|
|
329
345
|
}
|
|
330
|
-
ZaakobjectenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
331
|
-
ZaakobjectenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
346
|
+
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 });
|
|
347
|
+
ZaakobjectenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ZaakobjectenService, providedIn: 'root' });
|
|
348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ZaakobjectenService, decorators: [{
|
|
333
349
|
type: Injectable,
|
|
334
350
|
args: [{
|
|
335
351
|
providedIn: 'root',
|
|
@@ -356,11 +372,15 @@ class DossierParameterService {
|
|
|
356
372
|
this.router = router;
|
|
357
373
|
this.route = route;
|
|
358
374
|
this._dossierParameters$ = new BehaviorSubject(undefined);
|
|
359
|
-
this.
|
|
375
|
+
this._searchFieldValues$ = new BehaviorSubject({});
|
|
376
|
+
this.setDossierParameters();
|
|
360
377
|
}
|
|
361
378
|
get dossierParameters$() {
|
|
362
379
|
return this._dossierParameters$.asObservable();
|
|
363
380
|
}
|
|
381
|
+
get searchFieldValues$() {
|
|
382
|
+
return this._searchFieldValues$.asObservable();
|
|
383
|
+
}
|
|
364
384
|
get querySearchParams$() {
|
|
365
385
|
return this.route.queryParams.pipe(map(params => {
|
|
366
386
|
if (params.search) {
|
|
@@ -370,29 +390,44 @@ class DossierParameterService {
|
|
|
370
390
|
}), distinctUntilChanged((prevParams, currParams) => JSON.stringify(prevParams) === JSON.stringify(currParams)));
|
|
371
391
|
}
|
|
372
392
|
get queryPaginationParams$() {
|
|
373
|
-
return this.route.queryParams.pipe(
|
|
393
|
+
return this.route.queryParams.pipe(map(params => {
|
|
374
394
|
const paramsCopy = { ...params };
|
|
375
395
|
if (paramsCopy.search) {
|
|
376
396
|
delete paramsCopy.search;
|
|
377
397
|
}
|
|
378
|
-
return
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
398
|
+
return paramsCopy.collectionSize
|
|
399
|
+
? {
|
|
400
|
+
collectionSize: Number(paramsCopy.collectionSize),
|
|
401
|
+
page: Number(paramsCopy.page),
|
|
402
|
+
size: Number(paramsCopy.size),
|
|
403
|
+
maxPaginationItemSize: Number(paramsCopy.maxPaginationItemSize),
|
|
404
|
+
...(paramsCopy.isSorting === 'true' && {
|
|
405
|
+
sort: {
|
|
406
|
+
isSorting: !!(paramsCopy.isSorting === 'true'),
|
|
407
|
+
state: {
|
|
408
|
+
name: paramsCopy.sortStateName,
|
|
409
|
+
direction: paramsCopy.sortStateDirection,
|
|
410
|
+
},
|
|
411
|
+
},
|
|
412
|
+
}),
|
|
413
|
+
}
|
|
414
|
+
: null;
|
|
415
|
+
}), distinctUntilChanged((prevParams, currParams) => JSON.stringify(prevParams) === JSON.stringify(currParams)));
|
|
416
|
+
}
|
|
417
|
+
get queryAssigneeParam$() {
|
|
418
|
+
return this.route.queryParams.pipe(map(params => {
|
|
419
|
+
if (params?.assignee) {
|
|
420
|
+
return params?.assignee?.toUpperCase();
|
|
421
|
+
}
|
|
422
|
+
return '';
|
|
423
|
+
}), distinctUntilChanged((prevParams, currParams) => prevParams === currParams));
|
|
392
424
|
}
|
|
393
425
|
ngOnDestroy() {
|
|
394
426
|
this.dossierParametersSubscription?.unsubscribe();
|
|
395
427
|
}
|
|
428
|
+
setSearchFieldValues(searchFieldValues) {
|
|
429
|
+
this._searchFieldValues$.next(searchFieldValues);
|
|
430
|
+
}
|
|
396
431
|
setSearchParameters(searchParameters) {
|
|
397
432
|
this._dossierParameters$.pipe(take(1)).subscribe(dossierParameters => {
|
|
398
433
|
if (Object.keys(searchParameters || {}).length > 0) {
|
|
@@ -427,20 +462,24 @@ class DossierParameterService {
|
|
|
427
462
|
});
|
|
428
463
|
}
|
|
429
464
|
}
|
|
465
|
+
setAssigneeParameter(assigneeFilter) {
|
|
466
|
+
this._dossierParameters$.pipe(take(1)).subscribe(dossierParameters => {
|
|
467
|
+
this._dossierParameters$.next({
|
|
468
|
+
...dossierParameters,
|
|
469
|
+
assignee: assigneeFilter.toLowerCase(),
|
|
470
|
+
});
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
clearSearchFieldValues() {
|
|
474
|
+
this._searchFieldValues$.next({});
|
|
475
|
+
}
|
|
476
|
+
clearParameters() {
|
|
477
|
+
this._dossierParameters$.next(undefined);
|
|
478
|
+
this.router.navigate([this.getUrlWithoutParams()]);
|
|
479
|
+
}
|
|
430
480
|
openDossierParametersSubscription() {
|
|
431
|
-
this.dossierParametersSubscription =
|
|
432
|
-
this.
|
|
433
|
-
this.route.queryParams,
|
|
434
|
-
]).subscribe(([dossierParams, queryParams]) => {
|
|
435
|
-
let paramsToUse = {};
|
|
436
|
-
if (Object.keys(queryParams || {}).length > 0 &&
|
|
437
|
-
Object.keys(dossierParams || {}).length === 0) {
|
|
438
|
-
paramsToUse = queryParams;
|
|
439
|
-
}
|
|
440
|
-
else {
|
|
441
|
-
paramsToUse = dossierParams;
|
|
442
|
-
}
|
|
443
|
-
this.router.navigate([this.getUrlWithoutParams()], { queryParams: paramsToUse });
|
|
481
|
+
this.dossierParametersSubscription = this.dossierParameters$.subscribe(dossierParams => {
|
|
482
|
+
this.router.navigate([this.getUrlWithoutParams()], { queryParams: dossierParams });
|
|
444
483
|
});
|
|
445
484
|
}
|
|
446
485
|
objectToBase64(jsObject) {
|
|
@@ -452,10 +491,27 @@ class DossierParameterService {
|
|
|
452
491
|
urlTree.fragment = null;
|
|
453
492
|
return urlTree.toString();
|
|
454
493
|
}
|
|
494
|
+
setDossierParameters() {
|
|
495
|
+
combineLatest([this.queryPaginationParams$, this.querySearchParams$, this.queryAssigneeParam$])
|
|
496
|
+
.pipe(take(1))
|
|
497
|
+
.subscribe(([paginationParams, searchParams, assigneeParams]) => {
|
|
498
|
+
if (paginationParams) {
|
|
499
|
+
this.setPaginationParameters(paginationParams);
|
|
500
|
+
}
|
|
501
|
+
if (searchParams) {
|
|
502
|
+
this.setSearchParameters(searchParams);
|
|
503
|
+
this.setSearchFieldValues(searchParams);
|
|
504
|
+
}
|
|
505
|
+
if (assigneeParams) {
|
|
506
|
+
this.setAssigneeParameter(assigneeParams);
|
|
507
|
+
}
|
|
508
|
+
this.openDossierParametersSubscription();
|
|
509
|
+
});
|
|
510
|
+
}
|
|
455
511
|
}
|
|
456
|
-
DossierParameterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
457
|
-
DossierParameterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
458
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
512
|
+
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 });
|
|
513
|
+
DossierParameterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierParameterService });
|
|
514
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierParameterService, decorators: [{
|
|
459
515
|
type: Injectable
|
|
460
516
|
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }]; } });
|
|
461
517
|
|
|
@@ -486,9 +542,9 @@ class FileSortService {
|
|
|
486
542
|
return relatedFiles;
|
|
487
543
|
}
|
|
488
544
|
}
|
|
489
|
-
FileSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
490
|
-
FileSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
491
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
545
|
+
FileSortService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileSortService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
546
|
+
FileSortService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileSortService, providedIn: 'root' });
|
|
547
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileSortService, decorators: [{
|
|
492
548
|
type: Injectable,
|
|
493
549
|
args: [{
|
|
494
550
|
providedIn: 'root',
|
|
@@ -510,6 +566,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
510
566
|
* See the License for the specific language governing permissions and
|
|
511
567
|
* limitations under the License.
|
|
512
568
|
*/
|
|
569
|
+
class DossierListService {
|
|
570
|
+
constructor(dossierColumnService) {
|
|
571
|
+
this.dossierColumnService = dossierColumnService;
|
|
572
|
+
this._documentDefinitionName$ = new BehaviorSubject('');
|
|
573
|
+
this._hasEnvColumnConfig$ = this.documentDefinitionName$.pipe(map(documentDefinitionName => this.dossierColumnService.hasEnvironmentConfig(documentDefinitionName)));
|
|
574
|
+
}
|
|
575
|
+
get documentDefinitionName$() {
|
|
576
|
+
return this._documentDefinitionName$.asObservable();
|
|
577
|
+
}
|
|
578
|
+
get hasEnvColumnConfig$() {
|
|
579
|
+
return this._hasEnvColumnConfig$;
|
|
580
|
+
}
|
|
581
|
+
setDocumentDefinitionName(documentDefinitionName) {
|
|
582
|
+
this._documentDefinitionName$.next(documentDefinitionName);
|
|
583
|
+
}
|
|
584
|
+
mapDocuments(documents, hasEnvColumnConfig, hasApiColumnConfig) {
|
|
585
|
+
if (hasEnvColumnConfig || !hasApiColumnConfig) {
|
|
586
|
+
return documents.content.map(document => {
|
|
587
|
+
const { content, ...others } = document;
|
|
588
|
+
return { ...content, ...others };
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
return documents.content.reduce((acc, curr) => {
|
|
592
|
+
const propsObject = { id: curr.id };
|
|
593
|
+
curr.items?.forEach(item => {
|
|
594
|
+
propsObject[item.key] = item.value;
|
|
595
|
+
});
|
|
596
|
+
return [...acc, propsObject];
|
|
597
|
+
}, []);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
DossierListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListService, deps: [{ token: DossierColumnService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
601
|
+
DossierListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListService });
|
|
602
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListService, decorators: [{
|
|
603
|
+
type: Injectable
|
|
604
|
+
}], ctorParameters: function () { return [{ type: DossierColumnService }]; } });
|
|
513
605
|
|
|
514
606
|
/*
|
|
515
607
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -526,16 +618,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
526
618
|
* See the License for the specific language governing permissions and
|
|
527
619
|
* limitations under the License.
|
|
528
620
|
*/
|
|
529
|
-
|
|
530
|
-
(
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
621
|
+
class DossierListAssigneeService {
|
|
622
|
+
constructor(dossierListService, documentService, translateService, dossierParameterService) {
|
|
623
|
+
this.dossierListService = dossierListService;
|
|
624
|
+
this.documentService = documentService;
|
|
625
|
+
this.translateService = translateService;
|
|
626
|
+
this.dossierParameterService = dossierParameterService;
|
|
627
|
+
this.ASSIGNEE_KEY = 'assigneeFullName';
|
|
628
|
+
this.defaultAssigneeFilter = 'ALL';
|
|
629
|
+
this.canHaveAssignee$ = this.dossierListService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), map(caseSettings => caseSettings?.canHaveAssignee));
|
|
630
|
+
this._assigneeFilter$ = new BehaviorSubject(this.defaultAssigneeFilter);
|
|
631
|
+
}
|
|
632
|
+
get assigneeFilter$() {
|
|
633
|
+
return this._assigneeFilter$.asObservable();
|
|
634
|
+
}
|
|
635
|
+
resetAssigneeFilter() {
|
|
636
|
+
this.dossierParameterService.queryAssigneeParam$.pipe(take(1)).subscribe(assigneeParam => {
|
|
637
|
+
if (assigneeParam) {
|
|
638
|
+
this._assigneeFilter$.next(assigneeParam);
|
|
639
|
+
this.dossierParameterService.setAssigneeParameter(assigneeParam);
|
|
640
|
+
}
|
|
641
|
+
else {
|
|
642
|
+
this._assigneeFilter$.next(this.defaultAssigneeFilter);
|
|
643
|
+
this.dossierParameterService.setAssigneeParameter(this.defaultAssigneeFilter);
|
|
644
|
+
}
|
|
645
|
+
});
|
|
646
|
+
}
|
|
647
|
+
setAssigneeFilter(assigneeFilter) {
|
|
648
|
+
this._assigneeFilter$.next(assigneeFilter);
|
|
649
|
+
this.dossierParameterService.setAssigneeParameter(assigneeFilter);
|
|
650
|
+
}
|
|
651
|
+
filterAssigneeColumns(columns, canHaveAssignee) {
|
|
652
|
+
return columns.filter(column => {
|
|
653
|
+
if (column?.key === this.ASSIGNEE_KEY && !canHaveAssignee) {
|
|
654
|
+
return false;
|
|
655
|
+
}
|
|
656
|
+
return true;
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
addAssigneeListField(columns, listFields, canHaveAssignee) {
|
|
660
|
+
return [
|
|
661
|
+
...listFields,
|
|
662
|
+
...(canHaveAssignee && !columns.find(column => column.propertyName === this.ASSIGNEE_KEY)
|
|
663
|
+
? [
|
|
664
|
+
{
|
|
665
|
+
key: this.ASSIGNEE_KEY,
|
|
666
|
+
label: this.translateService.instant(`fieldLabels.${this.ASSIGNEE_KEY}`),
|
|
667
|
+
sortable: true,
|
|
668
|
+
viewType: 'string',
|
|
669
|
+
},
|
|
670
|
+
]
|
|
671
|
+
: []),
|
|
672
|
+
];
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
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 });
|
|
676
|
+
DossierListAssigneeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListAssigneeService });
|
|
677
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListAssigneeService, decorators: [{
|
|
678
|
+
type: Injectable
|
|
679
|
+
}], ctorParameters: function () { return [{ type: DossierListService }, { type: i2.DocumentService }, { type: i6.TranslateService }, { type: DossierParameterService }]; } });
|
|
539
680
|
|
|
540
681
|
/*
|
|
541
682
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -575,15 +716,227 @@ class DossierService {
|
|
|
575
716
|
};
|
|
576
717
|
}
|
|
577
718
|
}
|
|
578
|
-
DossierService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
579
|
-
DossierService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
719
|
+
DossierService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
720
|
+
DossierService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierService, providedIn: 'root' });
|
|
721
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierService, decorators: [{
|
|
581
722
|
type: Injectable,
|
|
582
723
|
args: [{
|
|
583
724
|
providedIn: 'root',
|
|
584
725
|
}]
|
|
585
726
|
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
586
727
|
|
|
728
|
+
/*
|
|
729
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
730
|
+
*
|
|
731
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
732
|
+
* you may not use this file except in compliance with the License.
|
|
733
|
+
* You may obtain a copy of the License at
|
|
734
|
+
*
|
|
735
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
736
|
+
*
|
|
737
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
738
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
739
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
740
|
+
* See the License for the specific language governing permissions and
|
|
741
|
+
* limitations under the License.
|
|
742
|
+
*/
|
|
743
|
+
class DossierListPaginationService {
|
|
744
|
+
constructor(logger, dossierParameterService, dossierService) {
|
|
745
|
+
this.logger = logger;
|
|
746
|
+
this.dossierParameterService = dossierParameterService;
|
|
747
|
+
this.dossierService = dossierService;
|
|
748
|
+
this.DEFAULT_PAGINATION = {
|
|
749
|
+
collectionSize: 0,
|
|
750
|
+
page: 1,
|
|
751
|
+
size: 10,
|
|
752
|
+
maxPaginationItemSize: 5,
|
|
753
|
+
sort: undefined,
|
|
754
|
+
};
|
|
755
|
+
this._pagination$ = new BehaviorSubject(undefined);
|
|
756
|
+
this._paginationCopy$ = this._pagination$.pipe(filter(pagination => !!pagination), map(pagination => pagination && JSON.parse(JSON.stringify(pagination))), tap(pagination => this.dossierParameterService.setPaginationParameters(pagination)));
|
|
757
|
+
}
|
|
758
|
+
get pagination$() {
|
|
759
|
+
return this._paginationCopy$;
|
|
760
|
+
}
|
|
761
|
+
pageChange(newPage) {
|
|
762
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
763
|
+
if (pagination && pagination.page !== newPage) {
|
|
764
|
+
this.logger.debug(`Page change: ${newPage}`);
|
|
765
|
+
this._pagination$.next({ ...pagination, page: newPage });
|
|
766
|
+
}
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
pageSizeChange(newPageSize) {
|
|
770
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
771
|
+
if (pagination && pagination.size !== newPageSize) {
|
|
772
|
+
const amountOfAvailablePages = Math.ceil(pagination.collectionSize / newPageSize);
|
|
773
|
+
const newPage = amountOfAvailablePages < pagination.page ? amountOfAvailablePages : pagination.page;
|
|
774
|
+
this.logger.debug(`Page size change. New Page: ${newPage} New page size: ${newPageSize}`);
|
|
775
|
+
this._pagination$.next({ ...pagination, size: newPageSize, page: newPage });
|
|
776
|
+
}
|
|
777
|
+
});
|
|
778
|
+
}
|
|
779
|
+
sortChanged(newSortState) {
|
|
780
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
781
|
+
if (pagination && JSON.stringify(pagination.sort) !== JSON.stringify(newSortState)) {
|
|
782
|
+
this.logger.debug(`Sort state change: ${JSON.stringify(newSortState)}`);
|
|
783
|
+
this._pagination$.next({ ...pagination, sort: newSortState });
|
|
784
|
+
}
|
|
785
|
+
});
|
|
786
|
+
}
|
|
787
|
+
setPage(newPageNumber) {
|
|
788
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
789
|
+
this._pagination$.next({ ...pagination, page: newPageNumber });
|
|
790
|
+
});
|
|
791
|
+
}
|
|
792
|
+
setCollectionSize(documents) {
|
|
793
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
794
|
+
if (pagination && pagination.collectionSize !== documents.totalElements) {
|
|
795
|
+
this._pagination$.next({ ...pagination, collectionSize: documents.totalElements });
|
|
796
|
+
}
|
|
797
|
+
});
|
|
798
|
+
}
|
|
799
|
+
checkPage(documents) {
|
|
800
|
+
this._pagination$.pipe(take(1)).subscribe(pagination => {
|
|
801
|
+
if (pagination) {
|
|
802
|
+
const amountOfItems = documents.totalElements;
|
|
803
|
+
const amountOfPages = Math.ceil(amountOfItems / pagination.size);
|
|
804
|
+
const currentPage = pagination.page;
|
|
805
|
+
if (currentPage > amountOfPages) {
|
|
806
|
+
this._pagination$.next({ ...pagination, page: amountOfPages });
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
});
|
|
810
|
+
}
|
|
811
|
+
clearPagination() {
|
|
812
|
+
this._pagination$.next(undefined);
|
|
813
|
+
}
|
|
814
|
+
setPagination(documentDefinitionName, columns) {
|
|
815
|
+
this.dossierParameterService.queryPaginationParams$
|
|
816
|
+
.pipe(take(1))
|
|
817
|
+
.subscribe(queryPaginationParams => {
|
|
818
|
+
const defaultPagination = this.getDefaultPagination(columns);
|
|
819
|
+
const paginationToUse = queryPaginationParams || defaultPagination;
|
|
820
|
+
this.logger.debug(`Set pagination: ${JSON.stringify(paginationToUse)}`);
|
|
821
|
+
this._pagination$.next(paginationToUse);
|
|
822
|
+
});
|
|
823
|
+
}
|
|
824
|
+
getDefaultPagination(columns) {
|
|
825
|
+
const defaultSortState = this.dossierService.getInitialSortState(columns);
|
|
826
|
+
return {
|
|
827
|
+
...this.DEFAULT_PAGINATION,
|
|
828
|
+
sort: defaultSortState,
|
|
829
|
+
};
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
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 });
|
|
833
|
+
DossierListPaginationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListPaginationService });
|
|
834
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListPaginationService, decorators: [{
|
|
835
|
+
type: Injectable
|
|
836
|
+
}], ctorParameters: function () { return [{ type: i1$2.NGXLogger }, { type: DossierParameterService }, { type: DossierService }]; } });
|
|
837
|
+
|
|
838
|
+
/*
|
|
839
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
840
|
+
*
|
|
841
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
842
|
+
* you may not use this file except in compliance with the License.
|
|
843
|
+
* You may obtain a copy of the License at
|
|
844
|
+
*
|
|
845
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
846
|
+
*
|
|
847
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
848
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
849
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
850
|
+
* See the License for the specific language governing permissions and
|
|
851
|
+
* limitations under the License.
|
|
852
|
+
*/
|
|
853
|
+
class DossierListSearchService {
|
|
854
|
+
constructor(dossierListService, documentService, dossierParameterService) {
|
|
855
|
+
this.dossierListService = dossierListService;
|
|
856
|
+
this.documentService = documentService;
|
|
857
|
+
this.dossierParameterService = dossierParameterService;
|
|
858
|
+
this._searchSwitch$ = new BehaviorSubject(false);
|
|
859
|
+
this._documentSearchFields$ = this.dossierListService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentSearchFields(documentDefinitionName)));
|
|
860
|
+
}
|
|
861
|
+
get searchSwitch$() {
|
|
862
|
+
return this._searchSwitch$.asObservable();
|
|
863
|
+
}
|
|
864
|
+
get documentSearchFields$() {
|
|
865
|
+
return this._documentSearchFields$;
|
|
866
|
+
}
|
|
867
|
+
search(searchFieldValues) {
|
|
868
|
+
this.dossierParameterService.setSearchFieldValues(searchFieldValues || {});
|
|
869
|
+
this.dossierParameterService.setSearchParameters(searchFieldValues);
|
|
870
|
+
this._searchSwitch$.next(!this._searchSwitch$.getValue());
|
|
871
|
+
}
|
|
872
|
+
refresh() {
|
|
873
|
+
this._searchSwitch$.next(!this._searchSwitch$.getValue());
|
|
874
|
+
}
|
|
875
|
+
mapSearchValuesToFilters(values) {
|
|
876
|
+
const filters = [];
|
|
877
|
+
Object.keys(values).forEach(valueKey => {
|
|
878
|
+
const searchValue = values[valueKey];
|
|
879
|
+
if (searchValue.start) {
|
|
880
|
+
filters.push({ key: valueKey, rangeFrom: searchValue.start, rangeTo: searchValue.end });
|
|
881
|
+
}
|
|
882
|
+
else if (Array.isArray(searchValue)) {
|
|
883
|
+
filters.push({ key: valueKey, values: searchValue });
|
|
884
|
+
}
|
|
885
|
+
else {
|
|
886
|
+
filters.push({ key: valueKey, values: [searchValue] });
|
|
887
|
+
}
|
|
888
|
+
});
|
|
889
|
+
return filters;
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
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 });
|
|
893
|
+
DossierListSearchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListSearchService });
|
|
894
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListSearchService, decorators: [{
|
|
895
|
+
type: Injectable
|
|
896
|
+
}], ctorParameters: function () { return [{ type: DossierListService }, { type: i2.DocumentService }, { type: DossierParameterService }]; } });
|
|
897
|
+
|
|
898
|
+
/*
|
|
899
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
900
|
+
*
|
|
901
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
902
|
+
* you may not use this file except in compliance with the License.
|
|
903
|
+
* You may obtain a copy of the License at
|
|
904
|
+
*
|
|
905
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
906
|
+
*
|
|
907
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
908
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
909
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
910
|
+
* See the License for the specific language governing permissions and
|
|
911
|
+
* limitations under the License.
|
|
912
|
+
*/
|
|
913
|
+
|
|
914
|
+
/*
|
|
915
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
916
|
+
*
|
|
917
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
918
|
+
* you may not use this file except in compliance with the License.
|
|
919
|
+
* You may obtain a copy of the License at
|
|
920
|
+
*
|
|
921
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
922
|
+
*
|
|
923
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
924
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
925
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
926
|
+
* See the License for the specific language governing permissions and
|
|
927
|
+
* limitations under the License.
|
|
928
|
+
*/
|
|
929
|
+
var DefaultTabs;
|
|
930
|
+
(function (DefaultTabs) {
|
|
931
|
+
DefaultTabs["summary"] = "summary";
|
|
932
|
+
DefaultTabs["progress"] = "progress";
|
|
933
|
+
DefaultTabs["audit"] = "audit";
|
|
934
|
+
DefaultTabs["documents"] = "documents";
|
|
935
|
+
DefaultTabs["contactMoments"] = "contact-moments";
|
|
936
|
+
DefaultTabs["zaakobjecten"] = "zaakobjecten";
|
|
937
|
+
DefaultTabs["notes"] = "notes";
|
|
938
|
+
})(DefaultTabs || (DefaultTabs = {}));
|
|
939
|
+
|
|
587
940
|
/*
|
|
588
941
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
589
942
|
*
|
|
@@ -600,45 +953,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
600
953
|
* limitations under the License.
|
|
601
954
|
*/
|
|
602
955
|
class DossierProcessStartModalComponent {
|
|
603
|
-
constructor(route, router, processService, documentService, formLinkService, userProviderService, logger) {
|
|
956
|
+
constructor(route, router, processService, documentService, formLinkService, processLinkService, formFlowService, userProviderService, logger) {
|
|
604
957
|
this.route = route;
|
|
605
958
|
this.router = router;
|
|
606
959
|
this.processService = processService;
|
|
607
960
|
this.documentService = documentService;
|
|
608
961
|
this.formLinkService = formLinkService;
|
|
962
|
+
this.processLinkService = processLinkService;
|
|
963
|
+
this.formFlowService = formFlowService;
|
|
609
964
|
this.userProviderService = userProviderService;
|
|
610
965
|
this.logger = logger;
|
|
966
|
+
this.formFlowComplete = new EventEmitter();
|
|
611
967
|
}
|
|
612
968
|
ngOnInit() {
|
|
613
969
|
this.isUserAdmin();
|
|
614
970
|
}
|
|
615
|
-
|
|
971
|
+
loadProcessLink() {
|
|
972
|
+
this.formAssociation = null;
|
|
973
|
+
this.processLinkId = null;
|
|
616
974
|
this.formDefinition = null;
|
|
617
|
-
this.
|
|
618
|
-
|
|
619
|
-
.
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
975
|
+
this.formFlowInstanceId = null;
|
|
976
|
+
this.processService
|
|
977
|
+
.getProcessDefinitionStartProcessLink(this.processDefinitionId, null, this.documentDefinitionName)
|
|
978
|
+
.pipe(take$1(1))
|
|
979
|
+
.subscribe(startProcessResult => {
|
|
980
|
+
if (startProcessResult) {
|
|
981
|
+
switch (startProcessResult.type) {
|
|
982
|
+
case 'form':
|
|
983
|
+
this.formDefinition = startProcessResult.properties.prefilledForm;
|
|
984
|
+
this.processLinkId = startProcessResult.processLinkId;
|
|
985
|
+
break;
|
|
986
|
+
case 'form-flow':
|
|
987
|
+
this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
|
|
988
|
+
break;
|
|
989
|
+
}
|
|
990
|
+
this.modal.show();
|
|
991
|
+
}
|
|
992
|
+
else {
|
|
993
|
+
// backwards compatibility for form associations
|
|
994
|
+
this.formLinkService
|
|
995
|
+
.getStartEventFormDefinitionByProcessDefinitionKey(this.processDefinitionKey, null)
|
|
996
|
+
.pipe(take$1(1))
|
|
997
|
+
.subscribe({
|
|
998
|
+
next: formDefinitionWithFormAssociation => this.openFormAssociation(formDefinitionWithFormAssociation),
|
|
999
|
+
error: error => {
|
|
1000
|
+
this.modal.show();
|
|
1001
|
+
},
|
|
1002
|
+
});
|
|
637
1003
|
}
|
|
638
|
-
}, errors => {
|
|
639
|
-
this.modal.show();
|
|
640
1004
|
});
|
|
641
1005
|
}
|
|
1006
|
+
openFormAssociation(formDefinitionWithFormAssociation) {
|
|
1007
|
+
this.formAssociation = formDefinitionWithFormAssociation.formAssociation;
|
|
1008
|
+
const className = this.formAssociation.formLink.className.split('.');
|
|
1009
|
+
const linkType = className[className.length - 1];
|
|
1010
|
+
switch (linkType) {
|
|
1011
|
+
case 'BpmnElementFormIdLink':
|
|
1012
|
+
this.formDefinition = formDefinitionWithFormAssociation;
|
|
1013
|
+
this.modal.show();
|
|
1014
|
+
break;
|
|
1015
|
+
case 'BpmnElementFormFlowIdLink':
|
|
1016
|
+
this.formFlowService
|
|
1017
|
+
.createInstanceForNewProcess(this.processDefinitionKey, {
|
|
1018
|
+
documentId: null,
|
|
1019
|
+
documentDefinitionName: this.documentDefinitionName,
|
|
1020
|
+
})
|
|
1021
|
+
.subscribe(result => (this.formFlowInstanceId = result.formFlowInstanceId));
|
|
1022
|
+
this.modal.show();
|
|
1023
|
+
break;
|
|
1024
|
+
case 'BpmnElementUrlLink':
|
|
1025
|
+
const url = this.router.serializeUrl(this.router.createUrlTree([this.formAssociation.formLink.url]));
|
|
1026
|
+
window.open(url, '_blank');
|
|
1027
|
+
break;
|
|
1028
|
+
case 'BpmnElementAngularStateUrlLink':
|
|
1029
|
+
this.route.params.pipe(take$1(1)).subscribe(params => {
|
|
1030
|
+
const documentId = params?.documentId;
|
|
1031
|
+
this.router.navigate([this.formAssociation.formLink.url], {
|
|
1032
|
+
state: { ...(documentId && { documentId }) },
|
|
1033
|
+
});
|
|
1034
|
+
});
|
|
1035
|
+
break;
|
|
1036
|
+
default:
|
|
1037
|
+
this.logger.fatal('Unsupported class name');
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
642
1040
|
gotoFormLinkScreen() {
|
|
643
1041
|
this.modal.hide();
|
|
644
1042
|
this.router.navigate(['form-links'], { queryParams: { process: this.processDefinitionKey } });
|
|
@@ -648,6 +1046,7 @@ class DossierProcessStartModalComponent {
|
|
|
648
1046
|
}
|
|
649
1047
|
openModal(processDocumentDefinition) {
|
|
650
1048
|
this.processDefinitionKey = processDocumentDefinition.id.processDefinitionKey;
|
|
1049
|
+
this.processDefinitionId = processDocumentDefinition.latestVersionId;
|
|
651
1050
|
this.documentDefinitionName = processDocumentDefinition.id.documentDefinitionId.name;
|
|
652
1051
|
this.processName = processDocumentDefinition.processName;
|
|
653
1052
|
this.options = new FormioOptionsImpl();
|
|
@@ -656,44 +1055,141 @@ class DossierProcessStartModalComponent {
|
|
|
656
1055
|
callback(null, submission);
|
|
657
1056
|
};
|
|
658
1057
|
this.options.setHooks(formioBeforeSubmit);
|
|
659
|
-
this.
|
|
1058
|
+
this.loadProcessLink();
|
|
1059
|
+
}
|
|
1060
|
+
onSubmit(submission) {
|
|
1061
|
+
this.formioSubmission = submission;
|
|
1062
|
+
if (this.processLinkId) {
|
|
1063
|
+
this.processLinkService.submitForm(this.processLinkId, submission.data).subscribe({
|
|
1064
|
+
next: (formSubmissionResult) => {
|
|
1065
|
+
this.submitCompleted(formSubmissionResult);
|
|
1066
|
+
},
|
|
1067
|
+
error: errors => {
|
|
1068
|
+
this.form.showErrors(errors);
|
|
1069
|
+
},
|
|
1070
|
+
});
|
|
1071
|
+
}
|
|
1072
|
+
else {
|
|
1073
|
+
this.formLinkService
|
|
1074
|
+
.onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data)
|
|
1075
|
+
.subscribe((formSubmissionResult) => {
|
|
1076
|
+
this.submitCompleted(formSubmissionResult);
|
|
1077
|
+
}, errors => {
|
|
1078
|
+
this.form.showErrors(errors);
|
|
1079
|
+
});
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
formFlowSubmitted() {
|
|
1083
|
+
this.formFlowComplete.emit(null);
|
|
1084
|
+
this.modal.hide();
|
|
1085
|
+
}
|
|
1086
|
+
isUserAdmin() {
|
|
1087
|
+
this.userProviderService.getUserSubject().subscribe(userIdentity => {
|
|
1088
|
+
this.isAdmin = userIdentity.roles.includes('ROLE_ADMIN');
|
|
1089
|
+
}, error => {
|
|
1090
|
+
this.isAdmin = false;
|
|
1091
|
+
});
|
|
1092
|
+
}
|
|
1093
|
+
submitCompleted(formSubmissionResult) {
|
|
1094
|
+
this.modal.hide();
|
|
1095
|
+
this.router.navigate([
|
|
1096
|
+
'dossiers',
|
|
1097
|
+
this.documentDefinitionName,
|
|
1098
|
+
'document',
|
|
1099
|
+
formSubmissionResult.documentId,
|
|
1100
|
+
'summary',
|
|
1101
|
+
]);
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
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 });
|
|
1105
|
+
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 });
|
|
1106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierProcessStartModalComponent, decorators: [{
|
|
1107
|
+
type: Component,
|
|
1108
|
+
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"] }]
|
|
1109
|
+
}], 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: [{
|
|
1110
|
+
type: ViewChild,
|
|
1111
|
+
args: ['form', { static: false }]
|
|
1112
|
+
}], modal: [{
|
|
1113
|
+
type: ViewChild,
|
|
1114
|
+
args: ['processStartModal', { static: false }]
|
|
1115
|
+
}], formFlowComplete: [{
|
|
1116
|
+
type: Output
|
|
1117
|
+
}] } });
|
|
1118
|
+
|
|
1119
|
+
/*
|
|
1120
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
1121
|
+
*
|
|
1122
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
1123
|
+
* you may not use this file except in compliance with the License.
|
|
1124
|
+
* You may obtain a copy of the License at
|
|
1125
|
+
*
|
|
1126
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
1127
|
+
*
|
|
1128
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1129
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
1130
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1131
|
+
* See the License for the specific language governing permissions and
|
|
1132
|
+
* limitations under the License.
|
|
1133
|
+
*/
|
|
1134
|
+
class DossierListActionsComponent {
|
|
1135
|
+
constructor(documentService, route, listService) {
|
|
1136
|
+
this.documentService = documentService;
|
|
1137
|
+
this.route = route;
|
|
1138
|
+
this.listService = listService;
|
|
1139
|
+
this.formFlowComplete = new EventEmitter();
|
|
1140
|
+
this.selectedProcessDocumentDefinition = null;
|
|
1141
|
+
this.modalListenerAdded = false;
|
|
1142
|
+
this._cachedAssociatedProcessDocumentDefinitions = [];
|
|
1143
|
+
this.associatedProcessDocumentDefinitions$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => documentDefinitionName
|
|
1144
|
+
? this.documentService.findProcessDocumentDefinitions(documentDefinitionName)
|
|
1145
|
+
: of([])), map(processDocumentDefinitions => processDocumentDefinitions.filter(definition => definition.canInitializeDocument)), tap(processDocumentDefinitions => {
|
|
1146
|
+
this._cachedAssociatedProcessDocumentDefinitions = processDocumentDefinitions;
|
|
1147
|
+
}));
|
|
1148
|
+
}
|
|
1149
|
+
ngOnInit() {
|
|
1150
|
+
this.modalListenerAdded = false;
|
|
1151
|
+
}
|
|
1152
|
+
startDossier() {
|
|
1153
|
+
const associatedProcessDocumentDefinitions = this._cachedAssociatedProcessDocumentDefinitions;
|
|
1154
|
+
if (associatedProcessDocumentDefinitions.length > 1) {
|
|
1155
|
+
$('#startProcess').modal('show');
|
|
1156
|
+
}
|
|
1157
|
+
else {
|
|
1158
|
+
this.selectedProcessDocumentDefinition = associatedProcessDocumentDefinitions[0];
|
|
1159
|
+
this.showStartProcessModal();
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
selectProcess(processDocumentDefinition) {
|
|
1163
|
+
const modal = $('#startProcess');
|
|
1164
|
+
if (!this.modalListenerAdded) {
|
|
1165
|
+
modal.on('hidden.bs.modal', this.showStartProcessModal.bind(this));
|
|
1166
|
+
this.modalListenerAdded = true;
|
|
1167
|
+
}
|
|
1168
|
+
this.selectedProcessDocumentDefinition = processDocumentDefinition;
|
|
1169
|
+
modal.modal('hide');
|
|
660
1170
|
}
|
|
661
|
-
|
|
662
|
-
this.
|
|
663
|
-
this.formLinkService
|
|
664
|
-
.onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data)
|
|
665
|
-
.subscribe((formSubmissionResult) => {
|
|
666
|
-
this.modal.hide();
|
|
667
|
-
this.router.navigate([
|
|
668
|
-
'dossiers',
|
|
669
|
-
this.documentDefinitionName,
|
|
670
|
-
'document',
|
|
671
|
-
formSubmissionResult.documentId,
|
|
672
|
-
'summary',
|
|
673
|
-
]);
|
|
674
|
-
}, errors => {
|
|
675
|
-
this.form.showErrors(errors);
|
|
676
|
-
});
|
|
1171
|
+
onFormFlowComplete() {
|
|
1172
|
+
this.formFlowComplete.emit(null);
|
|
677
1173
|
}
|
|
678
|
-
|
|
679
|
-
this.
|
|
680
|
-
this.
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
});
|
|
1174
|
+
showStartProcessModal() {
|
|
1175
|
+
if (this.selectedProcessDocumentDefinition !== null) {
|
|
1176
|
+
this.processStart.openModal(this.selectedProcessDocumentDefinition);
|
|
1177
|
+
this.selectedProcessDocumentDefinition = null;
|
|
1178
|
+
}
|
|
684
1179
|
}
|
|
685
1180
|
}
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1181
|
+
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 });
|
|
1182
|
+
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" }] });
|
|
1183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListActionsComponent, decorators: [{
|
|
689
1184
|
type: Component,
|
|
690
|
-
args: [{ selector: 'valtimo-dossier-
|
|
691
|
-
}], ctorParameters: function () { return [{ type:
|
|
692
|
-
type: ViewChild,
|
|
693
|
-
args: ['form', { static: false }]
|
|
694
|
-
}], modal: [{
|
|
1185
|
+
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" }]
|
|
1186
|
+
}], ctorParameters: function () { return [{ type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: DossierListService }]; }, propDecorators: { processStart: [{
|
|
695
1187
|
type: ViewChild,
|
|
696
|
-
args: ['processStartModal'
|
|
1188
|
+
args: ['processStartModal']
|
|
1189
|
+
}], loading: [{
|
|
1190
|
+
type: Input
|
|
1191
|
+
}], formFlowComplete: [{
|
|
1192
|
+
type: Output
|
|
697
1193
|
}] } });
|
|
698
1194
|
|
|
699
1195
|
/*
|
|
@@ -711,318 +1207,199 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
711
1207
|
* See the License for the specific language governing permissions and
|
|
712
1208
|
* limitations under the License.
|
|
713
1209
|
*/
|
|
714
|
-
moment.locale(localStorage.getItem('langKey') || '');
|
|
715
1210
|
class DossierListComponent {
|
|
716
|
-
constructor(route,
|
|
1211
|
+
constructor(route, translateService, listService, columnService, assigneeService, paginationService, searchService, parameterService, documentService, router, configService, pageTitleService, breadcrumbService) {
|
|
717
1212
|
this.route = route;
|
|
718
|
-
this.router = router;
|
|
719
|
-
this.documentService = documentService;
|
|
720
1213
|
this.translateService = translateService;
|
|
721
|
-
this.
|
|
722
|
-
this.
|
|
1214
|
+
this.listService = listService;
|
|
1215
|
+
this.columnService = columnService;
|
|
1216
|
+
this.assigneeService = assigneeService;
|
|
1217
|
+
this.paginationService = paginationService;
|
|
1218
|
+
this.searchService = searchService;
|
|
1219
|
+
this.parameterService = parameterService;
|
|
1220
|
+
this.documentService = documentService;
|
|
1221
|
+
this.router = router;
|
|
723
1222
|
this.configService = configService;
|
|
724
|
-
this.
|
|
725
|
-
this.
|
|
726
|
-
this.
|
|
727
|
-
this.
|
|
728
|
-
this.
|
|
729
|
-
this.
|
|
730
|
-
this.
|
|
731
|
-
this.
|
|
732
|
-
this.
|
|
733
|
-
|
|
734
|
-
this.resetPagination(documentDefinitionName);
|
|
1223
|
+
this.pageTitleService = pageTitleService;
|
|
1224
|
+
this.breadcrumbService = breadcrumbService;
|
|
1225
|
+
this.loadingFields = true;
|
|
1226
|
+
this.loadingPagination = true;
|
|
1227
|
+
this.loadingSearchFields = true;
|
|
1228
|
+
this.loadingAssigneeFilter = true;
|
|
1229
|
+
this.loadingDocumentItems = true;
|
|
1230
|
+
this.visibleDossierTabs = null;
|
|
1231
|
+
this.searchFields$ = this.searchService.documentSearchFields$.pipe(tap(searchFields => {
|
|
1232
|
+
this.loadingSearchFields = false;
|
|
735
1233
|
}));
|
|
736
|
-
this.
|
|
737
|
-
this.
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
: of([])), map(processDocumentDefinitions => processDocumentDefinitions.filter(definition => definition.canInitializeDocument)));
|
|
742
|
-
this.schema$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), map(documentDefinition => documentDefinition?.schema), tap(() => {
|
|
743
|
-
this.assigneeFilter$.next(this.defaultAssigneeFilter);
|
|
1234
|
+
this.documentDefinitionName$ = this.listService.documentDefinitionName$;
|
|
1235
|
+
this.schema$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), map(documentDefinition => documentDefinition?.schema), tap(schema => {
|
|
1236
|
+
if (schema?.title) {
|
|
1237
|
+
this.pageTitleService.setCustomPageTitle(schema?.title, true);
|
|
1238
|
+
}
|
|
744
1239
|
}));
|
|
745
|
-
this.
|
|
746
|
-
this.
|
|
747
|
-
this.
|
|
748
|
-
|
|
749
|
-
this.
|
|
1240
|
+
this.searchFieldValues$ = this.parameterService.searchFieldValues$;
|
|
1241
|
+
this.assigneeFilter$ = this.assigneeService.assigneeFilter$;
|
|
1242
|
+
this._pagination$ = this.paginationService.pagination$.pipe(tap(pagination => {
|
|
1243
|
+
this.pagination = pagination;
|
|
1244
|
+
this.loadingPagination = false;
|
|
1245
|
+
}));
|
|
1246
|
+
this._hasEnvColumnConfig$ = this.listService.hasEnvColumnConfig$;
|
|
1247
|
+
this._hasApiColumnConfig$ = new BehaviorSubject(false);
|
|
1248
|
+
this._canHaveAssignee$ = this.assigneeService.canHaveAssignee$;
|
|
1249
|
+
this._searchSwitch$ = this.searchService.searchSwitch$;
|
|
1250
|
+
this._columns$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.columnService.getDefinitionColumns(documentDefinitionName)), map(res => {
|
|
1251
|
+
this._hasApiColumnConfig$.next(res.hasApiConfig);
|
|
750
1252
|
return res.columns;
|
|
1253
|
+
}), tap(columns => {
|
|
1254
|
+
this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
1255
|
+
this.paginationService.setPagination(documentDefinitionName, columns);
|
|
1256
|
+
});
|
|
751
1257
|
}));
|
|
752
|
-
this.ASSIGNEE_KEY = 'assigneeFullName';
|
|
753
1258
|
this.fields$ = combineLatest([
|
|
754
|
-
this.
|
|
755
|
-
this.
|
|
756
|
-
this.
|
|
1259
|
+
this._canHaveAssignee$,
|
|
1260
|
+
this._columns$,
|
|
1261
|
+
this._hasEnvColumnConfig$,
|
|
757
1262
|
this.translateService.stream('key'),
|
|
758
|
-
]).pipe(
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
1263
|
+
]).pipe(tap(([canHaveAssignee]) => {
|
|
1264
|
+
this.canHaveAssignee = canHaveAssignee;
|
|
1265
|
+
}), map(([canHaveAssignee, columns, hasEnvConfig]) => {
|
|
1266
|
+
const filteredAssigneeColumns = this.assigneeService.filterAssigneeColumns(columns, canHaveAssignee);
|
|
1267
|
+
const listFields = this.columnService.mapDefinitionColumnsToListFields(filteredAssigneeColumns, hasEnvConfig);
|
|
1268
|
+
const fieldsToReturn = this.assigneeService.addAssigneeListField(columns, listFields, canHaveAssignee);
|
|
1269
|
+
return fieldsToReturn;
|
|
1270
|
+
}), tap(listFields => {
|
|
1271
|
+
const defaultListField = listFields.find(field => field.default);
|
|
1272
|
+
// set default sort state if no pagination query parameters for sorting are available
|
|
1273
|
+
this.parameterService.queryPaginationParams$
|
|
1274
|
+
.pipe(take(1))
|
|
1275
|
+
.subscribe(queryPaginationParams => {
|
|
1276
|
+
if (defaultListField && !queryPaginationParams?.sort?.isSorting) {
|
|
1277
|
+
const sortDirection = typeof defaultListField.default === 'string' ? defaultListField.default : 'DESC';
|
|
1278
|
+
this.paginationService.sortChanged({
|
|
1279
|
+
isSorting: true,
|
|
1280
|
+
state: { name: defaultListField.key, direction: sortDirection },
|
|
1281
|
+
});
|
|
777
1282
|
}
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
label: this.translateService.instant(`fieldLabels.${this.ASSIGNEE_KEY}`),
|
|
786
|
-
sortable: true,
|
|
787
|
-
viewType: 'string',
|
|
788
|
-
},
|
|
789
|
-
]
|
|
790
|
-
: []),
|
|
791
|
-
]));
|
|
792
|
-
this.DEFAULT_PAGINATION = {
|
|
793
|
-
collectionSize: 0,
|
|
794
|
-
page: 1,
|
|
795
|
-
size: 10,
|
|
796
|
-
maxPaginationItemSize: 5,
|
|
797
|
-
sort: undefined,
|
|
798
|
-
};
|
|
799
|
-
this.pagination$ = new BehaviorSubject(undefined);
|
|
800
|
-
this.paginationCopy$ = this.pagination$.pipe(map(pagination => pagination && JSON.parse(JSON.stringify(pagination))), tap(pagination => this.dossierParameterService.setPaginationParameters(pagination)));
|
|
801
|
-
this.documentSearchRequest$ = combineLatest([this.pagination$, this.documentDefinitionName$]).pipe(filter(([pagination]) => !!pagination), map(([pagination, documentDefinitionName]) => new AdvancedDocumentSearchRequestImpl(documentDefinitionName, pagination.page - 1, pagination.size, pagination.sort)));
|
|
802
|
-
this.searchFieldValues$ = new BehaviorSubject({});
|
|
803
|
-
this.assigneeFilter$ = new BehaviorSubject(this.defaultAssigneeFilter);
|
|
804
|
-
this.documentsRequest$ = combineLatest([
|
|
805
|
-
this.documentSearchRequest$,
|
|
1283
|
+
});
|
|
1284
|
+
}), tap(() => {
|
|
1285
|
+
this.loadingFields = false;
|
|
1286
|
+
}));
|
|
1287
|
+
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)));
|
|
1288
|
+
this._documentsRequest$ = combineLatest([
|
|
1289
|
+
this._documentSearchRequest$,
|
|
806
1290
|
this.searchFieldValues$,
|
|
807
1291
|
this.assigneeFilter$,
|
|
808
|
-
this.
|
|
809
|
-
this.
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
1292
|
+
this._hasEnvColumnConfig$,
|
|
1293
|
+
this._hasApiColumnConfig$,
|
|
1294
|
+
this._searchSwitch$,
|
|
1295
|
+
]).pipe(distinctUntilChanged(([prevSearchRequest, prevSearchValues, prevAssigneeFilter, prevHasEnvColumnConfig, prevHasApiColumnConfig, prevSearchSwitch,], [currSearchRequest, currSearchValues, currAssigneeFilter, currHasEnvColumnConfig, currHasApiColumnConfig, currSearchSwitch,]) => JSON.stringify({ ...prevSearchRequest, ...prevSearchValues }) +
|
|
1296
|
+
prevAssigneeFilter +
|
|
1297
|
+
prevSearchSwitch ===
|
|
1298
|
+
JSON.stringify({ ...currSearchRequest, ...currSearchValues }) +
|
|
1299
|
+
currAssigneeFilter +
|
|
1300
|
+
currSearchSwitch), switchMap(([documentSearchRequest, searchValues, assigneeFilter, hasEnvColumnConfig, hasApiColumnConfig,]) => {
|
|
817
1301
|
if ((Object.keys(searchValues) || []).length > 0) {
|
|
818
1302
|
return hasEnvColumnConfig || !hasApiColumnConfig
|
|
819
|
-
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.mapSearchValuesToFilters(searchValues))
|
|
820
|
-
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.mapSearchValuesToFilters(searchValues));
|
|
821
|
-
}
|
|
822
|
-
else {
|
|
823
|
-
return hasEnvColumnConfig || !hasApiColumnConfig
|
|
824
|
-
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter)
|
|
825
|
-
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter);
|
|
1303
|
+
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues))
|
|
1304
|
+
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues));
|
|
826
1305
|
}
|
|
1306
|
+
return hasEnvColumnConfig || !hasApiColumnConfig
|
|
1307
|
+
? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter)
|
|
1308
|
+
: this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter);
|
|
827
1309
|
}), tap(documents => {
|
|
828
|
-
this.setCollectionSize(documents);
|
|
829
|
-
this.checkPage(documents);
|
|
1310
|
+
this.paginationService.setCollectionSize(documents);
|
|
1311
|
+
this.paginationService.checkPage(documents);
|
|
830
1312
|
}));
|
|
831
1313
|
this.documentItems$ = combineLatest([
|
|
832
|
-
this.
|
|
833
|
-
this.
|
|
834
|
-
this.
|
|
835
|
-
]).pipe(map(([documents, hasEnvColumnConfig, hasApiColumnConfig]) => {
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
const { content, ...others } = document;
|
|
840
|
-
return { ...content, ...others };
|
|
841
|
-
});
|
|
842
|
-
}
|
|
843
|
-
else {
|
|
844
|
-
const docsToMap = documents;
|
|
845
|
-
return docsToMap.content.reduce((acc, curr) => {
|
|
846
|
-
const propsObject = { id: curr.id };
|
|
847
|
-
curr.items.forEach(item => {
|
|
848
|
-
propsObject[item.key] = item.value;
|
|
849
|
-
});
|
|
850
|
-
return [...acc, propsObject];
|
|
851
|
-
}, []);
|
|
852
|
-
}
|
|
853
|
-
}), tap(() => this.loading$.next(false)));
|
|
854
|
-
this.setSearchFieldValuesSubject$ = new Subject();
|
|
855
|
-
this.dossierVisibleTabs = this.configService.config?.visibleDossierListTabs || null;
|
|
1314
|
+
this._documentsRequest$,
|
|
1315
|
+
this._hasEnvColumnConfig$,
|
|
1316
|
+
this._hasApiColumnConfig$,
|
|
1317
|
+
]).pipe(map(([documents, hasEnvColumnConfig, hasApiColumnConfig]) => this.listService.mapDocuments(documents, hasEnvColumnConfig, hasApiColumnConfig)), tap(() => {
|
|
1318
|
+
this.loadingAssigneeFilter = false;
|
|
1319
|
+
this.loadingDocumentItems = false;
|
|
1320
|
+
}));
|
|
856
1321
|
}
|
|
857
1322
|
ngOnInit() {
|
|
858
|
-
this.
|
|
859
|
-
this.
|
|
860
|
-
}
|
|
861
|
-
pageChange(newPage) {
|
|
862
|
-
this.pagination$.pipe(take(1)).subscribe(pagination => {
|
|
863
|
-
if (pagination && pagination.page !== newPage) {
|
|
864
|
-
this.logger.debug(`Page change: ${newPage}`);
|
|
865
|
-
this.pagination$.next({ ...pagination, page: newPage });
|
|
866
|
-
}
|
|
867
|
-
});
|
|
1323
|
+
this.setVisibleTabs();
|
|
1324
|
+
this.openDocumentDefinitionNameSubscription();
|
|
868
1325
|
}
|
|
869
|
-
|
|
870
|
-
this.
|
|
871
|
-
|
|
872
|
-
const amountOfAvailablePages = Math.ceil(pagination.collectionSize / newPageSize);
|
|
873
|
-
const newPage = amountOfAvailablePages < pagination.page ? amountOfAvailablePages : pagination.page;
|
|
874
|
-
this.logger.debug(`Page size change. New Page: ${newPage} New page size: ${newPageSize}`);
|
|
875
|
-
this.pagination$.next({ ...pagination, size: newPageSize, page: newPage });
|
|
876
|
-
}
|
|
877
|
-
});
|
|
1326
|
+
ngOnDestroy() {
|
|
1327
|
+
this._documentDefinitionNameSubscription?.unsubscribe();
|
|
1328
|
+
this.pageTitleService.enableReset();
|
|
878
1329
|
}
|
|
879
|
-
|
|
880
|
-
this.
|
|
881
|
-
if (pagination && JSON.stringify(pagination.sort) !== JSON.stringify(newSortState)) {
|
|
882
|
-
this.logger.debug(`Sort state change: ${JSON.stringify(newSortState)}`);
|
|
883
|
-
this.pagination$.next({ ...pagination, sort: newSortState });
|
|
884
|
-
}
|
|
885
|
-
});
|
|
1330
|
+
search(searchFieldValues) {
|
|
1331
|
+
this.searchService.search(searchFieldValues);
|
|
886
1332
|
}
|
|
887
1333
|
rowClick(document) {
|
|
888
|
-
this.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
1334
|
+
this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
|
|
1335
|
+
this.breadcrumbService.cacheQueryParams(`/dossiers/${documentDefinitionName}`, this.route.snapshot.queryParams);
|
|
889
1336
|
this.router.navigate([
|
|
890
1337
|
`/dossiers/${documentDefinitionName}/document/${document.id}/${DefaultTabs.summary}`,
|
|
891
1338
|
]);
|
|
892
1339
|
});
|
|
893
1340
|
}
|
|
894
|
-
|
|
895
|
-
this.
|
|
896
|
-
.pipe(take(1))
|
|
897
|
-
.subscribe(associatedProcessDocumentDefinitions => {
|
|
898
|
-
if (associatedProcessDocumentDefinitions.length > 1) {
|
|
899
|
-
$('#startProcess').modal('show');
|
|
900
|
-
}
|
|
901
|
-
else {
|
|
902
|
-
this.selectedProcessDocumentDefinition = associatedProcessDocumentDefinitions[0];
|
|
903
|
-
this.showStartProcessModal();
|
|
904
|
-
}
|
|
905
|
-
});
|
|
1341
|
+
pageChange(newPage) {
|
|
1342
|
+
this.paginationService.pageChange(newPage);
|
|
906
1343
|
}
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
if (!this.modalListenerAdded) {
|
|
910
|
-
modal.on('hidden.bs.modal', this.showStartProcessModal.bind(this));
|
|
911
|
-
this.modalListenerAdded = true;
|
|
912
|
-
}
|
|
913
|
-
this.selectedProcessDocumentDefinition = processDocumentDefinition;
|
|
914
|
-
modal.modal('hide');
|
|
1344
|
+
pageSizeChange(newPageSize) {
|
|
1345
|
+
this.paginationService.pageSizeChange(newPageSize);
|
|
915
1346
|
}
|
|
916
|
-
|
|
917
|
-
this.
|
|
918
|
-
this.dossierParameterService.setSearchParameters(searchFieldValues);
|
|
1347
|
+
sortChanged(newSortState) {
|
|
1348
|
+
this.paginationService.sortChanged(newSortState);
|
|
919
1349
|
}
|
|
920
1350
|
tabChange(tab) {
|
|
921
|
-
this.
|
|
922
|
-
|
|
923
|
-
});
|
|
924
|
-
this.assigneeFilter$.next(tab.nextId.toUpperCase());
|
|
925
|
-
}
|
|
926
|
-
mapSearchValuesToFilters(values) {
|
|
927
|
-
const filters = [];
|
|
928
|
-
Object.keys(values).forEach(valueKey => {
|
|
929
|
-
const searchValue = values[valueKey];
|
|
930
|
-
if (searchValue.start) {
|
|
931
|
-
filters.push({ key: valueKey, rangeFrom: searchValue.start, rangeTo: searchValue.end });
|
|
932
|
-
}
|
|
933
|
-
else if (Array.isArray(searchValue)) {
|
|
934
|
-
filters.push({ key: valueKey, values: searchValue });
|
|
935
|
-
}
|
|
936
|
-
else {
|
|
937
|
-
filters.push({ key: valueKey, values: [searchValue] });
|
|
938
|
-
}
|
|
939
|
-
});
|
|
940
|
-
return filters;
|
|
941
|
-
}
|
|
942
|
-
resetPagination(documentDefinitionName) {
|
|
943
|
-
this.settingPaginationForDocName$.pipe(take(1)).subscribe(settingPaginationForDocName => {
|
|
944
|
-
if (documentDefinitionName !== settingPaginationForDocName) {
|
|
945
|
-
this.pagination$.next(undefined);
|
|
946
|
-
this.logger.debug('clear pagination');
|
|
947
|
-
this.settingPaginationForDocName$.next(documentDefinitionName);
|
|
948
|
-
this.setPagination(documentDefinitionName);
|
|
949
|
-
}
|
|
950
|
-
});
|
|
951
|
-
}
|
|
952
|
-
setPagination(documentDefinitionName) {
|
|
953
|
-
combineLatest([
|
|
954
|
-
this.hasStoredSearchRequest$,
|
|
955
|
-
this.storedSearchRequestKey$,
|
|
956
|
-
this.columns$,
|
|
957
|
-
this.dossierParameterService.queryPaginationParams$,
|
|
958
|
-
])
|
|
959
|
-
.pipe(take(1))
|
|
960
|
-
.subscribe(([hasStoredSearchRequest, storedSearchRequestKey, columns, queryPaginationParams]) => {
|
|
961
|
-
const defaultPagination = this.getDefaultPagination(columns);
|
|
962
|
-
const storedPagination = this.getStoredPagination(hasStoredSearchRequest, storedSearchRequestKey);
|
|
963
|
-
const paginationToUse = queryPaginationParams || storedPagination || defaultPagination;
|
|
964
|
-
this.logger.debug(`Set pagination: ${JSON.stringify(paginationToUse)}`);
|
|
965
|
-
this.pagination$.next(paginationToUse);
|
|
966
|
-
});
|
|
967
|
-
}
|
|
968
|
-
getDefaultPagination(columns) {
|
|
969
|
-
const defaultSortState = this.dossierService.getInitialSortState(columns);
|
|
970
|
-
return {
|
|
971
|
-
...this.DEFAULT_PAGINATION,
|
|
972
|
-
sort: defaultSortState,
|
|
973
|
-
};
|
|
974
|
-
}
|
|
975
|
-
getStoredPagination(hasStoredSearchRequest, storedSearchRequestKey) {
|
|
976
|
-
const storedSearchRequest = hasStoredSearchRequest && JSON.parse(localStorage.getItem(storedSearchRequestKey));
|
|
977
|
-
return (storedSearchRequest && {
|
|
978
|
-
...this.DEFAULT_PAGINATION,
|
|
979
|
-
sort: storedSearchRequest.sort,
|
|
980
|
-
page: storedSearchRequest.page + 1,
|
|
981
|
-
size: storedSearchRequest.size,
|
|
982
|
-
});
|
|
1351
|
+
this.paginationService.setPage(1);
|
|
1352
|
+
this.assigneeService.setAssigneeFilter(tab.nextId.toUpperCase());
|
|
983
1353
|
}
|
|
984
|
-
|
|
985
|
-
this.
|
|
986
|
-
|
|
987
|
-
|
|
1354
|
+
refresh() {
|
|
1355
|
+
this.searchService.refresh();
|
|
1356
|
+
}
|
|
1357
|
+
openDocumentDefinitionNameSubscription() {
|
|
1358
|
+
this._documentDefinitionNameSubscription = this.route.params
|
|
1359
|
+
.pipe(map(params => params?.documentDefinitionName), filter(docDefName => !!docDefName), distinctUntilChanged())
|
|
1360
|
+
.subscribe(documentDefinitonName => {
|
|
1361
|
+
if (this._previousDocumentDefinitionName) {
|
|
1362
|
+
this.parameterService.clearParameters();
|
|
1363
|
+
this.parameterService.clearSearchFieldValues();
|
|
988
1364
|
}
|
|
1365
|
+
this._previousDocumentDefinitionName = documentDefinitonName;
|
|
1366
|
+
this.setLoading();
|
|
1367
|
+
this.paginationService.clearPagination();
|
|
1368
|
+
this.assigneeService.resetAssigneeFilter();
|
|
1369
|
+
this.listService.setDocumentDefinitionName(documentDefinitonName);
|
|
989
1370
|
});
|
|
990
1371
|
}
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
checkPage(documents) {
|
|
998
|
-
this.pagination$.pipe(take(1)).subscribe(pagination => {
|
|
999
|
-
const amountOfItems = documents.totalElements;
|
|
1000
|
-
const amountOfPages = Math.ceil(amountOfItems / pagination.size);
|
|
1001
|
-
const currentPage = pagination.page;
|
|
1002
|
-
if (currentPage > amountOfPages) {
|
|
1003
|
-
this.pagination$.next({ ...pagination, page: amountOfPages });
|
|
1004
|
-
}
|
|
1005
|
-
});
|
|
1372
|
+
setLoading() {
|
|
1373
|
+
this.loadingFields = true;
|
|
1374
|
+
this.loadingPagination = true;
|
|
1375
|
+
this.loadingSearchFields = true;
|
|
1376
|
+
this.loadingAssigneeFilter = true;
|
|
1377
|
+
this.loadingDocumentItems = true;
|
|
1006
1378
|
}
|
|
1007
|
-
|
|
1008
|
-
this.
|
|
1009
|
-
if (Object.keys(values || {}).length > 0) {
|
|
1010
|
-
setTimeout(() => {
|
|
1011
|
-
this.setSearchFieldValuesSubject$.next(values);
|
|
1012
|
-
});
|
|
1013
|
-
}
|
|
1014
|
-
});
|
|
1379
|
+
setVisibleTabs() {
|
|
1380
|
+
this.visibleDossierTabs = this.configService.config?.visibleDossierListTabs || null;
|
|
1015
1381
|
}
|
|
1016
1382
|
}
|
|
1017
|
-
DossierListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1018
|
-
DossierListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1019
|
-
|
|
1383
|
+
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 });
|
|
1384
|
+
DossierListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DossierListComponent, selector: "valtimo-dossier-list", providers: [
|
|
1385
|
+
DossierListService,
|
|
1386
|
+
DossierColumnService,
|
|
1387
|
+
DossierListAssigneeService,
|
|
1388
|
+
DossierParameterService,
|
|
1389
|
+
DossierListPaginationService,
|
|
1390
|
+
DossierListSearchService,
|
|
1391
|
+
], 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" }] });
|
|
1392
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierListComponent, decorators: [{
|
|
1020
1393
|
type: Component,
|
|
1021
|
-
args: [{ selector: 'valtimo-dossier-list', providers: [
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1394
|
+
args: [{ selector: 'valtimo-dossier-list', providers: [
|
|
1395
|
+
DossierListService,
|
|
1396
|
+
DossierColumnService,
|
|
1397
|
+
DossierListAssigneeService,
|
|
1398
|
+
DossierParameterService,
|
|
1399
|
+
DossierListPaginationService,
|
|
1400
|
+
DossierListSearchService,
|
|
1401
|
+
], 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" }]
|
|
1402
|
+
}], 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 }]; } });
|
|
1026
1403
|
|
|
1027
1404
|
/*
|
|
1028
1405
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1123,12 +1500,12 @@ class DossierDetailTabSummaryComponent {
|
|
|
1123
1500
|
this.taskDetail.openTaskDetails(task);
|
|
1124
1501
|
}
|
|
1125
1502
|
}
|
|
1126
|
-
DossierDetailTabSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1127
|
-
DossierDetailTabSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1503
|
+
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 });
|
|
1504
|
+
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 });
|
|
1505
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabSummaryComponent, decorators: [{
|
|
1129
1506
|
type: Component,
|
|
1130
1507
|
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"] }]
|
|
1131
|
-
}], 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$
|
|
1508
|
+
}], 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: [{
|
|
1132
1509
|
type: ViewChild,
|
|
1133
1510
|
args: ['taskDetail']
|
|
1134
1511
|
}] } });
|
|
@@ -1169,9 +1546,9 @@ class DossierDetailTabProgressComponent {
|
|
|
1169
1546
|
this.selectedProcessInstanceId = processInstanceId;
|
|
1170
1547
|
}
|
|
1171
1548
|
}
|
|
1172
|
-
DossierDetailTabProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1173
|
-
DossierDetailTabProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1549
|
+
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 });
|
|
1550
|
+
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" }] });
|
|
1551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabProgressComponent, decorators: [{
|
|
1175
1552
|
type: Component,
|
|
1176
1553
|
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"] }]
|
|
1177
1554
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }]; } });
|
|
@@ -1232,9 +1609,9 @@ class DossierDetailTabAuditComponent {
|
|
|
1232
1609
|
this.loadAuditPage(this.currentAuditPage);
|
|
1233
1610
|
}
|
|
1234
1611
|
}
|
|
1235
|
-
DossierDetailTabAuditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1236
|
-
DossierDetailTabAuditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1612
|
+
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 });
|
|
1613
|
+
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" }] });
|
|
1614
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabAuditComponent, decorators: [{
|
|
1238
1615
|
type: Component,
|
|
1239
1616
|
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"] }]
|
|
1240
1617
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$1.NgxSpinnerService }]; }, propDecorators: { paginationClicked: [{
|
|
@@ -1276,13 +1653,6 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1276
1653
|
{ key: 'createdOn', label: 'Created on' },
|
|
1277
1654
|
{ key: 'createdBy', label: 'Created by' },
|
|
1278
1655
|
];
|
|
1279
|
-
this.actions = [
|
|
1280
|
-
{
|
|
1281
|
-
columnName: '',
|
|
1282
|
-
iconClass: 'mdi mdi-open-in-new',
|
|
1283
|
-
callback: this.downloadDocument.bind(this),
|
|
1284
|
-
},
|
|
1285
|
-
];
|
|
1286
1656
|
this.uploadProcessLinkedSet = false;
|
|
1287
1657
|
this.uploading$ = new BehaviorSubject(false);
|
|
1288
1658
|
this.showModal$ = new Subject();
|
|
@@ -1310,6 +1680,7 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1310
1680
|
this.showZaakLinkWarning = true;
|
|
1311
1681
|
return of([]);
|
|
1312
1682
|
}));
|
|
1683
|
+
this.downloadingFileIndexes$ = new BehaviorSubject([]);
|
|
1313
1684
|
const snapshot = this.route.snapshot.paramMap;
|
|
1314
1685
|
this.documentId = snapshot.get('documentId') || '';
|
|
1315
1686
|
this.documentDefinitionName = snapshot.get('documentDefinitionName') || '';
|
|
@@ -1323,8 +1694,14 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1323
1694
|
this.fileToBeUploaded$.next(file);
|
|
1324
1695
|
this.showModal$.next(null);
|
|
1325
1696
|
}
|
|
1326
|
-
downloadDocument(relatedFile) {
|
|
1327
|
-
this.
|
|
1697
|
+
downloadDocument(relatedFile, index) {
|
|
1698
|
+
this.downloadingFileIndexes$.pipe(take$1(1)).subscribe(indexes => {
|
|
1699
|
+
this.downloadingFileIndexes$.next([...indexes, index]);
|
|
1700
|
+
const finished$ = this.downloadService.downloadFile(`/api/v1/documenten-api/${relatedFile.pluginConfigurationId}/files/${relatedFile.fileId}/download`, relatedFile.fileName);
|
|
1701
|
+
finished$.pipe(take$1(1)).subscribe(() => {
|
|
1702
|
+
this.downloadingFileIndexes$.next(this.downloadingFileIndexes$.getValue().filter(downloadIndex => downloadIndex !== index));
|
|
1703
|
+
});
|
|
1704
|
+
});
|
|
1328
1705
|
}
|
|
1329
1706
|
metadataSet(metadata) {
|
|
1330
1707
|
this.uploading$.next(true);
|
|
@@ -1342,6 +1719,9 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1342
1719
|
}))
|
|
1343
1720
|
.subscribe();
|
|
1344
1721
|
}
|
|
1722
|
+
indexesIncludeIndex(indexes, index) {
|
|
1723
|
+
return indexes.includes(index);
|
|
1724
|
+
}
|
|
1345
1725
|
isUserAdmin() {
|
|
1346
1726
|
this.userProviderService.getUserSubject().subscribe(userIdentity => {
|
|
1347
1727
|
this.isAdmin = userIdentity.roles.includes('ROLE_ADMIN');
|
|
@@ -1361,12 +1741,12 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
|
|
|
1361
1741
|
});
|
|
1362
1742
|
}
|
|
1363
1743
|
}
|
|
1364
|
-
DossierDetailTabDocumentenApiDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1365
|
-
DossierDetailTabDocumentenApiDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1744
|
+
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 });
|
|
1745
|
+
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" }] });
|
|
1746
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, decorators: [{
|
|
1367
1747
|
type: Component,
|
|
1368
|
-
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 [
|
|
1369
|
-
}], 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
|
|
1748
|
+
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"] }]
|
|
1749
|
+
}], 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 }]; } });
|
|
1370
1750
|
|
|
1371
1751
|
/*
|
|
1372
1752
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1481,12 +1861,12 @@ class DossierDetailTabS3DocumentsComponent {
|
|
|
1481
1861
|
this.refetch$.next(null);
|
|
1482
1862
|
}
|
|
1483
1863
|
}
|
|
1484
|
-
DossierDetailTabS3DocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1485
|
-
DossierDetailTabS3DocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1486
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1864
|
+
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 });
|
|
1865
|
+
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" }] });
|
|
1866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, decorators: [{
|
|
1487
1867
|
type: Component,
|
|
1488
1868
|
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"] }]
|
|
1489
|
-
}], 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
|
|
1869
|
+
}], 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 }]; } });
|
|
1490
1870
|
|
|
1491
1871
|
/*
|
|
1492
1872
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -1515,9 +1895,9 @@ class DossierDetailTabDocumentsComponent {
|
|
|
1515
1895
|
this.s3UploadProvider = config.uploadProvider === UploadProvider.S3;
|
|
1516
1896
|
}
|
|
1517
1897
|
}
|
|
1518
|
-
DossierDetailTabDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1519
|
-
DossierDetailTabDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1520
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
1898
|
+
DossierDetailTabDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabDocumentsComponent, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1899
|
+
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" }] });
|
|
1900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabDocumentsComponent, decorators: [{
|
|
1521
1901
|
type: Component,
|
|
1522
1902
|
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" }]
|
|
1523
1903
|
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
@@ -1647,9 +2027,9 @@ class DossierDetailTabObjectTypeComponent {
|
|
|
1647
2027
|
this.show();
|
|
1648
2028
|
}
|
|
1649
2029
|
}
|
|
1650
|
-
DossierDetailTabObjectTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1651
|
-
DossierDetailTabObjectTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1652
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2030
|
+
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 });
|
|
2031
|
+
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" }] });
|
|
2032
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabObjectTypeComponent, decorators: [{
|
|
1653
2033
|
type: Component,
|
|
1654
2034
|
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"] }]
|
|
1655
2035
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$3.ModalService }]; }, propDecorators: { viewObjectModal: [{
|
|
@@ -1717,9 +2097,9 @@ class TabService {
|
|
|
1717
2097
|
});
|
|
1718
2098
|
}
|
|
1719
2099
|
}
|
|
1720
|
-
TabService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1721
|
-
TabService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
1722
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2100
|
+
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 });
|
|
2101
|
+
TabService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TabService, providedIn: 'root' });
|
|
2102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TabService, decorators: [{
|
|
1723
2103
|
type: Injectable,
|
|
1724
2104
|
args: [{
|
|
1725
2105
|
providedIn: 'root',
|
|
@@ -1745,12 +2125,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
1745
2125
|
* limitations under the License.
|
|
1746
2126
|
*/
|
|
1747
2127
|
class DossierSupportingProcessStartModalComponent {
|
|
1748
|
-
constructor(route, router, processService, documentService, formLinkService, logger, userProviderService) {
|
|
2128
|
+
constructor(route, router, processService, processLinkService, documentService, formLinkService, formFlowService, logger, userProviderService) {
|
|
1749
2129
|
this.route = route;
|
|
1750
2130
|
this.router = router;
|
|
1751
2131
|
this.processService = processService;
|
|
2132
|
+
this.processLinkService = processLinkService;
|
|
1752
2133
|
this.documentService = documentService;
|
|
1753
2134
|
this.formLinkService = formLinkService;
|
|
2135
|
+
this.formFlowService = formFlowService;
|
|
1754
2136
|
this.logger = logger;
|
|
1755
2137
|
this.userProviderService = userProviderService;
|
|
1756
2138
|
this.isAdmin$ = this.userProviderService
|
|
@@ -1758,47 +2140,85 @@ class DossierSupportingProcessStartModalComponent {
|
|
|
1758
2140
|
.pipe(map$1(userIdentity => userIdentity?.roles?.includes('ROLE_ADMIN')));
|
|
1759
2141
|
this.formSubmit = new EventEmitter();
|
|
1760
2142
|
}
|
|
1761
|
-
|
|
2143
|
+
loadProcessLink() {
|
|
2144
|
+
this.formAssociation = null;
|
|
2145
|
+
this.processLinkId = null;
|
|
1762
2146
|
this.formDefinition = null;
|
|
1763
|
-
this.
|
|
1764
|
-
|
|
1765
|
-
.
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
}
|
|
1790
|
-
|
|
1791
|
-
default:
|
|
1792
|
-
this.logger.fatal('Unsupported class name');
|
|
2147
|
+
this.formFlowInstanceId = null;
|
|
2148
|
+
this.processService
|
|
2149
|
+
.getProcessDefinitionStartProcessLink(this.processDefinitionId, this.documentId, null)
|
|
2150
|
+
.pipe(take$1(1))
|
|
2151
|
+
.subscribe(startProcessResult => {
|
|
2152
|
+
if (startProcessResult) {
|
|
2153
|
+
switch (startProcessResult.type) {
|
|
2154
|
+
case 'form':
|
|
2155
|
+
this.formDefinition = startProcessResult.properties.prefilledForm;
|
|
2156
|
+
this.processLinkId = startProcessResult.processLinkId;
|
|
2157
|
+
break;
|
|
2158
|
+
case 'form-flow':
|
|
2159
|
+
this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
|
|
2160
|
+
break;
|
|
2161
|
+
}
|
|
2162
|
+
this.modal.show();
|
|
2163
|
+
}
|
|
2164
|
+
else {
|
|
2165
|
+
// backwards compatibility for form associations
|
|
2166
|
+
this.formLinkService
|
|
2167
|
+
.getStartEventFormDefinitionByProcessDefinitionKey(this.processDefinitionKey, this.documentId)
|
|
2168
|
+
.pipe(take$1(1))
|
|
2169
|
+
.subscribe({
|
|
2170
|
+
next: formDefinitionWithFormAssociation => this.openFormAssociation(formDefinitionWithFormAssociation),
|
|
2171
|
+
error: error => {
|
|
2172
|
+
this.modal.show();
|
|
2173
|
+
},
|
|
2174
|
+
});
|
|
1793
2175
|
}
|
|
1794
|
-
}, errors => {
|
|
1795
|
-
this.modal.show();
|
|
1796
2176
|
});
|
|
1797
2177
|
}
|
|
2178
|
+
openFormAssociation(formDefinitionWithFormAssociation) {
|
|
2179
|
+
this.formAssociation = formDefinitionWithFormAssociation.formAssociation;
|
|
2180
|
+
const className = this.formAssociation.formLink.className.split('.');
|
|
2181
|
+
const linkType = className[className.length - 1];
|
|
2182
|
+
switch (linkType) {
|
|
2183
|
+
case 'BpmnElementFormIdLink':
|
|
2184
|
+
this.formDefinition = formDefinitionWithFormAssociation;
|
|
2185
|
+
this.documentService.getDocument(this.documentId).subscribe(document => {
|
|
2186
|
+
this.submission = {
|
|
2187
|
+
data: document.content,
|
|
2188
|
+
};
|
|
2189
|
+
}, () => noop());
|
|
2190
|
+
this.modal.show();
|
|
2191
|
+
break;
|
|
2192
|
+
case 'BpmnElementFormFlowIdLink':
|
|
2193
|
+
this.formFlowService
|
|
2194
|
+
.createInstanceForNewProcess(this.processDefinitionKey, {
|
|
2195
|
+
documentId: this.documentId,
|
|
2196
|
+
documentDefinitionName: null,
|
|
2197
|
+
})
|
|
2198
|
+
.subscribe(result => (this.formFlowInstanceId = result.formFlowInstanceId));
|
|
2199
|
+
this.modal.show();
|
|
2200
|
+
break;
|
|
2201
|
+
case 'BpmnElementUrlLink':
|
|
2202
|
+
const url = this.router.serializeUrl(this.router.createUrlTree([this.formAssociation.formLink.url]));
|
|
2203
|
+
window.open(url, '_blank');
|
|
2204
|
+
break;
|
|
2205
|
+
case 'BpmnElementAngularStateUrlLink':
|
|
2206
|
+
this.route.params.pipe(take$1(1)).subscribe(params => {
|
|
2207
|
+
const documentId = params?.documentId;
|
|
2208
|
+
this.router.navigate([this.formAssociation.formLink.url], {
|
|
2209
|
+
state: { ...(documentId && { documentId }) },
|
|
2210
|
+
});
|
|
2211
|
+
});
|
|
2212
|
+
break;
|
|
2213
|
+
default:
|
|
2214
|
+
this.logger.fatal('Unsupported class name');
|
|
2215
|
+
}
|
|
2216
|
+
}
|
|
1798
2217
|
openModal(processDocumentDefinition, documentId) {
|
|
1799
2218
|
this.documentId = documentId;
|
|
1800
2219
|
this.documentDefinitionName = processDocumentDefinition.id.documentDefinitionId.name;
|
|
1801
2220
|
this.processDefinitionKey = processDocumentDefinition.id.processDefinitionKey;
|
|
2221
|
+
this.processDefinitionId = processDocumentDefinition.latestVersionId;
|
|
1802
2222
|
this.processName = processDocumentDefinition.processName;
|
|
1803
2223
|
this.options = new FormioOptionsImpl();
|
|
1804
2224
|
this.options.disableAlerts = true;
|
|
@@ -1806,30 +2226,47 @@ class DossierSupportingProcessStartModalComponent {
|
|
|
1806
2226
|
callback(null, submission);
|
|
1807
2227
|
};
|
|
1808
2228
|
this.options.setHooks(formioBeforeSubmit);
|
|
1809
|
-
this.
|
|
2229
|
+
this.loadProcessLink();
|
|
1810
2230
|
}
|
|
1811
2231
|
onSubmit(submission) {
|
|
1812
2232
|
this.formioSubmission = submission;
|
|
1813
|
-
this.
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
2233
|
+
if (this.processLinkId) {
|
|
2234
|
+
this.processLinkService
|
|
2235
|
+
.submitForm(this.processLinkId, submission.data, this.documentId)
|
|
2236
|
+
.subscribe({
|
|
2237
|
+
next: (formSubmissionResult) => {
|
|
2238
|
+
this.formSubmitted();
|
|
2239
|
+
},
|
|
2240
|
+
error: errors => {
|
|
2241
|
+
this.form.showErrors(errors);
|
|
2242
|
+
},
|
|
2243
|
+
});
|
|
2244
|
+
}
|
|
2245
|
+
else {
|
|
2246
|
+
this.formLinkService
|
|
2247
|
+
.onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data, this.documentId)
|
|
2248
|
+
.subscribe((formSubmissionResult) => {
|
|
2249
|
+
this.formSubmitted();
|
|
2250
|
+
}, errors => {
|
|
2251
|
+
this.form.showErrors(errors);
|
|
2252
|
+
});
|
|
2253
|
+
}
|
|
2254
|
+
}
|
|
2255
|
+
formSubmitted() {
|
|
2256
|
+
this.modal.hide();
|
|
2257
|
+
this.formSubmit.emit();
|
|
1821
2258
|
}
|
|
1822
2259
|
gotoFormLinkScreen() {
|
|
1823
2260
|
this.modal.hide();
|
|
1824
2261
|
this.router.navigate(['form-links'], { queryParams: { process: this.processDefinitionKey } });
|
|
1825
2262
|
}
|
|
1826
2263
|
}
|
|
1827
|
-
DossierSupportingProcessStartModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1828
|
-
DossierSupportingProcessStartModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1829
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2264
|
+
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 });
|
|
2265
|
+
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 });
|
|
2266
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierSupportingProcessStartModalComponent, decorators: [{
|
|
1830
2267
|
type: Component,
|
|
1831
|
-
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"] }]
|
|
1832
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i2.DocumentService }, { type: i4.FormLinkService }, { type:
|
|
2268
|
+
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"] }]
|
|
2269
|
+
}], 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: [{
|
|
1833
2270
|
type: ViewChild,
|
|
1834
2271
|
args: ['form', { static: false }]
|
|
1835
2272
|
}], modal: [{
|
|
@@ -1857,6 +2294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
1857
2294
|
class DossierAssignUserComponent {
|
|
1858
2295
|
constructor(documentService) {
|
|
1859
2296
|
this.documentService = documentService;
|
|
2297
|
+
this.hasPermission = true;
|
|
1860
2298
|
this.assignmentOfDocumentChanged = new EventEmitter();
|
|
1861
2299
|
this.userIdToAssign = null;
|
|
1862
2300
|
this.candidateUsersForDocument$ = new BehaviorSubject(undefined);
|
|
@@ -1939,17 +2377,19 @@ class DossierAssignUserComponent {
|
|
|
1939
2377
|
this.disabled$.next(true);
|
|
1940
2378
|
}
|
|
1941
2379
|
}
|
|
1942
|
-
DossierAssignUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
1943
|
-
DossierAssignUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
1944
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2380
|
+
DossierAssignUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierAssignUserComponent, deps: [{ token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2381
|
+
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" }] });
|
|
2382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierAssignUserComponent, decorators: [{
|
|
1945
2383
|
type: Component,
|
|
1946
|
-
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 [
|
|
2384
|
+
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"] }]
|
|
1947
2385
|
}], ctorParameters: function () { return [{ type: i2.DocumentService }]; }, propDecorators: { documentId: [{
|
|
1948
2386
|
type: Input
|
|
1949
2387
|
}], assigneeId: [{
|
|
1950
2388
|
type: Input
|
|
1951
2389
|
}], assigneeFullName: [{
|
|
1952
2390
|
type: Input
|
|
2391
|
+
}], hasPermission: [{
|
|
2392
|
+
type: Input
|
|
1953
2393
|
}], assignmentOfDocumentChanged: [{
|
|
1954
2394
|
type: Output
|
|
1955
2395
|
}] } });
|
|
@@ -1970,7 +2410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
1970
2410
|
* limitations under the License.
|
|
1971
2411
|
*/
|
|
1972
2412
|
class DossierDetailComponent {
|
|
1973
|
-
constructor(componentFactoryResolver, translateService, documentService, processService, route, router, location, tabService, configService, keyCloakService, logger) {
|
|
2413
|
+
constructor(componentFactoryResolver, translateService, documentService, processService, route, router, location, tabService, configService, keyCloakService, logger, breadcrumbService, pageTitleService) {
|
|
1974
2414
|
this.componentFactoryResolver = componentFactoryResolver;
|
|
1975
2415
|
this.translateService = translateService;
|
|
1976
2416
|
this.documentService = documentService;
|
|
@@ -1982,6 +2422,8 @@ class DossierDetailComponent {
|
|
|
1982
2422
|
this.configService = configService;
|
|
1983
2423
|
this.keyCloakService = keyCloakService;
|
|
1984
2424
|
this.logger = logger;
|
|
2425
|
+
this.breadcrumbService = breadcrumbService;
|
|
2426
|
+
this.pageTitleService = pageTitleService;
|
|
1985
2427
|
this.document = null;
|
|
1986
2428
|
this.tabLoader = null;
|
|
1987
2429
|
this.processDefinitionListFields = [];
|
|
@@ -2019,11 +2461,15 @@ class DossierDetailComponent {
|
|
|
2019
2461
|
.getDocumentDefinition(this.documentDefinitionName)
|
|
2020
2462
|
.subscribe(definition => {
|
|
2021
2463
|
this.documentDefinitionNameTitle = definition.schema.title;
|
|
2464
|
+
this.setBreadcrumb();
|
|
2022
2465
|
});
|
|
2023
2466
|
this.initialTabName = this.snapshot.get('tab');
|
|
2024
2467
|
this.tabLoader.initial(this.initialTabName);
|
|
2025
2468
|
this.getAllAssociatedProcessDefinitions();
|
|
2026
2469
|
}
|
|
2470
|
+
ngOnDestroy() {
|
|
2471
|
+
this.breadcrumbService.clearSecondBreadcrumb();
|
|
2472
|
+
}
|
|
2027
2473
|
getAllAssociatedProcessDefinitions() {
|
|
2028
2474
|
this.documentService
|
|
2029
2475
|
.findProcessDocumentDefinitions(this.documentDefinitionName)
|
|
@@ -2084,13 +2530,20 @@ class DossierDetailComponent {
|
|
|
2084
2530
|
}
|
|
2085
2531
|
return prefix + string;
|
|
2086
2532
|
}
|
|
2533
|
+
setBreadcrumb() {
|
|
2534
|
+
this.breadcrumbService.setSecondBreadcrumb({
|
|
2535
|
+
route: [`/dossiers/${this.documentDefinitionName}`],
|
|
2536
|
+
content: this.documentDefinitionNameTitle,
|
|
2537
|
+
href: `/dossiers/${this.documentDefinitionName}`,
|
|
2538
|
+
});
|
|
2539
|
+
}
|
|
2087
2540
|
}
|
|
2088
|
-
DossierDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2089
|
-
DossierDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2090
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2541
|
+
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 });
|
|
2542
|
+
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" }] });
|
|
2543
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailComponent, decorators: [{
|
|
2091
2544
|
type: Component,
|
|
2092
2545
|
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"] }]
|
|
2093
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i6
|
|
2546
|
+
}], 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: [{
|
|
2094
2547
|
type: ViewChild,
|
|
2095
2548
|
args: ['tabContainer', { read: ViewContainerRef, static: true }]
|
|
2096
2549
|
}], supportingProcessStart: [{
|
|
@@ -2163,12 +2616,12 @@ class DossierDetailTabContactMomentsComponent {
|
|
|
2163
2616
|
this.refetchContactMoments$.next('');
|
|
2164
2617
|
}
|
|
2165
2618
|
}
|
|
2166
|
-
DossierDetailTabContactMomentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2167
|
-
DossierDetailTabContactMomentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2168
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2619
|
+
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 });
|
|
2620
|
+
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" }] });
|
|
2621
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabContactMomentsComponent, decorators: [{
|
|
2169
2622
|
type: Component,
|
|
2170
2623
|
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"] }]
|
|
2171
|
-
}], ctorParameters: function () { return [{ type: i1$
|
|
2624
|
+
}], ctorParameters: function () { return [{ type: i1$3.ContactMomentService }, { type: i6$2.AlertService }, { type: i6.TranslateService }]; }, propDecorators: { modal: [{
|
|
2172
2625
|
type: ViewChild,
|
|
2173
2626
|
args: ['contactMomentsNoteModal']
|
|
2174
2627
|
}] } });
|
|
@@ -2266,9 +2719,9 @@ class DossierDetailTabZaakobjectenComponent {
|
|
|
2266
2719
|
this.show();
|
|
2267
2720
|
}
|
|
2268
2721
|
}
|
|
2269
|
-
DossierDetailTabZaakobjectenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2270
|
-
DossierDetailTabZaakobjectenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2722
|
+
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 });
|
|
2723
|
+
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" }] });
|
|
2724
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, decorators: [{
|
|
2272
2725
|
type: Component,
|
|
2273
2726
|
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"] }]
|
|
2274
2727
|
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: ZaakobjectenService }, { type: i3$3.ModalService }]; }, propDecorators: { viewZaakobjectModal: [{
|
|
@@ -2307,6 +2760,12 @@ class NotesService {
|
|
|
2307
2760
|
createDocumentNote(documentId, request) {
|
|
2308
2761
|
return this.http.post(`${this.VALTIMO_API_ENDPOINT_URI}v1/document/${documentId}/note`, request);
|
|
2309
2762
|
}
|
|
2763
|
+
updateNote(noteId, request) {
|
|
2764
|
+
return this.http.put(`${this.VALTIMO_API_ENDPOINT_URI}v1/note/${noteId}`, request);
|
|
2765
|
+
}
|
|
2766
|
+
deleteNote(noteId) {
|
|
2767
|
+
return this.http.delete(`${this.VALTIMO_API_ENDPOINT_URI}v1/note/${noteId}`);
|
|
2768
|
+
}
|
|
2310
2769
|
get showModal$() {
|
|
2311
2770
|
return this._showModal$.asObservable();
|
|
2312
2771
|
}
|
|
@@ -2332,9 +2791,9 @@ class NotesService {
|
|
|
2332
2791
|
this._modalType$.next(type);
|
|
2333
2792
|
}
|
|
2334
2793
|
}
|
|
2335
|
-
NotesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2336
|
-
NotesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
2337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2794
|
+
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 });
|
|
2795
|
+
NotesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotesService, providedIn: 'root' });
|
|
2796
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NotesService, decorators: [{
|
|
2338
2797
|
type: Injectable,
|
|
2339
2798
|
args: [{
|
|
2340
2799
|
providedIn: 'root',
|
|
@@ -2361,9 +2820,11 @@ class NoteModalComponent {
|
|
|
2361
2820
|
this.notesService = notesService;
|
|
2362
2821
|
this.modalService = modalService;
|
|
2363
2822
|
this.createNoteEvent = new EventEmitter();
|
|
2823
|
+
this.editNoteEvent = new EventEmitter();
|
|
2364
2824
|
this.valid$ = new BehaviorSubject(false);
|
|
2365
2825
|
this.showForm$ = this.modalService.modalVisible$;
|
|
2366
2826
|
this.formData$ = new BehaviorSubject(null);
|
|
2827
|
+
this.modalType$ = this.notesService.modalType$;
|
|
2367
2828
|
this.returnToFirstStepSubject$ = new Subject();
|
|
2368
2829
|
}
|
|
2369
2830
|
ngAfterViewInit() {
|
|
@@ -2391,6 +2852,20 @@ class NoteModalComponent {
|
|
|
2391
2852
|
}
|
|
2392
2853
|
});
|
|
2393
2854
|
}
|
|
2855
|
+
emitNoteData() {
|
|
2856
|
+
combineLatest([this.valid$, this.formData$, this.modalType$])
|
|
2857
|
+
.pipe(take$1(1))
|
|
2858
|
+
.subscribe(([valid, formData, modalType]) => {
|
|
2859
|
+
if (valid) {
|
|
2860
|
+
if (modalType === 'add') {
|
|
2861
|
+
this.createNoteEvent.emit(formData);
|
|
2862
|
+
}
|
|
2863
|
+
else {
|
|
2864
|
+
this.editNoteEvent.emit({ formData, data: this.customData });
|
|
2865
|
+
}
|
|
2866
|
+
}
|
|
2867
|
+
});
|
|
2868
|
+
}
|
|
2394
2869
|
openShowSubscription() {
|
|
2395
2870
|
this.showSubscription = this.notesService.showModal$.subscribe(() => {
|
|
2396
2871
|
this.show();
|
|
@@ -2402,10 +2877,8 @@ class NoteModalComponent {
|
|
|
2402
2877
|
});
|
|
2403
2878
|
}
|
|
2404
2879
|
show() {
|
|
2405
|
-
this.notesService.modalType$.pipe(take$1(1)).subscribe(
|
|
2406
|
-
|
|
2407
|
-
this.modalService.openModal(this.addNoteModal);
|
|
2408
|
-
}
|
|
2880
|
+
this.notesService.modalType$.pipe(take$1(1)).subscribe(() => {
|
|
2881
|
+
this.modalService.openModal(this.noteModal);
|
|
2409
2882
|
});
|
|
2410
2883
|
}
|
|
2411
2884
|
formValueChange(data) {
|
|
@@ -2416,16 +2889,20 @@ class NoteModalComponent {
|
|
|
2416
2889
|
this.valid$.next(!!data.content);
|
|
2417
2890
|
}
|
|
2418
2891
|
}
|
|
2419
|
-
NoteModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2420
|
-
NoteModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
2892
|
+
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 });
|
|
2893
|
+
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" }] });
|
|
2894
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NoteModalComponent, decorators: [{
|
|
2422
2895
|
type: Component,
|
|
2423
|
-
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
|
|
2424
|
-
}], ctorParameters: function () { return [{ type: NotesService }, { type: i3$3.ModalService }]; }, propDecorators: {
|
|
2896
|
+
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"] }]
|
|
2897
|
+
}], ctorParameters: function () { return [{ type: NotesService }, { type: i3$3.ModalService }]; }, propDecorators: { noteModal: [{
|
|
2425
2898
|
type: ViewChild,
|
|
2426
|
-
args: ['
|
|
2899
|
+
args: ['noteModal']
|
|
2900
|
+
}], customData: [{
|
|
2901
|
+
type: Input
|
|
2427
2902
|
}], createNoteEvent: [{
|
|
2428
2903
|
type: Output
|
|
2904
|
+
}], editNoteEvent: [{
|
|
2905
|
+
type: Output
|
|
2429
2906
|
}] } });
|
|
2430
2907
|
|
|
2431
2908
|
/*
|
|
@@ -2444,13 +2921,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
2444
2921
|
* limitations under the License.
|
|
2445
2922
|
*/
|
|
2446
2923
|
class DossierDetailTabNotesComponent {
|
|
2447
|
-
constructor(route, notesService, translateService) {
|
|
2924
|
+
constructor(route, notesService, translateService, promptService, toastrService) {
|
|
2448
2925
|
this.route = route;
|
|
2449
2926
|
this.notesService = notesService;
|
|
2450
2927
|
this.translateService = translateService;
|
|
2928
|
+
this.promptService = promptService;
|
|
2929
|
+
this.toastrService = toastrService;
|
|
2451
2930
|
this.timelineItems = [];
|
|
2931
|
+
this.actions = [
|
|
2932
|
+
{
|
|
2933
|
+
label: 'Edit',
|
|
2934
|
+
icon: 'mdi-pencil',
|
|
2935
|
+
callback: this.editNote.bind(this),
|
|
2936
|
+
},
|
|
2937
|
+
{
|
|
2938
|
+
label: 'Delete',
|
|
2939
|
+
icon: 'mdi-delete',
|
|
2940
|
+
callback: this.deleteNote.bind(this),
|
|
2941
|
+
},
|
|
2942
|
+
];
|
|
2452
2943
|
this.loading$ = new BehaviorSubject(true);
|
|
2453
2944
|
this.fields$ = new BehaviorSubject([]);
|
|
2945
|
+
this.customData$ = new BehaviorSubject({});
|
|
2454
2946
|
this.documentId$ = this.route.params.pipe(map(params => params.documentId));
|
|
2455
2947
|
this.currentPageAndSize$ = new BehaviorSubject({
|
|
2456
2948
|
page: 0,
|
|
@@ -2468,6 +2960,7 @@ class DossierDetailTabNotesComponent {
|
|
|
2468
2960
|
this.documentId$,
|
|
2469
2961
|
this.currentPageAndSize$,
|
|
2470
2962
|
this.notesService.refresh$,
|
|
2963
|
+
this.notesService.refresh$,
|
|
2471
2964
|
]).pipe(tap$1(() => (this.timelineItems = [])), switchMap$1(([documentId, currentPage]) => this.notesService.getDocumentNotes(documentId, {
|
|
2472
2965
|
page: currentPage.page,
|
|
2473
2966
|
size: currentPage.size,
|
|
@@ -2478,7 +2971,7 @@ class DossierDetailTabNotesComponent {
|
|
|
2478
2971
|
});
|
|
2479
2972
|
}), map(res => res.content.map((note) => {
|
|
2480
2973
|
const noteCreatedDate = moment(note.createdDate).locale(this.translateService.currentLang);
|
|
2481
|
-
this.timelineItems.push(new TimelineItemImpl(noteCreatedDate.format('DD MMM YYYY'), noteCreatedDate.format('HH:mm'), note.createdByUserFullName, noteCreatedDate.fromNow(), note.content, {}));
|
|
2974
|
+
this.timelineItems.push(new TimelineItemImpl(noteCreatedDate.format('DD MMM YYYY'), noteCreatedDate.format('HH:mm'), note.createdByUserFullName, noteCreatedDate.fromNow(), note.content, {}, { id: note.id }));
|
|
2482
2975
|
return {
|
|
2483
2976
|
...note,
|
|
2484
2977
|
};
|
|
@@ -2495,6 +2988,7 @@ class DossierDetailTabNotesComponent {
|
|
|
2495
2988
|
});
|
|
2496
2989
|
}
|
|
2497
2990
|
showAddModal() {
|
|
2991
|
+
this.customData$.next(null);
|
|
2498
2992
|
this.notesService.setModalType('add');
|
|
2499
2993
|
this.notesService.showModal();
|
|
2500
2994
|
}
|
|
@@ -2509,13 +3003,45 @@ class DossierDetailTabNotesComponent {
|
|
|
2509
3003
|
}))
|
|
2510
3004
|
.subscribe();
|
|
2511
3005
|
}
|
|
3006
|
+
editNoteEvent(content) {
|
|
3007
|
+
this.notesService.updateNote(content.data.customData.id, content.formData).subscribe(() => {
|
|
3008
|
+
this.notesService.refresh();
|
|
3009
|
+
this.notesService.hideModal();
|
|
3010
|
+
this.toastrService.success(this.translateService.instant('dossier.notes.editedMessage'));
|
|
3011
|
+
});
|
|
3012
|
+
}
|
|
3013
|
+
editNote(data) {
|
|
3014
|
+
this.customData$.next(data);
|
|
3015
|
+
this.notesService.setModalType('modify');
|
|
3016
|
+
this.notesService.showModal();
|
|
3017
|
+
}
|
|
3018
|
+
deleteNote(data) {
|
|
3019
|
+
this.promptService.openPrompt({
|
|
3020
|
+
headerText: this.translateService.instant('dossier.notes.deleteConfirmation.title'),
|
|
3021
|
+
bodyText: this.translateService.instant('dossier.notes.deleteConfirmation.description'),
|
|
3022
|
+
cancelButtonText: this.translateService.instant('dossier.deleteConfirmation.cancel'),
|
|
3023
|
+
confirmButtonText: this.translateService.instant('dossier.deleteConfirmation.delete'),
|
|
3024
|
+
cancelMdiIcon: 'cancel',
|
|
3025
|
+
confirmMdiIcon: 'delete',
|
|
3026
|
+
cancelButtonType: 'secondary',
|
|
3027
|
+
confirmButtonType: 'primary',
|
|
3028
|
+
closeOnConfirm: true,
|
|
3029
|
+
closeOnCancel: true,
|
|
3030
|
+
confirmCallBackFunction: () => {
|
|
3031
|
+
this.notesService.deleteNote(data.customData.id).subscribe(() => {
|
|
3032
|
+
this.notesService.refresh();
|
|
3033
|
+
this.toastrService.success(this.translateService.instant('dossier.notes.deleteConfirmation.deletedMessage'));
|
|
3034
|
+
});
|
|
3035
|
+
},
|
|
3036
|
+
});
|
|
3037
|
+
}
|
|
2512
3038
|
}
|
|
2513
|
-
DossierDetailTabNotesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2514
|
-
DossierDetailTabNotesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2515
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
3039
|
+
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 });
|
|
3040
|
+
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" }] });
|
|
3041
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierDetailTabNotesComponent, decorators: [{
|
|
2516
3042
|
type: Component,
|
|
2517
|
-
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"] }]
|
|
2518
|
-
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: NotesService }, { type: i6
|
|
3043
|
+
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"] }]
|
|
3044
|
+
}], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: NotesService }, { type: i6.TranslateService }, { type: i3$3.PromptService }, { type: i3$2.ToastrService }]; } });
|
|
2519
3045
|
|
|
2520
3046
|
/*
|
|
2521
3047
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -2613,12 +3139,12 @@ class DossierUpdateComponent {
|
|
|
2613
3139
|
return 0;
|
|
2614
3140
|
}
|
|
2615
3141
|
}
|
|
2616
|
-
DossierUpdateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2617
|
-
DossierUpdateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
2618
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
3142
|
+
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 });
|
|
3143
|
+
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" }] });
|
|
3144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierUpdateComponent, decorators: [{
|
|
2619
3145
|
type: Component,
|
|
2620
3146
|
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" }]
|
|
2621
|
-
}], ctorParameters: function () { return [{ type: i3.TaskService }, { type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$2.ToastrService }, { type: i5
|
|
3147
|
+
}], ctorParameters: function () { return [{ type: i3.TaskService }, { type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$2.ToastrService }, { type: i5.Location }, { type: DossierService }]; } });
|
|
2622
3148
|
|
|
2623
3149
|
/*
|
|
2624
3150
|
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
@@ -2640,13 +3166,17 @@ const routes = [
|
|
|
2640
3166
|
path: 'dossiers/:documentDefinitionName',
|
|
2641
3167
|
component: DossierListComponent,
|
|
2642
3168
|
canActivate: [AuthGuardService],
|
|
2643
|
-
data: { title: 'Dossiers', roles: [ROLE_USER] },
|
|
3169
|
+
data: { title: 'Dossiers', roles: [ROLE_USER], customPageTitle: true },
|
|
2644
3170
|
},
|
|
2645
3171
|
{
|
|
2646
3172
|
path: 'dossiers/:documentDefinitionName/document/:documentId/:tab',
|
|
2647
3173
|
component: DossierDetailComponent,
|
|
2648
3174
|
canActivate: [AuthGuardService],
|
|
2649
|
-
data: {
|
|
3175
|
+
data: {
|
|
3176
|
+
title: 'Dossier details',
|
|
3177
|
+
parentPath: 'dossiers/:documentDefinitionName',
|
|
3178
|
+
roles: [ROLE_USER],
|
|
3179
|
+
},
|
|
2650
3180
|
},
|
|
2651
3181
|
{
|
|
2652
3182
|
path: 'dossiers/:documentDefinitionName/document/:documentId/:tab/tasks/:taskId',
|
|
@@ -2661,10 +3191,10 @@ const routes = [
|
|
|
2661
3191
|
];
|
|
2662
3192
|
class DossierRoutingModule {
|
|
2663
3193
|
}
|
|
2664
|
-
DossierRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2665
|
-
DossierRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
2666
|
-
DossierRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
2667
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
3194
|
+
DossierRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3195
|
+
DossierRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DossierRoutingModule, imports: [CommonModule, i1$1.RouterModule], exports: [RouterModule] });
|
|
3196
|
+
DossierRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] });
|
|
3197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierRoutingModule, decorators: [{
|
|
2668
3198
|
type: NgModule,
|
|
2669
3199
|
args: [{
|
|
2670
3200
|
imports: [CommonModule, RouterModule.forChild(routes)],
|
|
@@ -2707,8 +3237,9 @@ class DossierModule {
|
|
|
2707
3237
|
};
|
|
2708
3238
|
}
|
|
2709
3239
|
}
|
|
2710
|
-
DossierModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
2711
|
-
DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
3240
|
+
DossierModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3241
|
+
DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DossierModule, declarations: [DossierListComponent,
|
|
3242
|
+
DossierListActionsComponent,
|
|
2712
3243
|
DossierDetailComponent,
|
|
2713
3244
|
DossierDetailTabSummaryComponent,
|
|
2714
3245
|
DossierDetailTabProgressComponent,
|
|
@@ -2739,7 +3270,7 @@ DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
2739
3270
|
FormModule,
|
|
2740
3271
|
FormIoModule,
|
|
2741
3272
|
ModalModule,
|
|
2742
|
-
SpinnerModule, i6
|
|
3273
|
+
SpinnerModule, i6.TranslateModule, TaskModule,
|
|
2743
3274
|
ModalModule,
|
|
2744
3275
|
NgbTooltipModule,
|
|
2745
3276
|
UploaderModule,
|
|
@@ -2761,8 +3292,11 @@ DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
2761
3292
|
InputModule,
|
|
2762
3293
|
FormModule$1,
|
|
2763
3294
|
NgbModule,
|
|
2764
|
-
LoadingModule
|
|
2765
|
-
|
|
3295
|
+
LoadingModule,
|
|
3296
|
+
ButtonModule$1,
|
|
3297
|
+
IconModule,
|
|
3298
|
+
FormLinkModule], exports: [DossierListComponent, DossierDetailComponent] });
|
|
3299
|
+
DossierModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierModule, imports: [CommonModule,
|
|
2766
3300
|
DossierRoutingModule,
|
|
2767
3301
|
ListModule,
|
|
2768
3302
|
WidgetModule,
|
|
@@ -2807,12 +3341,16 @@ DossierModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
2807
3341
|
InputModule,
|
|
2808
3342
|
FormModule$1,
|
|
2809
3343
|
NgbModule,
|
|
2810
|
-
LoadingModule
|
|
2811
|
-
|
|
3344
|
+
LoadingModule,
|
|
3345
|
+
ButtonModule$1,
|
|
3346
|
+
IconModule,
|
|
3347
|
+
FormLinkModule] });
|
|
3348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DossierModule, decorators: [{
|
|
2812
3349
|
type: NgModule,
|
|
2813
3350
|
args: [{
|
|
2814
3351
|
declarations: [
|
|
2815
3352
|
DossierListComponent,
|
|
3353
|
+
DossierListActionsComponent,
|
|
2816
3354
|
DossierDetailComponent,
|
|
2817
3355
|
DossierDetailTabSummaryComponent,
|
|
2818
3356
|
DossierDetailTabProgressComponent,
|
|
@@ -2877,6 +3415,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
2877
3415
|
FormModule$1,
|
|
2878
3416
|
NgbModule,
|
|
2879
3417
|
LoadingModule,
|
|
3418
|
+
ButtonModule$1,
|
|
3419
|
+
IconModule,
|
|
3420
|
+
FormLinkModule,
|
|
2880
3421
|
],
|
|
2881
3422
|
exports: [DossierListComponent, DossierDetailComponent],
|
|
2882
3423
|
}]
|
|
@@ -2902,5 +3443,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
2902
3443
|
* Generated bundle index. Do not edit.
|
|
2903
3444
|
*/
|
|
2904
3445
|
|
|
2905
|
-
export { DEFAULT_TABS, DefaultTabs, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierDetailTabZaakobjectenComponent, DossierListComponent, DossierModule, DossierParameterService, DossierService, FileSortService, TAB_MAP, TabImpl, TabLoaderImpl, TabService, ZaakobjectenService };
|
|
3446
|
+
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 };
|
|
2906
3447
|
//# sourceMappingURL=valtimo-dossier.mjs.map
|