@valtimo/dossier 10.5.0 → 10.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/esm2020/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.mjs +16 -12
  2. package/esm2020/lib/dossier-detail/tab/summary/summary.component.mjs +1 -1
  3. package/esm2020/lib/dossier-list/dossier-list.component.mjs +153 -281
  4. package/esm2020/lib/dossier-list-actions/dossier-list-actions.component.mjs +86 -0
  5. package/esm2020/lib/dossier-process-start-modal/dossier-process-start-modal.component.mjs +113 -45
  6. package/esm2020/lib/dossier-routing.module.mjs +2 -2
  7. package/esm2020/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.mjs +107 -50
  8. package/esm2020/lib/dossier.module.mjs +17 -4
  9. package/esm2020/lib/models/dossier-parameters.model.mjs +1 -1
  10. package/esm2020/lib/services/dossier-column.service.mjs +24 -9
  11. package/esm2020/lib/services/dossier-list-assignee.service.mjs +82 -0
  12. package/esm2020/lib/services/dossier-list-pagination.service.mjs +116 -0
  13. package/esm2020/lib/services/dossier-list-search.service.mjs +66 -0
  14. package/esm2020/lib/services/dossier-list.service.mjs +60 -0
  15. package/esm2020/lib/services/dossier-parameter.service.mjs +71 -31
  16. package/esm2020/lib/services/index.mjs +5 -1
  17. package/fesm2015/valtimo-dossier.mjs +906 -457
  18. package/fesm2015/valtimo-dossier.mjs.map +1 -1
  19. package/fesm2020/valtimo-dossier.mjs +906 -460
  20. package/fesm2020/valtimo-dossier.mjs.map +1 -1
  21. package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts +3 -6
  22. package/lib/dossier-detail/tab/documenten-api-documents/documenten-api-documents.component.d.ts.map +1 -1
  23. package/lib/dossier-detail/tab/summary/summary.component.d.ts +9 -9
  24. package/lib/dossier-detail/tab/summary/summary.component.d.ts.map +1 -1
  25. package/lib/dossier-list/dossier-list.component.d.ts +45 -56
  26. package/lib/dossier-list/dossier-list.component.d.ts.map +1 -1
  27. package/lib/dossier-list-actions/dossier-list-actions.component.d.ts +28 -0
  28. package/lib/dossier-list-actions/dossier-list-actions.component.d.ts.map +1 -0
  29. package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts +14 -5
  30. package/lib/dossier-process-start-modal/dossier-process-start-modal.component.d.ts.map +1 -1
  31. package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts +12 -5
  32. package/lib/dossier-supporting-process-start-modal/dossier-supporting-process-start-modal.component.d.ts.map +1 -1
  33. package/lib/dossier.module.d.ts +31 -29
  34. package/lib/dossier.module.d.ts.map +1 -1
  35. package/lib/models/dossier-parameters.model.d.ts +1 -0
  36. package/lib/models/dossier-parameters.model.d.ts.map +1 -1
  37. package/lib/services/dossier-column.service.d.ts +5 -1
  38. package/lib/services/dossier-column.service.d.ts.map +1 -1
  39. package/lib/services/dossier-list-assignee.service.d.ts +27 -0
  40. package/lib/services/dossier-list-assignee.service.d.ts.map +1 -0
  41. package/lib/services/dossier-list-pagination.service.d.ts +30 -0
  42. package/lib/services/dossier-list-pagination.service.d.ts.map +1 -0
  43. package/lib/services/dossier-list-search.service.d.ts +22 -0
  44. package/lib/services/dossier-list-search.service.d.ts.map +1 -0
  45. package/lib/services/dossier-list.service.d.ts +17 -0
  46. package/lib/services/dossier-list.service.d.ts.map +1 -0
  47. package/lib/services/dossier-parameter.service.d.ts +9 -1
  48. package/lib/services/dossier-parameter.service.d.ts.map +1 -1
  49. package/lib/services/index.d.ts +4 -0
  50. package/lib/services/index.d.ts.map +1 -1
  51. package/package.json +1 -1
@@ -1,45 +1,47 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ViewEncapsulation, ViewChild, EventEmitter, Output, InjectionToken, Inject, Input, ViewContainerRef, NgModule, ANALYZE_FOR_ENTRY_COMPONENTS } from '@angular/core';
3
- import { map, BehaviorSubject, distinctUntilChanged, filter, startWith, take, combineLatest, tap, switchMap, of, Subject, Subscription, noop, from } from 'rxjs';
2
+ import { Injectable, EventEmitter, Component, ViewEncapsulation, ViewChild, Output, Input, InjectionToken, Inject, ViewContainerRef, NgModule, ANALYZE_FOR_ENTRY_COMPONENTS } from '@angular/core';
3
+ import { map, BehaviorSubject, distinctUntilChanged, take, combineLatest, switchMap, filter, tap, of, Subscription, Subject, noop, from, startWith } from 'rxjs';
4
4
  import * as i1 from '@valtimo/config';
5
5
  import { UploadProvider, ROLE_USER, ConfigModule, HttpLoaderFactory } from '@valtimo/config';
6
6
  import * as i2 from '@valtimo/document';
7
7
  import { AdvancedDocumentSearchRequestImpl } from '@valtimo/document';
8
+ import * as i6 from '@ngx-translate/core';
9
+ import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
8
10
  import * as i2$1 from '@angular/common/http';
9
11
  import { HttpClient } from '@angular/common/http';
10
12
  import * as i1$1 from '@angular/router';
11
13
  import { NavigationEnd, RouterModule } from '@angular/router';
12
14
  import { __rest } from 'tslib';
13
- import moment from 'moment';
14
- import * as i6$1 from '@ngx-translate/core';
15
- import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
16
- import * as i5 from 'ngx-logger';
17
- import * as i5$1 from '@angular/common';
15
+ import * as i1$2 from 'ngx-logger';
16
+ import * as i4$1 from '@angular/common';
18
17
  import { CommonModule } from '@angular/common';
19
- import * as i9 from '@valtimo/components';
18
+ import * as i8 from '@valtimo/components';
20
19
  import { FormioOptionsImpl, TimelineItemImpl, ListModule, WidgetModule, BpmnJsDiagramModule, TimelineModule, CamundaFormModule, FilterSidebarModule, DataListModule, FormIoModule, ModalModule, SpinnerModule, UploaderModule, DropzoneModule, DocumentenApiMetadataModalModule, SearchableDropdownSelectModule, SearchFieldsModule } from '@valtimo/components';
21
- import * as i10 from '@ng-bootstrap/ng-bootstrap';
20
+ import * as i8$1 from '@ng-bootstrap/ng-bootstrap';
22
21
  import { NgbButtonsModule, NgbTooltipModule, NgbPaginationModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
22
+ import { take as take$1, switchMap as switchMap$1, map as map$1, tap as tap$1, catchError } from 'rxjs/operators';
23
23
  import * as i2$2 from '@valtimo/process';
24
24
  import { ProcessModule } from '@valtimo/process';
25
25
  import * as i4 from '@valtimo/form-link';
26
- import * as i6 from '@valtimo/security';
26
+ import { FormLinkModule } from '@valtimo/form-link';
27
+ import * as i6$1 from '@valtimo/security';
27
28
  import { AuthGuardService } from '@valtimo/security';
29
+ import moment from 'moment';
28
30
  import * as i3 from '@valtimo/task';
29
31
  import { TaskModule } from '@valtimo/task';
30
- import * as i5$2 from '@valtimo/form';
32
+ import * as i5 from '@valtimo/form';
31
33
  import { FormModule } from '@valtimo/form';
32
- import * as i5$3 from '@angular/forms';
34
+ import * as i5$1 from '@angular/forms';
33
35
  import { FormsModule } from '@angular/forms';
34
36
  import * as i3$1 from 'ngx-spinner';
35
- import { switchMap as switchMap$1, map as map$1, tap as tap$1, catchError, take as take$1 } from 'rxjs/operators';
36
37
  import * as i3$2 from 'ngx-toastr';
37
- import * as i4$1 from '@valtimo/resource';
38
+ import * as i4$2 from '@valtimo/resource';
38
39
  import * as i3$3 from '@valtimo/user-interface';
39
40
  import { SelectModule, InputLabelModule, ParagraphModule, TableModule, ModalModule as ModalModule$1, TitleModule, ButtonModule, PageModule, InputModule, FormModule as FormModule$1 } from '@valtimo/user-interface';
40
- import * as i8 from 'keycloak-angular';
41
- import * as i1$2 from '@valtimo/contact-moment';
42
- import { LoadingModule } from 'carbon-components-angular';
41
+ import * as i12 from 'carbon-components-angular';
42
+ import { LoadingModule, ButtonModule as ButtonModule$1, IconModule } from 'carbon-components-angular';
43
+ import * as i8$2 from 'keycloak-angular';
44
+ import * as i1$3 from '@valtimo/contact-moment';
43
45
 
44
46
  /*
45
47
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -185,9 +187,10 @@ class TabImpl {
185
187
  * limitations under the License.
186
188
  */
187
189
  class DossierColumnService {
188
- constructor(configService, documentService) {
190
+ constructor(configService, documentService, translateService) {
189
191
  this.configService = configService;
190
192
  this.documentService = documentService;
193
+ this.translateService = translateService;
191
194
  }
192
195
  getDefinitionColumns(documentDefinitionName) {
193
196
  const config = this.configService.config;
@@ -210,6 +213,14 @@ class DossierColumnService {
210
213
  var _a;
211
214
  return !!((_a = this.configService.config) === null || _a === void 0 ? void 0 : _a.customDefinitionTables[documentDefinitionName]);
212
215
  }
216
+ mapDefinitionColumnsToListFields(columns, hasEnvConfig) {
217
+ return columns.map(column => {
218
+ const translationKey = `fieldLabels.${column.translationKey}`;
219
+ const translation = this.translateService.instant(translationKey);
220
+ const validTranslation = translation !== translationKey && translation;
221
+ return Object.assign(Object.assign(Object.assign(Object.assign({ key: hasEnvConfig ? column.propertyName : column.translationKey, label: column.title || validTranslation || column.translationKey, sortable: column.sortable }, (column.viewType && { viewType: column.viewType })), (column.enum && { enum: column.enum })), (column.format && { format: column.format })), (column.default && { default: column.default }));
222
+ });
223
+ }
213
224
  mapCaseListColumnsToDefinitionColumns(caseListColumns) {
214
225
  return caseListColumns.map(caseListColumn => {
215
226
  var _a, _b, _c, _d, _e, _f;
@@ -236,14 +247,11 @@ class DossierColumnService {
236
247
  return caseListColumnPath.replace('doc:', '$.').replace('case:', '');
237
248
  }
238
249
  }
239
- DossierColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierColumnService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Injectable });
240
- DossierColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierColumnService, providedIn: 'root' });
250
+ DossierColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierColumnService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
251
+ DossierColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierColumnService });
241
252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierColumnService, decorators: [{
242
- type: Injectable,
243
- args: [{
244
- providedIn: 'root',
245
- }]
246
- }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }]; } });
253
+ type: Injectable
254
+ }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i6.TranslateService }]; } });
247
255
 
248
256
  /*
249
257
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -305,11 +313,15 @@ class DossierParameterService {
305
313
  this.router = router;
306
314
  this.route = route;
307
315
  this._dossierParameters$ = new BehaviorSubject(undefined);
308
- this.openDossierParametersSubscription();
316
+ this._searchFieldValues$ = new BehaviorSubject({});
317
+ this.setDossierParameters();
309
318
  }
310
319
  get dossierParameters$() {
311
320
  return this._dossierParameters$.asObservable();
312
321
  }
322
+ get searchFieldValues$() {
323
+ return this._searchFieldValues$.asObservable();
324
+ }
313
325
  get querySearchParams$() {
314
326
  return this.route.queryParams.pipe(map(params => {
315
327
  if (params.search) {
@@ -319,24 +331,39 @@ class DossierParameterService {
319
331
  }), distinctUntilChanged((prevParams, currParams) => JSON.stringify(prevParams) === JSON.stringify(currParams)));
320
332
  }
321
333
  get queryPaginationParams$() {
322
- return this.route.queryParams.pipe(filter(params => params.collectionSize), map(params => {
334
+ return this.route.queryParams.pipe(map(params => {
323
335
  const paramsCopy = Object.assign({}, params);
324
336
  if (paramsCopy.search) {
325
337
  delete paramsCopy.search;
326
338
  }
327
- return Object.assign({ collectionSize: Number(paramsCopy.collectionSize), page: Number(paramsCopy.page), size: Number(paramsCopy.size), maxPaginationItemSize: Number(paramsCopy.maxPaginationItemSize) }, (paramsCopy.isSorting === 'true' && {
328
- isSorting: !!(paramsCopy.isSorting === 'true'),
329
- state: {
330
- name: paramsCopy.sortStateName,
331
- direction: paramsCopy.sortStateDirection,
332
- },
333
- }));
334
- }), distinctUntilChanged((prevParams, currParams) => JSON.stringify(prevParams) === JSON.stringify(currParams)), startWith(null));
339
+ return paramsCopy.collectionSize
340
+ ? Object.assign({ collectionSize: Number(paramsCopy.collectionSize), page: Number(paramsCopy.page), size: Number(paramsCopy.size), maxPaginationItemSize: Number(paramsCopy.maxPaginationItemSize) }, (paramsCopy.isSorting === 'true' && {
341
+ sort: {
342
+ isSorting: !!(paramsCopy.isSorting === 'true'),
343
+ state: {
344
+ name: paramsCopy.sortStateName,
345
+ direction: paramsCopy.sortStateDirection,
346
+ },
347
+ },
348
+ })) : null;
349
+ }), distinctUntilChanged((prevParams, currParams) => JSON.stringify(prevParams) === JSON.stringify(currParams)));
350
+ }
351
+ get queryAssigneeParam$() {
352
+ return this.route.queryParams.pipe(map(params => {
353
+ var _a;
354
+ if (params === null || params === void 0 ? void 0 : params.assignee) {
355
+ return (_a = params === null || params === void 0 ? void 0 : params.assignee) === null || _a === void 0 ? void 0 : _a.toUpperCase();
356
+ }
357
+ return '';
358
+ }), distinctUntilChanged((prevParams, currParams) => prevParams === currParams));
335
359
  }
336
360
  ngOnDestroy() {
337
361
  var _a;
338
362
  (_a = this.dossierParametersSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
339
363
  }
364
+ setSearchFieldValues(searchFieldValues) {
365
+ this._searchFieldValues$.next(searchFieldValues);
366
+ }
340
367
  setSearchParameters(searchParameters) {
341
368
  this._dossierParameters$.pipe(take(1)).subscribe(dossierParameters => {
342
369
  if (Object.keys(searchParameters || {}).length > 0) {
@@ -360,20 +387,21 @@ class DossierParameterService {
360
387
  });
361
388
  }
362
389
  }
390
+ setAssigneeParameter(assigneeFilter) {
391
+ this._dossierParameters$.pipe(take(1)).subscribe(dossierParameters => {
392
+ this._dossierParameters$.next(Object.assign(Object.assign({}, dossierParameters), { assignee: assigneeFilter.toLowerCase() }));
393
+ });
394
+ }
395
+ clearSearchFieldValues() {
396
+ this._searchFieldValues$.next({});
397
+ }
398
+ clearParameters() {
399
+ this._dossierParameters$.next(undefined);
400
+ this.router.navigate([this.getUrlWithoutParams()]);
401
+ }
363
402
  openDossierParametersSubscription() {
364
- this.dossierParametersSubscription = combineLatest([
365
- this.dossierParameters$,
366
- this.route.queryParams,
367
- ]).subscribe(([dossierParams, queryParams]) => {
368
- let paramsToUse = {};
369
- if (Object.keys(queryParams || {}).length > 0 &&
370
- Object.keys(dossierParams || {}).length === 0) {
371
- paramsToUse = queryParams;
372
- }
373
- else {
374
- paramsToUse = dossierParams;
375
- }
376
- this.router.navigate([this.getUrlWithoutParams()], { queryParams: paramsToUse });
403
+ this.dossierParametersSubscription = this.dossierParameters$.subscribe(dossierParams => {
404
+ this.router.navigate([this.getUrlWithoutParams()], { queryParams: dossierParams });
377
405
  });
378
406
  }
379
407
  objectToBase64(jsObject) {
@@ -385,6 +413,23 @@ class DossierParameterService {
385
413
  urlTree.fragment = null;
386
414
  return urlTree.toString();
387
415
  }
416
+ setDossierParameters() {
417
+ combineLatest([this.queryPaginationParams$, this.querySearchParams$, this.queryAssigneeParam$])
418
+ .pipe(take(1))
419
+ .subscribe(([paginationParams, searchParams, assigneeParams]) => {
420
+ if (paginationParams) {
421
+ this.setPaginationParameters(paginationParams);
422
+ }
423
+ if (searchParams) {
424
+ this.setSearchParameters(searchParams);
425
+ this.setSearchFieldValues(searchParams);
426
+ }
427
+ if (assigneeParams) {
428
+ this.setAssigneeParameter(assigneeParams);
429
+ }
430
+ this.openDossierParametersSubscription();
431
+ });
432
+ }
388
433
  }
389
434
  DossierParameterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierParameterService, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
390
435
  DossierParameterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierParameterService });
@@ -429,21 +474,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
429
474
  }]
430
475
  }], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
431
476
 
432
- /*
433
- * Copyright 2015-2023 Ritense BV, the Netherlands.
434
- *
435
- * Licensed under EUPL, Version 1.2 (the "License");
436
- * you may not use this file except in compliance with the License.
437
- * You may obtain a copy of the License at
438
- *
439
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
440
- *
441
- * Unless required by applicable law or agreed to in writing, software
442
- * distributed under the License is distributed on an "AS IS" basis,
443
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
444
- * See the License for the specific language governing permissions and
445
- * limitations under the License.
446
- */
477
+ class DossierListService {
478
+ constructor(dossierColumnService) {
479
+ this.dossierColumnService = dossierColumnService;
480
+ this._documentDefinitionName$ = new BehaviorSubject('');
481
+ this._hasEnvColumnConfig$ = this.documentDefinitionName$.pipe(map(documentDefinitionName => this.dossierColumnService.hasEnvironmentConfig(documentDefinitionName)));
482
+ }
483
+ get documentDefinitionName$() {
484
+ return this._documentDefinitionName$.asObservable();
485
+ }
486
+ get hasEnvColumnConfig$() {
487
+ return this._hasEnvColumnConfig$;
488
+ }
489
+ setDocumentDefinitionName(documentDefinitionName) {
490
+ this._documentDefinitionName$.next(documentDefinitionName);
491
+ }
492
+ mapDocuments(documents, hasEnvColumnConfig, hasApiColumnConfig) {
493
+ if (hasEnvColumnConfig || !hasApiColumnConfig) {
494
+ const docsToMap = documents;
495
+ return docsToMap.content.map(document => {
496
+ const { content } = document, others = __rest(document, ["content"]);
497
+ return Object.assign(Object.assign({}, content), others);
498
+ });
499
+ }
500
+ else {
501
+ const docsToMap = documents;
502
+ return docsToMap.content.reduce((acc, curr) => {
503
+ var _a;
504
+ const propsObject = { id: curr.id };
505
+ (_a = curr.items) === null || _a === void 0 ? void 0 : _a.forEach(item => {
506
+ propsObject[item.key] = item.value;
507
+ });
508
+ return [...acc, propsObject];
509
+ }, []);
510
+ }
511
+ }
512
+ }
513
+ DossierListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListService, deps: [{ token: DossierColumnService }], target: i0.ɵɵFactoryTarget.Injectable });
514
+ DossierListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListService });
515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListService, decorators: [{
516
+ type: Injectable
517
+ }], ctorParameters: function () { return [{ type: DossierColumnService }]; } });
447
518
 
448
519
  /*
449
520
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -460,16 +531,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
460
531
  * See the License for the specific language governing permissions and
461
532
  * limitations under the License.
462
533
  */
463
- var DefaultTabs;
464
- (function (DefaultTabs) {
465
- DefaultTabs["summary"] = "summary";
466
- DefaultTabs["progress"] = "progress";
467
- DefaultTabs["audit"] = "audit";
468
- DefaultTabs["documents"] = "documents";
469
- DefaultTabs["contactMoments"] = "contact-moments";
470
- DefaultTabs["zaakobjecten"] = "zaakobjecten";
471
- DefaultTabs["notes"] = "notes";
472
- })(DefaultTabs || (DefaultTabs = {}));
534
+ class DossierListAssigneeService {
535
+ constructor(dossierListService, documentService, translateService, dossierParameterService) {
536
+ this.dossierListService = dossierListService;
537
+ this.documentService = documentService;
538
+ this.translateService = translateService;
539
+ this.dossierParameterService = dossierParameterService;
540
+ this.ASSIGNEE_KEY = 'assigneeFullName';
541
+ this.defaultAssigneeFilter = 'ALL';
542
+ this.canHaveAssignee$ = this.dossierListService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), map(caseSettings => caseSettings === null || caseSettings === void 0 ? void 0 : caseSettings.canHaveAssignee));
543
+ this._assigneeFilter$ = new BehaviorSubject(this.defaultAssigneeFilter);
544
+ }
545
+ get assigneeFilter$() {
546
+ return this._assigneeFilter$.asObservable();
547
+ }
548
+ resetAssigneeFilter() {
549
+ this.dossierParameterService.queryAssigneeParam$.pipe(take(1)).subscribe(assigneeParam => {
550
+ if (assigneeParam) {
551
+ this._assigneeFilter$.next(assigneeParam);
552
+ this.dossierParameterService.setAssigneeParameter(assigneeParam);
553
+ }
554
+ else {
555
+ this._assigneeFilter$.next(this.defaultAssigneeFilter);
556
+ this.dossierParameterService.setAssigneeParameter(this.defaultAssigneeFilter);
557
+ }
558
+ });
559
+ }
560
+ setAssigneeFilter(assigneeFilter) {
561
+ this._assigneeFilter$.next(assigneeFilter);
562
+ this.dossierParameterService.setAssigneeParameter(assigneeFilter);
563
+ }
564
+ filterAssigneeColumns(columns, canHaveAssignee) {
565
+ return columns.filter(column => {
566
+ if ((column === null || column === void 0 ? void 0 : column.key) === this.ASSIGNEE_KEY && !canHaveAssignee) {
567
+ return false;
568
+ }
569
+ return true;
570
+ });
571
+ }
572
+ addAssigneeListField(columns, listFields, canHaveAssignee) {
573
+ return [
574
+ ...listFields,
575
+ ...(canHaveAssignee && !columns.find(column => column.propertyName === this.ASSIGNEE_KEY)
576
+ ? [
577
+ {
578
+ key: this.ASSIGNEE_KEY,
579
+ label: this.translateService.instant(`fieldLabels.${this.ASSIGNEE_KEY}`),
580
+ sortable: true,
581
+ viewType: 'string',
582
+ },
583
+ ]
584
+ : []),
585
+ ];
586
+ }
587
+ }
588
+ DossierListAssigneeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListAssigneeService, deps: [{ token: DossierListService }, { token: i2.DocumentService }, { token: i6.TranslateService }, { token: DossierParameterService }], target: i0.ɵɵFactoryTarget.Injectable });
589
+ DossierListAssigneeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListAssigneeService });
590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListAssigneeService, decorators: [{
591
+ type: Injectable
592
+ }], ctorParameters: function () { return [{ type: DossierListService }, { type: i2.DocumentService }, { type: i6.TranslateService }, { type: DossierParameterService }]; } });
473
593
 
474
594
  /*
475
595
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -518,6 +638,215 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
518
638
  }]
519
639
  }], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
520
640
 
641
+ /*
642
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
643
+ *
644
+ * Licensed under EUPL, Version 1.2 (the "License");
645
+ * you may not use this file except in compliance with the License.
646
+ * You may obtain a copy of the License at
647
+ *
648
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
649
+ *
650
+ * Unless required by applicable law or agreed to in writing, software
651
+ * distributed under the License is distributed on an "AS IS" basis,
652
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
653
+ * See the License for the specific language governing permissions and
654
+ * limitations under the License.
655
+ */
656
+ class DossierListPaginationService {
657
+ constructor(logger, dossierParameterService, dossierService) {
658
+ this.logger = logger;
659
+ this.dossierParameterService = dossierParameterService;
660
+ this.dossierService = dossierService;
661
+ this.DEFAULT_PAGINATION = {
662
+ collectionSize: 0,
663
+ page: 1,
664
+ size: 10,
665
+ maxPaginationItemSize: 5,
666
+ sort: undefined,
667
+ };
668
+ this._pagination$ = new BehaviorSubject(undefined);
669
+ this._paginationCopy$ = this._pagination$.pipe(filter(pagination => !!pagination), map(pagination => pagination && JSON.parse(JSON.stringify(pagination))), tap(pagination => this.dossierParameterService.setPaginationParameters(pagination)));
670
+ }
671
+ get pagination$() {
672
+ return this._paginationCopy$;
673
+ }
674
+ pageChange(newPage) {
675
+ this._pagination$.pipe(take(1)).subscribe(pagination => {
676
+ if (pagination && pagination.page !== newPage) {
677
+ this.logger.debug(`Page change: ${newPage}`);
678
+ this._pagination$.next(Object.assign(Object.assign({}, pagination), { page: newPage }));
679
+ }
680
+ });
681
+ }
682
+ pageSizeChange(newPageSize) {
683
+ this._pagination$.pipe(take(1)).subscribe(pagination => {
684
+ if (pagination && pagination.size !== newPageSize) {
685
+ const amountOfAvailablePages = Math.ceil(pagination.collectionSize / newPageSize);
686
+ const newPage = amountOfAvailablePages < pagination.page ? amountOfAvailablePages : pagination.page;
687
+ this.logger.debug(`Page size change. New Page: ${newPage} New page size: ${newPageSize}`);
688
+ this._pagination$.next(Object.assign(Object.assign({}, pagination), { size: newPageSize, page: newPage }));
689
+ }
690
+ });
691
+ }
692
+ sortChanged(newSortState) {
693
+ this._pagination$.pipe(take(1)).subscribe(pagination => {
694
+ if (pagination && JSON.stringify(pagination.sort) !== JSON.stringify(newSortState)) {
695
+ this.logger.debug(`Sort state change: ${JSON.stringify(newSortState)}`);
696
+ this._pagination$.next(Object.assign(Object.assign({}, pagination), { sort: newSortState }));
697
+ }
698
+ });
699
+ }
700
+ setPage(newPageNumber) {
701
+ this._pagination$.pipe(take(1)).subscribe(pagination => {
702
+ this._pagination$.next(Object.assign(Object.assign({}, pagination), { page: newPageNumber }));
703
+ });
704
+ }
705
+ setCollectionSize(documents) {
706
+ this._pagination$.pipe(take(1)).subscribe(pagination => {
707
+ if (pagination && pagination.collectionSize !== documents.totalElements) {
708
+ this._pagination$.next(Object.assign(Object.assign({}, pagination), { collectionSize: documents.totalElements }));
709
+ }
710
+ });
711
+ }
712
+ checkPage(documents) {
713
+ this._pagination$.pipe(take(1)).subscribe(pagination => {
714
+ if (pagination) {
715
+ const amountOfItems = documents.totalElements;
716
+ const amountOfPages = Math.ceil(amountOfItems / pagination.size);
717
+ const currentPage = pagination.page;
718
+ if (currentPage > amountOfPages) {
719
+ this._pagination$.next(Object.assign(Object.assign({}, pagination), { page: amountOfPages }));
720
+ }
721
+ }
722
+ });
723
+ }
724
+ clearPagination() {
725
+ this._pagination$.next(undefined);
726
+ }
727
+ setPagination(documentDefinitionName, columns) {
728
+ this.dossierParameterService.queryPaginationParams$
729
+ .pipe(take(1))
730
+ .subscribe(queryPaginationParams => {
731
+ const defaultPagination = this.getDefaultPagination(columns);
732
+ const paginationToUse = queryPaginationParams || defaultPagination;
733
+ this.logger.debug(`Set pagination: ${JSON.stringify(paginationToUse)}`);
734
+ this._pagination$.next(paginationToUse);
735
+ });
736
+ }
737
+ getDefaultPagination(columns) {
738
+ const defaultSortState = this.dossierService.getInitialSortState(columns);
739
+ return Object.assign(Object.assign({}, this.DEFAULT_PAGINATION), { sort: defaultSortState });
740
+ }
741
+ }
742
+ DossierListPaginationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListPaginationService, deps: [{ token: i1$2.NGXLogger }, { token: DossierParameterService }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Injectable });
743
+ DossierListPaginationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListPaginationService });
744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListPaginationService, decorators: [{
745
+ type: Injectable
746
+ }], ctorParameters: function () { return [{ type: i1$2.NGXLogger }, { type: DossierParameterService }, { type: DossierService }]; } });
747
+
748
+ /*
749
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
750
+ *
751
+ * Licensed under EUPL, Version 1.2 (the "License");
752
+ * you may not use this file except in compliance with the License.
753
+ * You may obtain a copy of the License at
754
+ *
755
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
756
+ *
757
+ * Unless required by applicable law or agreed to in writing, software
758
+ * distributed under the License is distributed on an "AS IS" basis,
759
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
760
+ * See the License for the specific language governing permissions and
761
+ * limitations under the License.
762
+ */
763
+ class DossierListSearchService {
764
+ constructor(dossierListService, documentService, dossierParameterService) {
765
+ this.dossierListService = dossierListService;
766
+ this.documentService = documentService;
767
+ this.dossierParameterService = dossierParameterService;
768
+ this._searchSwitch$ = new BehaviorSubject(false);
769
+ this._documentSearchFields$ = this.dossierListService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentSearchFields(documentDefinitionName)));
770
+ }
771
+ get searchSwitch$() {
772
+ return this._searchSwitch$.asObservable();
773
+ }
774
+ get documentSearchFields$() {
775
+ return this._documentSearchFields$;
776
+ }
777
+ search(searchFieldValues) {
778
+ this.dossierParameterService.setSearchFieldValues(searchFieldValues || {});
779
+ this.dossierParameterService.setSearchParameters(searchFieldValues);
780
+ this._searchSwitch$.next(!this._searchSwitch$.getValue());
781
+ }
782
+ refresh() {
783
+ this._searchSwitch$.next(!this._searchSwitch$.getValue());
784
+ }
785
+ mapSearchValuesToFilters(values) {
786
+ const filters = [];
787
+ Object.keys(values).forEach(valueKey => {
788
+ const searchValue = values[valueKey];
789
+ if (searchValue.start) {
790
+ filters.push({ key: valueKey, rangeFrom: searchValue.start, rangeTo: searchValue.end });
791
+ }
792
+ else if (Array.isArray(searchValue)) {
793
+ filters.push({ key: valueKey, values: searchValue });
794
+ }
795
+ else {
796
+ filters.push({ key: valueKey, values: [searchValue] });
797
+ }
798
+ });
799
+ return filters;
800
+ }
801
+ }
802
+ DossierListSearchService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListSearchService, deps: [{ token: DossierListService }, { token: i2.DocumentService }, { token: DossierParameterService }], target: i0.ɵɵFactoryTarget.Injectable });
803
+ DossierListSearchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListSearchService });
804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListSearchService, decorators: [{
805
+ type: Injectable
806
+ }], ctorParameters: function () { return [{ type: DossierListService }, { type: i2.DocumentService }, { type: DossierParameterService }]; } });
807
+
808
+ /*
809
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
810
+ *
811
+ * Licensed under EUPL, Version 1.2 (the "License");
812
+ * you may not use this file except in compliance with the License.
813
+ * You may obtain a copy of the License at
814
+ *
815
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
816
+ *
817
+ * Unless required by applicable law or agreed to in writing, software
818
+ * distributed under the License is distributed on an "AS IS" basis,
819
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
820
+ * See the License for the specific language governing permissions and
821
+ * limitations under the License.
822
+ */
823
+
824
+ /*
825
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
826
+ *
827
+ * Licensed under EUPL, Version 1.2 (the "License");
828
+ * you may not use this file except in compliance with the License.
829
+ * You may obtain a copy of the License at
830
+ *
831
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
832
+ *
833
+ * Unless required by applicable law or agreed to in writing, software
834
+ * distributed under the License is distributed on an "AS IS" basis,
835
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
836
+ * See the License for the specific language governing permissions and
837
+ * limitations under the License.
838
+ */
839
+ var DefaultTabs;
840
+ (function (DefaultTabs) {
841
+ DefaultTabs["summary"] = "summary";
842
+ DefaultTabs["progress"] = "progress";
843
+ DefaultTabs["audit"] = "audit";
844
+ DefaultTabs["documents"] = "documents";
845
+ DefaultTabs["contactMoments"] = "contact-moments";
846
+ DefaultTabs["zaakobjecten"] = "zaakobjecten";
847
+ DefaultTabs["notes"] = "notes";
848
+ })(DefaultTabs || (DefaultTabs = {}));
849
+
521
850
  /*
522
851
  * Copyright 2015-2023 Ritense BV, the Netherlands.
523
852
  *
@@ -534,45 +863,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
534
863
  * limitations under the License.
535
864
  */
536
865
  class DossierProcessStartModalComponent {
537
- constructor(route, router, processService, documentService, formLinkService, userProviderService, logger) {
866
+ constructor(route, router, processService, documentService, formLinkService, processLinkService, formFlowService, userProviderService, logger) {
538
867
  this.route = route;
539
868
  this.router = router;
540
869
  this.processService = processService;
541
870
  this.documentService = documentService;
542
871
  this.formLinkService = formLinkService;
872
+ this.processLinkService = processLinkService;
873
+ this.formFlowService = formFlowService;
543
874
  this.userProviderService = userProviderService;
544
875
  this.logger = logger;
876
+ this.formFlowComplete = new EventEmitter();
545
877
  }
546
878
  ngOnInit() {
547
879
  this.isUserAdmin();
548
880
  }
549
- loadFormDefinition() {
881
+ loadProcessLink() {
882
+ this.formAssociation = null;
883
+ this.processLinkId = null;
550
884
  this.formDefinition = null;
551
- this.formLinkService
552
- .getStartEventFormDefinitionByProcessDefinitionKey(this.processDefinitionKey)
553
- .subscribe(formDefinition => {
554
- this.formAssociation = formDefinition.formAssociation;
555
- const className = this.formAssociation.formLink.className.split('.');
556
- const linkType = className[className.length - 1];
557
- switch (linkType) {
558
- case 'BpmnElementFormIdLink':
559
- this.formDefinition = formDefinition;
560
- this.modal.show();
561
- break;
562
- case 'BpmnElementUrlLink':
563
- const url = this.router.serializeUrl(this.router.createUrlTree([formDefinition.formAssociation.formLink.url]));
564
- window.open(url, '_blank');
565
- break;
566
- case 'BpmnElementAngularStateUrlLink':
567
- this.router.navigate([formDefinition.formAssociation.formLink.url]);
568
- break;
569
- default:
570
- this.logger.fatal('Unsupported class name');
885
+ this.formFlowInstanceId = null;
886
+ this.processService
887
+ .getProcessDefinitionStartProcessLink(this.processDefinitionId, null, this.documentDefinitionName)
888
+ .pipe(take$1(1))
889
+ .subscribe(startProcessResult => {
890
+ if (startProcessResult) {
891
+ switch (startProcessResult.type) {
892
+ case 'form':
893
+ this.formDefinition = startProcessResult.properties.prefilledForm;
894
+ this.processLinkId = startProcessResult.processLinkId;
895
+ break;
896
+ case 'form-flow':
897
+ this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
898
+ break;
899
+ }
900
+ this.modal.show();
901
+ }
902
+ else {
903
+ // backwards compatibility for form associations
904
+ this.formLinkService
905
+ .getStartEventFormDefinitionByProcessDefinitionKey(this.processDefinitionKey, null)
906
+ .pipe(take$1(1))
907
+ .subscribe({
908
+ next: formDefinitionWithFormAssociation => this.openFormAssociation(formDefinitionWithFormAssociation),
909
+ error: error => {
910
+ this.modal.show();
911
+ },
912
+ });
571
913
  }
572
- }, errors => {
573
- this.modal.show();
574
914
  });
575
915
  }
916
+ openFormAssociation(formDefinitionWithFormAssociation) {
917
+ this.formAssociation = formDefinitionWithFormAssociation.formAssociation;
918
+ const className = this.formAssociation.formLink.className.split('.');
919
+ const linkType = className[className.length - 1];
920
+ switch (linkType) {
921
+ case 'BpmnElementFormIdLink':
922
+ this.formDefinition = formDefinitionWithFormAssociation;
923
+ this.modal.show();
924
+ break;
925
+ case 'BpmnElementFormFlowIdLink':
926
+ this.formFlowService
927
+ .createInstanceForNewProcess(this.processDefinitionKey, {
928
+ documentId: null,
929
+ documentDefinitionName: this.documentDefinitionName,
930
+ })
931
+ .subscribe(result => (this.formFlowInstanceId = result.formFlowInstanceId));
932
+ this.modal.show();
933
+ break;
934
+ case 'BpmnElementUrlLink':
935
+ const url = this.router.serializeUrl(this.router.createUrlTree([this.formAssociation.formLink.url]));
936
+ window.open(url, '_blank');
937
+ break;
938
+ case 'BpmnElementAngularStateUrlLink':
939
+ this.route.params.pipe(take$1(1)).subscribe(params => {
940
+ const documentId = params === null || params === void 0 ? void 0 : params.documentId;
941
+ this.router.navigate([this.formAssociation.formLink.url], {
942
+ state: Object.assign({}, (documentId && { documentId })),
943
+ });
944
+ });
945
+ break;
946
+ default:
947
+ this.logger.fatal('Unsupported class name');
948
+ }
949
+ }
576
950
  gotoFormLinkScreen() {
577
951
  this.modal.hide();
578
952
  this.router.navigate(['form-links'], { queryParams: { process: this.processDefinitionKey } });
@@ -582,6 +956,7 @@ class DossierProcessStartModalComponent {
582
956
  }
583
957
  openModal(processDocumentDefinition) {
584
958
  this.processDefinitionKey = processDocumentDefinition.id.processDefinitionKey;
959
+ this.processDefinitionId = processDocumentDefinition.latestVersionId;
585
960
  this.documentDefinitionName = processDocumentDefinition.id.documentDefinitionId.name;
586
961
  this.processName = processDocumentDefinition.processName;
587
962
  this.options = new FormioOptionsImpl();
@@ -590,24 +965,33 @@ class DossierProcessStartModalComponent {
590
965
  callback(null, submission);
591
966
  };
592
967
  this.options.setHooks(formioBeforeSubmit);
593
- this.loadFormDefinition();
968
+ this.loadProcessLink();
969
+ }
970
+ onSubmit(submission) {
971
+ this.formioSubmission = submission;
972
+ if (this.processLinkId) {
973
+ this.processLinkService.submitForm(this.processLinkId, submission.data).subscribe({
974
+ next: (formSubmissionResult) => {
975
+ this.submitCompleted(formSubmissionResult);
976
+ },
977
+ error: errors => {
978
+ this.form.showErrors(errors);
979
+ },
980
+ });
981
+ }
982
+ else {
983
+ this.formLinkService
984
+ .onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data)
985
+ .subscribe((formSubmissionResult) => {
986
+ this.submitCompleted(formSubmissionResult);
987
+ }, errors => {
988
+ this.form.showErrors(errors);
989
+ });
990
+ }
594
991
  }
595
- onSubmit(submission) {
596
- this.formioSubmission = submission;
597
- this.formLinkService
598
- .onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data)
599
- .subscribe((formSubmissionResult) => {
600
- this.modal.hide();
601
- this.router.navigate([
602
- 'dossiers',
603
- this.documentDefinitionName,
604
- 'document',
605
- formSubmissionResult.documentId,
606
- 'summary',
607
- ]);
608
- }, errors => {
609
- this.form.showErrors(errors);
610
- });
992
+ formFlowSubmitted() {
993
+ this.formFlowComplete.emit(null);
994
+ this.modal.hide();
611
995
  }
612
996
  isUserAdmin() {
613
997
  this.userProviderService.getUserSubject().subscribe(userIdentity => {
@@ -616,121 +1000,212 @@ class DossierProcessStartModalComponent {
616
1000
  this.isAdmin = false;
617
1001
  });
618
1002
  }
1003
+ submitCompleted(formSubmissionResult) {
1004
+ this.modal.hide();
1005
+ this.router.navigate([
1006
+ 'dossiers',
1007
+ this.documentDefinitionName,
1008
+ 'document',
1009
+ formSubmissionResult.documentId,
1010
+ 'summary',
1011
+ ]);
1012
+ }
619
1013
  }
620
- DossierProcessStartModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$2.ProcessService }, { token: i2.DocumentService }, { token: i4.FormLinkService }, { token: i6.UserProviderService }, { token: i5.NGXLogger }], target: i0.ɵɵFactoryTarget.Component });
621
- DossierProcessStartModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal", 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=\"!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=\"!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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i9.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "directive", type: i6$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
1014
+ DossierProcessStartModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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 });
1015
+ DossierProcessStartModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i8.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 });
622
1016
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierProcessStartModalComponent, decorators: [{
623
1017
  type: Component,
624
- 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=\"!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=\"!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"] }]
625
- }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i2.DocumentService }, { type: i4.FormLinkService }, { type: i6.UserProviderService }, { type: i5.NGXLogger }]; }, propDecorators: { form: [{
1018
+ 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"] }]
1019
+ }], 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: [{
626
1020
  type: ViewChild,
627
1021
  args: ['form', { static: false }]
628
1022
  }], modal: [{
629
1023
  type: ViewChild,
630
1024
  args: ['processStartModal', { static: false }]
1025
+ }], formFlowComplete: [{
1026
+ type: Output
631
1027
  }] } });
632
1028
 
633
- moment.locale(localStorage.getItem('langKey') || '');
1029
+ /*
1030
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
1031
+ *
1032
+ * Licensed under EUPL, Version 1.2 (the "License");
1033
+ * you may not use this file except in compliance with the License.
1034
+ * You may obtain a copy of the License at
1035
+ *
1036
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
1037
+ *
1038
+ * Unless required by applicable law or agreed to in writing, software
1039
+ * distributed under the License is distributed on an "AS IS" basis,
1040
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1041
+ * See the License for the specific language governing permissions and
1042
+ * limitations under the License.
1043
+ */
1044
+ class DossierListActionsComponent {
1045
+ constructor(documentService, route, listService) {
1046
+ this.documentService = documentService;
1047
+ this.route = route;
1048
+ this.listService = listService;
1049
+ this.formFlowComplete = new EventEmitter();
1050
+ this.selectedProcessDocumentDefinition = null;
1051
+ this.modalListenerAdded = false;
1052
+ this._cachedAssociatedProcessDocumentDefinitions = [];
1053
+ this.associatedProcessDocumentDefinitions$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => documentDefinitionName
1054
+ ? this.documentService.findProcessDocumentDefinitions(documentDefinitionName)
1055
+ : of([])), map(processDocumentDefinitions => processDocumentDefinitions.filter(definition => definition.canInitializeDocument)), tap(processDocumentDefinitions => {
1056
+ this._cachedAssociatedProcessDocumentDefinitions = processDocumentDefinitions;
1057
+ }));
1058
+ }
1059
+ ngOnInit() {
1060
+ this.modalListenerAdded = false;
1061
+ }
1062
+ startDossier() {
1063
+ const associatedProcessDocumentDefinitions = this._cachedAssociatedProcessDocumentDefinitions;
1064
+ if (associatedProcessDocumentDefinitions.length > 1) {
1065
+ $('#startProcess').modal('show');
1066
+ }
1067
+ else {
1068
+ this.selectedProcessDocumentDefinition = associatedProcessDocumentDefinitions[0];
1069
+ this.showStartProcessModal();
1070
+ }
1071
+ }
1072
+ selectProcess(processDocumentDefinition) {
1073
+ const modal = $('#startProcess');
1074
+ if (!this.modalListenerAdded) {
1075
+ modal.on('hidden.bs.modal', this.showStartProcessModal.bind(this));
1076
+ this.modalListenerAdded = true;
1077
+ }
1078
+ this.selectedProcessDocumentDefinition = processDocumentDefinition;
1079
+ modal.modal('hide');
1080
+ }
1081
+ onFormFlowComplete() {
1082
+ this.formFlowComplete.emit(null);
1083
+ }
1084
+ showStartProcessModal() {
1085
+ if (this.selectedProcessDocumentDefinition !== null) {
1086
+ this.processStart.openModal(this.selectedProcessDocumentDefinition);
1087
+ this.selectedProcessDocumentDefinition = null;
1088
+ }
1089
+ }
1090
+ }
1091
+ DossierListActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListActionsComponent, deps: [{ token: i2.DocumentService }, { token: i1$1.ActivatedRoute }, { token: DossierListService }], target: i0.ɵɵFactoryTarget.Component });
1092
+ DossierListActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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\">&times;</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: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8$1.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: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
1093
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListActionsComponent, decorators: [{
1094
+ type: Component,
1095
+ 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\">&times;</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" }]
1096
+ }], ctorParameters: function () { return [{ type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: DossierListService }]; }, propDecorators: { processStart: [{
1097
+ type: ViewChild,
1098
+ args: ['processStartModal']
1099
+ }], loading: [{
1100
+ type: Input
1101
+ }], formFlowComplete: [{
1102
+ type: Output
1103
+ }] } });
1104
+
1105
+ /*
1106
+ * Copyright 2015-2023 Ritense BV, the Netherlands.
1107
+ *
1108
+ * Licensed under EUPL, Version 1.2 (the "License");
1109
+ * you may not use this file except in compliance with the License.
1110
+ * You may obtain a copy of the License at
1111
+ *
1112
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
1113
+ *
1114
+ * Unless required by applicable law or agreed to in writing, software
1115
+ * distributed under the License is distributed on an "AS IS" basis,
1116
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1117
+ * See the License for the specific language governing permissions and
1118
+ * limitations under the License.
1119
+ */
634
1120
  class DossierListComponent {
635
- constructor(route, router, documentService, translateService, dossierService, logger, configService, dossierColumnService, dossierParameterService) {
636
- var _a;
1121
+ constructor(route, translateService, listService, columnService, assigneeService, paginationService, searchService, parameterService, documentService, router, configService) {
637
1122
  this.route = route;
638
- this.router = router;
639
- this.documentService = documentService;
640
1123
  this.translateService = translateService;
641
- this.dossierService = dossierService;
642
- this.logger = logger;
1124
+ this.listService = listService;
1125
+ this.columnService = columnService;
1126
+ this.assigneeService = assigneeService;
1127
+ this.paginationService = paginationService;
1128
+ this.searchService = searchService;
1129
+ this.parameterService = parameterService;
1130
+ this.documentService = documentService;
1131
+ this.router = router;
643
1132
  this.configService = configService;
644
- this.dossierColumnService = dossierColumnService;
645
- this.dossierParameterService = dossierParameterService;
646
- this.dossierVisibleTabs = null;
647
- this.defaultAssigneeFilter = 'ALL';
648
- this.selectedProcessDocumentDefinition = null;
649
- this.modalListenerAdded = false;
650
- this.settingPaginationForDocName$ = new BehaviorSubject(undefined);
651
- this.loading$ = new BehaviorSubject(true);
652
- this.loadingDocumentSearchFields$ = new BehaviorSubject(true);
653
- this.documentDefinitionName$ = this.route.params.pipe(map(params => params.documentDefinitionName || ''), tap(documentDefinitionName => {
654
- this.resetPagination(documentDefinitionName);
1133
+ this.loadingFields = true;
1134
+ this.loadingPagination = true;
1135
+ this.loadingSearchFields = true;
1136
+ this.loadingAssigneeFilter = true;
1137
+ this.loadingDocumentItems = true;
1138
+ this.visibleDossierTabs = null;
1139
+ this.searchFields$ = this.searchService.documentSearchFields$.pipe(tap(searchFields => {
1140
+ this.loadingSearchFields = false;
655
1141
  }));
656
- this.hasEnvColumnConfig$ = this.route.params.pipe(map(params => params.documentDefinitionName || ''), map(documentDefinitionName => this.dossierColumnService.hasEnvironmentConfig(documentDefinitionName)));
657
- this.canHaveAssignee$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getCaseSettings(documentDefinitionName)), map(caseSettings => caseSettings === null || caseSettings === void 0 ? void 0 : caseSettings.canHaveAssignee));
658
- this.documentSearchFields$ = this.documentDefinitionName$.pipe(distinctUntilChanged(), tap(() => this.loadingDocumentSearchFields$.next(true)), switchMap(documentDefinitionName => this.documentService.getDocumentSearchFields(documentDefinitionName)), tap(() => this.loadingDocumentSearchFields$.next(false)));
659
- this.associatedProcessDocumentDefinitions$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => documentDefinitionName
660
- ? this.documentService.findProcessDocumentDefinitions(documentDefinitionName)
661
- : of([])), map(processDocumentDefinitions => processDocumentDefinitions.filter(definition => definition.canInitializeDocument)));
662
- this.schema$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), map(documentDefinition => documentDefinition === null || documentDefinition === void 0 ? void 0 : documentDefinition.schema), tap(() => {
663
- this.assigneeFilter$.next(this.defaultAssigneeFilter);
1142
+ this.documentDefinitionName$ = this.listService.documentDefinitionName$;
1143
+ this.schema$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.documentService.getDocumentDefinition(documentDefinitionName)), map(documentDefinition => documentDefinition === null || documentDefinition === void 0 ? void 0 : documentDefinition.schema));
1144
+ this.searchFieldValues$ = this.parameterService.searchFieldValues$;
1145
+ this.assigneeFilter$ = this.assigneeService.assigneeFilter$;
1146
+ this._pagination$ = this.paginationService.pagination$.pipe(tap(pagination => {
1147
+ this.pagination = pagination;
1148
+ this.loadingPagination = false;
664
1149
  }));
665
- this.storedSearchRequestKey$ = this.documentDefinitionName$.pipe(map(documentDefinitionName => `list-search-${documentDefinitionName}`));
666
- this.hasStoredSearchRequest$ = this.storedSearchRequestKey$.pipe(map(storedSearchRequestKey => localStorage.getItem(storedSearchRequestKey) !== null));
667
- this.hasApiColumnConfig$ = new BehaviorSubject(false);
668
- this.columns$ = this.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.dossierColumnService.getDefinitionColumns(documentDefinitionName)), map(res => {
669
- this.hasApiColumnConfig$.next(res.hasApiConfig);
1150
+ this._hasEnvColumnConfig$ = this.listService.hasEnvColumnConfig$;
1151
+ this._hasApiColumnConfig$ = new BehaviorSubject(false);
1152
+ this._canHaveAssignee$ = this.assigneeService.canHaveAssignee$;
1153
+ this._searchSwitch$ = this.searchService.searchSwitch$;
1154
+ this._columns$ = this.listService.documentDefinitionName$.pipe(switchMap(documentDefinitionName => this.columnService.getDefinitionColumns(documentDefinitionName)), map(res => {
1155
+ this._hasApiColumnConfig$.next(res.hasApiConfig);
670
1156
  return res.columns;
1157
+ }), tap(columns => {
1158
+ this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
1159
+ this.paginationService.setPagination(documentDefinitionName, columns);
1160
+ });
671
1161
  }));
672
- this.ASSIGNEE_KEY = 'assigneeFullName';
673
1162
  this.fields$ = combineLatest([
674
- this.columns$,
675
- this.canHaveAssignee$,
676
- this.hasEnvColumnConfig$,
1163
+ this._canHaveAssignee$,
1164
+ this._columns$,
1165
+ this._hasEnvColumnConfig$,
677
1166
  this.translateService.stream('key'),
678
- ]).pipe(map(([columns, canHaveAssignee, hasEnvConfig]) => [
679
- ...columns
680
- .map(column => {
681
- const translationKey = `fieldLabels.${column.translationKey}`;
682
- const translation = this.translateService.instant(translationKey);
683
- const validTranslation = translation !== translationKey && translation;
684
- return Object.assign(Object.assign(Object.assign({ key: hasEnvConfig ? column.propertyName : column.translationKey, label: column.title || validTranslation || column.translationKey, sortable: column.sortable }, (column.viewType && { viewType: column.viewType })), (column.enum && { enum: column.enum })), (column.format && { format: column.format }));
685
- })
686
- // Filter out assignee column if the case type can not have an assignee
687
- .filter(column => {
688
- if ((column === null || column === void 0 ? void 0 : column.key) === this.ASSIGNEE_KEY && !canHaveAssignee) {
689
- return false;
1167
+ ]).pipe(tap(([canHaveAssignee]) => {
1168
+ this.canHaveAssignee = canHaveAssignee;
1169
+ }), map(([canHaveAssignee, columns, hasEnvConfig]) => {
1170
+ const filteredAssigneeColumns = this.assigneeService.filterAssigneeColumns(columns, canHaveAssignee);
1171
+ const listFields = this.columnService.mapDefinitionColumnsToListFields(filteredAssigneeColumns, hasEnvConfig);
1172
+ const fieldsToReturn = this.assigneeService.addAssigneeListField(columns, listFields, canHaveAssignee);
1173
+ return fieldsToReturn;
1174
+ }), tap(listFields => {
1175
+ const defaultListField = listFields.find(field => field.default);
1176
+ // set default sort state if no pagination query parameters for sorting are available
1177
+ this.parameterService.queryPaginationParams$
1178
+ .pipe(take(1))
1179
+ .subscribe(queryPaginationParams => {
1180
+ if (defaultListField && !(queryPaginationParams === null || queryPaginationParams === void 0 ? void 0 : queryPaginationParams.sort.isSorting)) {
1181
+ const sortDirection = typeof defaultListField.default === 'string' ? defaultListField.default : 'DESC';
1182
+ this.paginationService.sortChanged({
1183
+ isSorting: true,
1184
+ state: { name: defaultListField.key, direction: sortDirection },
1185
+ });
690
1186
  }
691
- return true;
692
- }),
693
- // If the case type can have an assignee, and the assignee column is not present in the case column definition, add an assignee column at the end
694
- ...(canHaveAssignee && !columns.find(column => column.propertyName === this.ASSIGNEE_KEY)
695
- ? [
696
- {
697
- key: this.ASSIGNEE_KEY,
698
- label: this.translateService.instant(`fieldLabels.${this.ASSIGNEE_KEY}`),
699
- sortable: true,
700
- viewType: 'string',
701
- },
702
- ]
703
- : []),
704
- ]));
705
- this.DEFAULT_PAGINATION = {
706
- collectionSize: 0,
707
- page: 1,
708
- size: 10,
709
- maxPaginationItemSize: 5,
710
- sort: undefined,
711
- };
712
- this.pagination$ = new BehaviorSubject(undefined);
713
- this.paginationCopy$ = this.pagination$.pipe(map(pagination => pagination && JSON.parse(JSON.stringify(pagination))), tap(pagination => this.dossierParameterService.setPaginationParameters(pagination)));
714
- this.documentSearchRequest$ = combineLatest([this.pagination$, this.documentDefinitionName$]).pipe(filter(([pagination]) => !!pagination), map(([pagination, documentDefinitionName]) => new AdvancedDocumentSearchRequestImpl(documentDefinitionName, pagination.page - 1, pagination.size, pagination.sort)));
715
- this.searchFieldValues$ = new BehaviorSubject({});
716
- this.assigneeFilter$ = new BehaviorSubject(this.defaultAssigneeFilter);
717
- this.documentsRequest$ = combineLatest([
718
- this.documentSearchRequest$,
1187
+ });
1188
+ }), tap(() => {
1189
+ this.loadingFields = false;
1190
+ }));
1191
+ 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)));
1192
+ this._documentsRequest$ = combineLatest([
1193
+ this._documentSearchRequest$,
719
1194
  this.searchFieldValues$,
720
1195
  this.assigneeFilter$,
721
- this.hasEnvColumnConfig$,
722
- this.hasApiColumnConfig$,
723
- ]).pipe(distinctUntilChanged(([prevSearchRequest, prevSearchValues, prevAssigneeFilter], [currSearchRequest, currSearchValues, currAssigneeFilter]) => JSON.stringify(Object.assign(Object.assign({}, prevSearchRequest), prevSearchValues)) + prevAssigneeFilter ===
724
- JSON.stringify(Object.assign(Object.assign({}, currSearchRequest), currSearchValues)) + currAssigneeFilter), tap(([documentSearchRequest]) => {
725
- this.storedSearchRequestKey$.pipe(take(1)).subscribe(storedSearchRequestKey => {
726
- this.logger.debug(`store request in local storage: ${JSON.stringify(documentSearchRequest)}`);
727
- localStorage.setItem(storedSearchRequestKey, JSON.stringify(documentSearchRequest));
728
- });
729
- }), switchMap(([documentSearchRequest, searchValues, assigneeFilter, hasEnvColumnConfig, hasApiColumnConfig,]) => {
1196
+ this._hasEnvColumnConfig$,
1197
+ this._hasApiColumnConfig$,
1198
+ this._searchSwitch$,
1199
+ ]).pipe(distinctUntilChanged(([prevSearchRequest, prevSearchValues, prevAssigneeFilter, prevHasEnvColumnConfig, prevHasApiColumnConfig, prevSearchSwitch,], [currSearchRequest, currSearchValues, currAssigneeFilter, currHasEnvColumnConfig, currHasApiColumnConfig, currSearchSwitch,]) => JSON.stringify(Object.assign(Object.assign({}, prevSearchRequest), prevSearchValues)) +
1200
+ prevAssigneeFilter +
1201
+ prevSearchSwitch ===
1202
+ JSON.stringify(Object.assign(Object.assign({}, currSearchRequest), currSearchValues)) +
1203
+ currAssigneeFilter +
1204
+ currSearchSwitch), switchMap(([documentSearchRequest, searchValues, assigneeFilter, hasEnvColumnConfig, hasApiColumnConfig,]) => {
730
1205
  if ((Object.keys(searchValues) || []).length > 0) {
731
1206
  return hasEnvColumnConfig || !hasApiColumnConfig
732
- ? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.mapSearchValuesToFilters(searchValues))
733
- : this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.mapSearchValuesToFilters(searchValues));
1207
+ ? this.documentService.getDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues))
1208
+ : this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter, this.searchService.mapSearchValuesToFilters(searchValues));
734
1209
  }
735
1210
  else {
736
1211
  return hasEnvColumnConfig || !hasApiColumnConfig
@@ -738,196 +1213,99 @@ class DossierListComponent {
738
1213
  : this.documentService.getSpecifiedDocumentsSearch(documentSearchRequest, 'AND', assigneeFilter);
739
1214
  }
740
1215
  }), tap(documents => {
741
- this.setCollectionSize(documents);
742
- this.checkPage(documents);
1216
+ this.paginationService.setCollectionSize(documents);
1217
+ this.paginationService.checkPage(documents);
743
1218
  }));
744
1219
  this.documentItems$ = combineLatest([
745
- this.documentsRequest$,
746
- this.hasEnvColumnConfig$,
747
- this.hasApiColumnConfig$,
748
- ]).pipe(map(([documents, hasEnvColumnConfig, hasApiColumnConfig]) => {
749
- if (hasEnvColumnConfig || !hasApiColumnConfig) {
750
- const docsToMap = documents;
751
- return documents.content.map(document => {
752
- const { content } = document, others = __rest(document, ["content"]);
753
- return Object.assign(Object.assign({}, content), others);
754
- });
755
- }
756
- else {
757
- const docsToMap = documents;
758
- return docsToMap.content.reduce((acc, curr) => {
759
- const propsObject = { id: curr.id };
760
- curr.items.forEach(item => {
761
- propsObject[item.key] = item.value;
762
- });
763
- return [...acc, propsObject];
764
- }, []);
765
- }
766
- }), tap(() => this.loading$.next(false)));
767
- this.setSearchFieldValuesSubject$ = new Subject();
768
- this.dossierVisibleTabs = ((_a = this.configService.config) === null || _a === void 0 ? void 0 : _a.visibleDossierListTabs) || null;
1220
+ this._documentsRequest$,
1221
+ this._hasEnvColumnConfig$,
1222
+ this._hasApiColumnConfig$,
1223
+ ]).pipe(map(([documents, hasEnvColumnConfig, hasApiColumnConfig]) => this.listService.mapDocuments(documents, hasEnvColumnConfig, hasApiColumnConfig)), tap(() => {
1224
+ this.loadingAssigneeFilter = false;
1225
+ this.loadingDocumentItems = false;
1226
+ }));
769
1227
  }
770
1228
  ngOnInit() {
771
- this.modalListenerAdded = false;
772
- this.setSearchFieldParametersInComponent();
773
- }
774
- pageChange(newPage) {
775
- this.pagination$.pipe(take(1)).subscribe(pagination => {
776
- if (pagination && pagination.page !== newPage) {
777
- this.logger.debug(`Page change: ${newPage}`);
778
- this.pagination$.next(Object.assign(Object.assign({}, pagination), { page: newPage }));
779
- }
780
- });
1229
+ this.setVisibleTabs();
1230
+ this.openDocumentDefinitionNameSubscription();
781
1231
  }
782
- pageSizeChange(newPageSize) {
783
- this.pagination$.pipe(take(1)).subscribe(pagination => {
784
- if (pagination && pagination.size !== newPageSize) {
785
- const amountOfAvailablePages = Math.ceil(pagination.collectionSize / newPageSize);
786
- const newPage = amountOfAvailablePages < pagination.page ? amountOfAvailablePages : pagination.page;
787
- this.logger.debug(`Page size change. New Page: ${newPage} New page size: ${newPageSize}`);
788
- this.pagination$.next(Object.assign(Object.assign({}, pagination), { size: newPageSize, page: newPage }));
789
- }
790
- });
1232
+ ngOnDestroy() {
1233
+ var _a;
1234
+ (_a = this._documentDefinitionNameSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
791
1235
  }
792
- sortChanged(newSortState) {
793
- this.pagination$.pipe(take(1)).subscribe(pagination => {
794
- if (pagination && JSON.stringify(pagination.sort) !== JSON.stringify(newSortState)) {
795
- this.logger.debug(`Sort state change: ${JSON.stringify(newSortState)}`);
796
- this.pagination$.next(Object.assign(Object.assign({}, pagination), { sort: newSortState }));
797
- }
798
- });
1236
+ search(searchFieldValues) {
1237
+ this.searchService.search(searchFieldValues);
799
1238
  }
800
1239
  rowClick(document) {
801
- this.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
1240
+ this.listService.documentDefinitionName$.pipe(take(1)).subscribe(documentDefinitionName => {
802
1241
  this.router.navigate([
803
1242
  `/dossiers/${documentDefinitionName}/document/${document.id}/${DefaultTabs.summary}`,
804
1243
  ]);
805
1244
  });
806
1245
  }
807
- startDossier() {
808
- this.associatedProcessDocumentDefinitions$
809
- .pipe(take(1))
810
- .subscribe(associatedProcessDocumentDefinitions => {
811
- if (associatedProcessDocumentDefinitions.length > 1) {
812
- $('#startProcess').modal('show');
813
- }
814
- else {
815
- this.selectedProcessDocumentDefinition = associatedProcessDocumentDefinitions[0];
816
- this.showStartProcessModal();
817
- }
818
- });
1246
+ pageChange(newPage) {
1247
+ this.paginationService.pageChange(newPage);
819
1248
  }
820
- selectProcess(processDocumentDefinition) {
821
- const modal = $('#startProcess');
822
- if (!this.modalListenerAdded) {
823
- modal.on('hidden.bs.modal', this.showStartProcessModal.bind(this));
824
- this.modalListenerAdded = true;
825
- }
826
- this.selectedProcessDocumentDefinition = processDocumentDefinition;
827
- modal.modal('hide');
1249
+ pageSizeChange(newPageSize) {
1250
+ this.paginationService.pageSizeChange(newPageSize);
828
1251
  }
829
- search(searchFieldValues) {
830
- this.searchFieldValues$.next(searchFieldValues || {});
831
- this.dossierParameterService.setSearchParameters(searchFieldValues);
1252
+ sortChanged(newSortState) {
1253
+ this.paginationService.sortChanged(newSortState);
832
1254
  }
833
1255
  tabChange(tab) {
834
- this.pagination$.pipe(take(1)).subscribe(pagination => {
835
- this.pagination$.next(Object.assign(Object.assign({}, pagination), { page: 1 }));
836
- });
837
- this.assigneeFilter$.next(tab.nextId.toUpperCase());
838
- }
839
- mapSearchValuesToFilters(values) {
840
- const filters = [];
841
- Object.keys(values).forEach(valueKey => {
842
- const searchValue = values[valueKey];
843
- if (searchValue.start) {
844
- filters.push({ key: valueKey, rangeFrom: searchValue.start, rangeTo: searchValue.end });
845
- }
846
- else if (Array.isArray(searchValue)) {
847
- filters.push({ key: valueKey, values: searchValue });
848
- }
849
- else {
850
- filters.push({ key: valueKey, values: [searchValue] });
851
- }
852
- });
853
- return filters;
854
- }
855
- resetPagination(documentDefinitionName) {
856
- this.settingPaginationForDocName$.pipe(take(1)).subscribe(settingPaginationForDocName => {
857
- if (documentDefinitionName !== settingPaginationForDocName) {
858
- this.pagination$.next(undefined);
859
- this.logger.debug('clear pagination');
860
- this.settingPaginationForDocName$.next(documentDefinitionName);
861
- this.setPagination(documentDefinitionName);
862
- }
863
- });
864
- }
865
- setPagination(documentDefinitionName) {
866
- combineLatest([
867
- this.hasStoredSearchRequest$,
868
- this.storedSearchRequestKey$,
869
- this.columns$,
870
- this.dossierParameterService.queryPaginationParams$,
871
- ])
872
- .pipe(take(1))
873
- .subscribe(([hasStoredSearchRequest, storedSearchRequestKey, columns, queryPaginationParams]) => {
874
- const defaultPagination = this.getDefaultPagination(columns);
875
- const storedPagination = this.getStoredPagination(hasStoredSearchRequest, storedSearchRequestKey);
876
- const paginationToUse = queryPaginationParams || storedPagination || defaultPagination;
877
- this.logger.debug(`Set pagination: ${JSON.stringify(paginationToUse)}`);
878
- this.pagination$.next(paginationToUse);
879
- });
880
- }
881
- getDefaultPagination(columns) {
882
- const defaultSortState = this.dossierService.getInitialSortState(columns);
883
- return Object.assign(Object.assign({}, this.DEFAULT_PAGINATION), { sort: defaultSortState });
1256
+ this.paginationService.setPage(1);
1257
+ this.assigneeService.setAssigneeFilter(tab.nextId.toUpperCase());
884
1258
  }
885
- getStoredPagination(hasStoredSearchRequest, storedSearchRequestKey) {
886
- const storedSearchRequest = hasStoredSearchRequest && JSON.parse(localStorage.getItem(storedSearchRequestKey));
887
- return (storedSearchRequest && Object.assign(Object.assign({}, this.DEFAULT_PAGINATION), { sort: storedSearchRequest.sort, page: storedSearchRequest.page + 1, size: storedSearchRequest.size }));
888
- }
889
- setCollectionSize(documents) {
890
- this.pagination$.pipe(take(1)).subscribe(pagination => {
891
- if (pagination.collectionSize !== documents.totalElements) {
892
- this.pagination$.next(Object.assign(Object.assign({}, pagination), { collectionSize: documents.totalElements }));
1259
+ refresh() {
1260
+ this.searchService.refresh();
1261
+ }
1262
+ openDocumentDefinitionNameSubscription() {
1263
+ this._documentDefinitionNameSubscription = this.route.params
1264
+ .pipe(map(params => params === null || params === void 0 ? void 0 : params.documentDefinitionName), filter(docDefName => !!docDefName), distinctUntilChanged())
1265
+ .subscribe(documentDefinitonName => {
1266
+ if (this._previousDocumentDefinitionName) {
1267
+ this.parameterService.clearParameters();
1268
+ this.parameterService.clearSearchFieldValues();
893
1269
  }
1270
+ this._previousDocumentDefinitionName = documentDefinitonName;
1271
+ this.setLoading();
1272
+ this.paginationService.clearPagination();
1273
+ this.assigneeService.resetAssigneeFilter();
1274
+ this.listService.setDocumentDefinitionName(documentDefinitonName);
894
1275
  });
895
1276
  }
896
- showStartProcessModal() {
897
- if (this.selectedProcessDocumentDefinition !== null) {
898
- this.processStart.openModal(this.selectedProcessDocumentDefinition);
899
- this.selectedProcessDocumentDefinition = null;
900
- }
901
- }
902
- checkPage(documents) {
903
- this.pagination$.pipe(take(1)).subscribe(pagination => {
904
- const amountOfItems = documents.totalElements;
905
- const amountOfPages = Math.ceil(amountOfItems / pagination.size);
906
- const currentPage = pagination.page;
907
- if (currentPage > amountOfPages) {
908
- this.pagination$.next(Object.assign(Object.assign({}, pagination), { page: amountOfPages }));
909
- }
910
- });
1277
+ setLoading() {
1278
+ this.loadingFields = true;
1279
+ this.loadingPagination = true;
1280
+ this.loadingSearchFields = true;
1281
+ this.loadingAssigneeFilter = true;
1282
+ this.loadingDocumentItems = true;
911
1283
  }
912
- setSearchFieldParametersInComponent() {
913
- this.dossierParameterService.querySearchParams$.pipe(take(1)).subscribe(values => {
914
- if (Object.keys(values || {}).length > 0) {
915
- setTimeout(() => {
916
- this.setSearchFieldValuesSubject$.next(values);
917
- });
918
- }
919
- });
1284
+ setVisibleTabs() {
1285
+ var _a;
1286
+ this.visibleDossierTabs = ((_a = this.configService.config) === null || _a === void 0 ? void 0 : _a.visibleDossierListTabs) || null;
920
1287
  }
921
1288
  }
922
- DossierListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2.DocumentService }, { token: i6$1.TranslateService }, { token: DossierService }, { token: i5.NGXLogger }, { token: i1.ConfigService }, { token: DossierColumnService }, { token: DossierParameterService }], target: i0.ɵɵFactoryTarget.Component });
923
- DossierListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DossierListComponent, selector: "valtimo-dossier-list", providers: [DossierParameterService], 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 class=\"main-content pt-0\" *ngIf=\"{loading: loading$ | async} as obs\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <div\n *ngIf=\"\n associatedProcessDocumentDefinitions$ | async as associatedProcessDocumentDefinitions\n \"\n >\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 || obs.loading\"\n >\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'Start Dossier' | translate }}\n </button>\n </div>\n\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\">&times;</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 <valtimo-spinner *ngIf=\"obs.loading\"></valtimo-spinner>\n <ng-container *ngTemplateOutlet=\"searchFields\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n <valtimo-dossier-process-start-modal #processStartModal></valtimo-dossier-process-start-modal>\n</div>\n\n<ng-template #searchFields>\n <div class=\"mb-3\">\n <valtimo-search-fields\n [loading]=\"loadingDocumentSearchFields$ | async\"\n [searchFields]=\"documentSearchFields$ | async\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [setValuesSubject$]=\"setSearchFieldValuesSubject$\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <ng-container *ngIf=\"paginationCopy$ | async as pagination\">\n <ng-container *ngIf=\"fields$ | async as fields\">\n <ng-container *ngIf=\"documentItems$ | async as documentItems\">\n <valtimo-widget *ngIf=\"obs.loading === false\">\n <valtimo-list\n [items]=\"documentItems\"\n [fields]=\"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 {{ (schema$ | async)?.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$ | async\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li\n *ngFor=\"let tab of dossierVisibleTabs\"\n [ngbNavItem]=\"tab\"\n [title]=\"'dossier.tabs.' + tab | translate\"\n >\n <a ngbNavLink>{{ 'dossier.tabs.' + tab | translate }}</a>\n </li>\n </ul>\n</ng-template>\n\n<ng-template #tabs>\n <ul\n *ngIf=\"dossierVisibleTabs === null; else configuredTabs\"\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\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-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i5$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i9.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i9.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "directive", type: i10.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: i9.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$"], outputs: ["doSearch"] }, { kind: "directive", type: i10.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i10.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i10.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "component", type: DossierProcessStartModalComponent, selector: "valtimo-dossier-process-start-modal" }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
1289
+ DossierListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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 }], target: i0.ɵɵFactoryTarget.Component });
1290
+ DossierListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DossierListComponent, selector: "valtimo-dossier-list", providers: [
1291
+ DossierListService,
1292
+ DossierColumnService,
1293
+ DossierListAssigneeService,
1294
+ DossierParameterService,
1295
+ DossierListPaginationService,
1296
+ DossierListSearchService,
1297
+ ], 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 {{ obs.schema?.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: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i8.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i8.SearchFieldsComponent, selector: "valtimo-search-fields", inputs: ["loading", "searchFields", "documentDefinitionName", "setValuesSubject$", "defaultValues"], outputs: ["doSearch"] }, { kind: "directive", type: i8$1.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i8$1.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i8$1.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "component", type: DossierListActionsComponent, selector: "valtimo-dossier-list-actions", inputs: ["loading"], outputs: ["formFlowComplete"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
924
1298
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierListComponent, decorators: [{
925
1299
  type: Component,
926
- args: [{ selector: 'valtimo-dossier-list', providers: [DossierParameterService], 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 pt-0\" *ngIf=\"{loading: loading$ | async} as obs\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <div\n *ngIf=\"\n associatedProcessDocumentDefinitions$ | async as associatedProcessDocumentDefinitions\n \"\n >\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 || obs.loading\"\n >\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'Start Dossier' | translate }}\n </button>\n </div>\n\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\">&times;</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 <valtimo-spinner *ngIf=\"obs.loading\"></valtimo-spinner>\n <ng-container *ngTemplateOutlet=\"searchFields\"></ng-container>\n <ng-container *ngTemplateOutlet=\"list; context: {obs: obs}\"></ng-container>\n </div>\n </div>\n <valtimo-dossier-process-start-modal #processStartModal></valtimo-dossier-process-start-modal>\n</div>\n\n<ng-template #searchFields>\n <div class=\"mb-3\">\n <valtimo-search-fields\n [loading]=\"loadingDocumentSearchFields$ | async\"\n [searchFields]=\"documentSearchFields$ | async\"\n (doSearch)=\"search($event)\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [setValuesSubject$]=\"setSearchFieldValuesSubject$\"\n ></valtimo-search-fields>\n </div>\n</ng-template>\n\n<ng-template #list let-obs=\"obs\">\n <ng-container *ngIf=\"paginationCopy$ | async as pagination\">\n <ng-container *ngIf=\"fields$ | async as fields\">\n <ng-container *ngIf=\"documentItems$ | async as documentItems\">\n <valtimo-widget *ngIf=\"obs.loading === false\">\n <valtimo-list\n [items]=\"documentItems\"\n [fields]=\"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 {{ (schema$ | async)?.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$ | async\">\n <ng-container *ngTemplateOutlet=\"tabs\"></ng-container>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #configuredTabs>\n <ul ngbNav [destroyOnHide]=\"false\" (navChange)=\"tabChange($event)\" class=\"nav-tabs\">\n <li\n *ngFor=\"let tab of dossierVisibleTabs\"\n [ngbNavItem]=\"tab\"\n [title]=\"'dossier.tabs.' + tab | translate\"\n >\n <a ngbNavLink>{{ 'dossier.tabs.' + tab | translate }}</a>\n </li>\n </ul>\n</ng-template>\n\n<ng-template #tabs>\n <ul\n *ngIf=\"dossierVisibleTabs === null; else configuredTabs\"\n ngbNav\n [destroyOnHide]=\"false\"\n (navChange)=\"tabChange($event)\"\n class=\"nav-tabs\"\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-template>\n" }]
927
- }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2.DocumentService }, { type: i6$1.TranslateService }, { type: DossierService }, { type: i5.NGXLogger }, { type: i1.ConfigService }, { type: DossierColumnService }, { type: DossierParameterService }]; }, propDecorators: { processStart: [{
928
- type: ViewChild,
929
- args: ['processStartModal']
930
- }] } });
1300
+ args: [{ selector: 'valtimo-dossier-list', providers: [
1301
+ DossierListService,
1302
+ DossierColumnService,
1303
+ DossierListAssigneeService,
1304
+ DossierParameterService,
1305
+ DossierListPaginationService,
1306
+ DossierListSearchService,
1307
+ ], 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 {{ obs.schema?.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" }]
1308
+ }], 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 }]; } });
931
1309
 
932
1310
  /*
933
1311
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -1028,12 +1406,12 @@ class DossierDetailTabSummaryComponent {
1028
1406
  this.taskDetail.openTaskDetails(task);
1029
1407
  }
1030
1408
  }
1031
- DossierDetailTabSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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$2.FormService }, { token: i6.UserProviderService }], target: i0.ɵɵFactoryTarget.Component });
1032
- DossierDetailTabSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i9.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: i10.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
1409
+ DossierDetailTabSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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.FormService }, { token: i6$1.UserProviderService }], target: i0.ɵɵFactoryTarget.Component });
1410
+ DossierDetailTabSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i8.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$1.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 });
1033
1411
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabSummaryComponent, decorators: [{
1034
1412
  type: Component,
1035
1413
  args: [{ selector: 'valtimo-dossier-detail-tab-summary', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"container-fluid\">\n <div class=\"row py-4\">\n <div class=\"col-sm-12 col-md-8 col-xl-9\">\n <div *ngIf=\"document\">\n <div *ngIf=\"formDefinition\" class=\"summaryForm\">\n <div class=\"mb-4\">\n <valtimo-form-io [form]=\"formDefinition\" [options]=\"options\"></valtimo-form-io>\n </div>\n </div>\n </div>\n </div>\n\n <!--Current user tasks right side-->\n <div class=\"col-sm-12 col-md-4 col-xl-3\">\n <h4 class=\"user-tasks-title\">{{ 'summary.userTasks' | translate }}</h4>\n <ng-container *ngIf=\"!tasks.length\">\n <valtimo-widget>\n <div class=\"p-3\">\n <img class=\"float-left\" src=\"assets/audit-2.png\" height=\"25\" />\n <span class=\"float-right\">{{ 'summary.userTasksDoneState' | translate }}</span>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </ng-container>\n <ng-container *ngFor=\"let task of tasks\">\n <valtimo-widget>\n <div\n class=\"p-3 clickable hoverable\"\n (click)=\"rowTaskClick(task)\"\n *ngIf=\"!task.isLocked()\"\n >\n <span class=\"float-right badge badge-pill badge-primary\">{{\n 'summary.taskOpen' | translate\n }}</span>\n <strong>{{ task.name }}</strong>\n <div class=\"mt-1\">{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n <div class=\"p-3 hoverable\" *ngIf=\"task.isLocked()\">\n <span\n class=\"float-right badge badge-pill badge-secondary bg-grey\"\n ngbTooltip=\"{{ 'summary.taskLocked' | translate }}\"\n >\n <i class=\"icon mdi mdi-lock\"></i>\n </span>\n <strong>{{ task.name }}</strong>\n <div>{{ 'summary.taskCreated' | translate }} {{ task.created }}</div>\n </div>\n </valtimo-widget>\n </ng-container>\n <valtimo-task-detail-modal\n #taskDetail\n (formSubmit)=\"init()\"\n (assignmentOfTaskChanged)=\"init()\"\n ></valtimo-task-detail-modal>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.hoverable:hover{background-color:#eee}.summaryForm .formio-component{margin-bottom:0!important}.summaryForm .formio-component div[ref=element] .form-control{height:24px!important;background-color:#fff;border:0px;margin:0;padding:0!important;font-size:13px}.summaryForm .formio-field div[ref=element] .form-control{font-weight:400}.summaryForm .formio-value div[ref=element] .form-control{font-weight:700}.user-tasks-title{margin-top:0;margin-bottom:12px;font-weight:400;color:#000;height:20px}\n"] }]
1036
- }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.DocumentService }, { type: i3.TaskService }, { type: i2$2.ProcessService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$1.ActivatedRoute }, { type: i5$2.FormService }, { type: i6.UserProviderService }]; }, propDecorators: { taskDetail: [{
1414
+ }], 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.FormService }, { type: i6$1.UserProviderService }]; }, propDecorators: { taskDetail: [{
1037
1415
  type: ViewChild,
1038
1416
  args: ['taskDetail']
1039
1417
  }] } });
@@ -1075,7 +1453,7 @@ class DossierDetailTabProgressComponent {
1075
1453
  }
1076
1454
  }
1077
1455
  DossierDetailTabProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabProgressComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component });
1078
- DossierDetailTabProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.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$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
1456
+ DossierDetailTabProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.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$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
1079
1457
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabProgressComponent, decorators: [{
1080
1458
  type: Component,
1081
1459
  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"] }]
@@ -1138,7 +1516,7 @@ class DossierDetailTabAuditComponent {
1138
1516
  }
1139
1517
  }
1140
1518
  DossierDetailTabAuditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabAuditComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3$1.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Component });
1141
- DossierDetailTabAuditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.TimelineComponent, selector: "valtimo-timeline", inputs: ["items"] }, { kind: "component", type: i9.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i10.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
1519
+ DossierDetailTabAuditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.TimelineComponent, selector: "valtimo-timeline", inputs: ["items"] }, { kind: "component", type: i8.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i8$1.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
1142
1520
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabAuditComponent, decorators: [{
1143
1521
  type: Component,
1144
1522
  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"] }]
@@ -1182,13 +1560,6 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1182
1560
  { key: 'createdOn', label: 'Created on' },
1183
1561
  { key: 'createdBy', label: 'Created by' },
1184
1562
  ];
1185
- this.actions = [
1186
- {
1187
- columnName: '',
1188
- iconClass: 'mdi mdi-open-in-new',
1189
- callback: this.downloadDocument.bind(this),
1190
- },
1191
- ];
1192
1563
  this.uploadProcessLinkedSet = false;
1193
1564
  this.uploading$ = new BehaviorSubject(false);
1194
1565
  this.showModal$ = new Subject();
@@ -1210,6 +1581,7 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1210
1581
  this.showZaakLinkWarning = true;
1211
1582
  return of([]);
1212
1583
  }));
1584
+ this.downloadingFileIndexes$ = new BehaviorSubject([]);
1213
1585
  const snapshot = this.route.snapshot.paramMap;
1214
1586
  this.documentId = snapshot.get('documentId') || '';
1215
1587
  this.documentDefinitionName = snapshot.get('documentDefinitionName') || '';
@@ -1223,8 +1595,14 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1223
1595
  this.fileToBeUploaded$.next(file);
1224
1596
  this.showModal$.next(null);
1225
1597
  }
1226
- downloadDocument(relatedFile) {
1227
- this.downloadService.downloadFile(`/api/v1/documenten-api/${relatedFile.pluginConfigurationId}/files/${relatedFile.fileId}/download`, relatedFile.fileName);
1598
+ downloadDocument(relatedFile, index) {
1599
+ this.downloadingFileIndexes$.pipe(take$1(1)).subscribe(indexes => {
1600
+ this.downloadingFileIndexes$.next([...indexes, index]);
1601
+ const finished$ = this.downloadService.downloadFile(`/api/v1/documenten-api/${relatedFile.pluginConfigurationId}/files/${relatedFile.fileId}/download`, relatedFile.fileName);
1602
+ finished$.pipe(take$1(1)).subscribe(() => {
1603
+ this.downloadingFileIndexes$.next(this.downloadingFileIndexes$.getValue().filter(downloadIndex => downloadIndex !== index));
1604
+ });
1605
+ });
1228
1606
  }
1229
1607
  metadataSet(metadata) {
1230
1608
  this.uploading$.next(true);
@@ -1242,6 +1620,9 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1242
1620
  }))
1243
1621
  .subscribe();
1244
1622
  }
1623
+ indexesIncludeIndex(indexes, index) {
1624
+ return indexes.includes(index);
1625
+ }
1245
1626
  isUserAdmin() {
1246
1627
  this.userProviderService.getUserSubject().subscribe(userIdentity => {
1247
1628
  this.isAdmin = userIdentity.roles.includes('ROLE_ADMIN');
@@ -1261,12 +1642,12 @@ class DossierDetailTabDocumentenApiDocumentsComponent {
1261
1642
  });
1262
1643
  }
1263
1644
  }
1264
- DossierDetailTabDocumentenApiDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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$1.TranslateService }, { token: i1.ConfigService }, { token: i6.UserProviderService }, { token: FileSortService }], target: i0.ɵɵFactoryTarget.Component });
1265
- DossierDetailTabDocumentenApiDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 (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 [actions]=\"actions\"\n [fields]=\"fields\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [items]=\"relatedFiles$ | async\"\n [viewMode]=\"true\"\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</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", 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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i9.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "directive", type: i6$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i9.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: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
1645
+ DossierDetailTabDocumentenApiDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3$2.ToastrService }, { token: i4$2.UploadProviderService }, { token: i4$2.DownloadService }, { token: i3$3.PromptService }, { token: i6.TranslateService }, { token: i1.ConfigService }, { token: i6$1.UserProviderService }, { token: FileSortService }], target: i0.ɵɵFactoryTarget.Component });
1646
+ DossierDetailTabDocumentenApiDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 <ibm-loading></ibm-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 ibmButton=\"primary\"\n size=\"sm\"\n (click)=\"downloadDocument(item, index)\"\n >\n {{ 'interface.download' | translate\n }}<svg class=\"cds--btn__icon\" ibmIcon=\"download\" size=\"16\"></svg>\n </button>\n <ibm-loading size=\"sm\" *ngIf=\"vars.isDownloading\"></ibm-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: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i8.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: i8.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i8.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: "ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "directive", type: i12.Button, selector: "[ibmButton]", inputs: ["ibmButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i12.IconDirective, selector: "[ibmIcon]", inputs: ["ibmIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
1266
1647
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabDocumentenApiDocumentsComponent, decorators: [{
1267
1648
  type: Component,
1268
- args: [{ selector: 'valtimo-dossier-detail-tab-documenten-api-documents', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{loading: loading$ | async} as obs\">\n <div *ngIf=\"uploadProcessLinkedSet && !uploadProcessLinked\">\n <div\n *ngIf=\"isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <div *ngIf=\"showZaakLinkWarning\">\n <div\n [translate]=\"'dossier.documenten.noZaakFound'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [camera]=\"false\"\n [disabled]=\"\n !uploadProcessLinkedSet || !uploadProcessLinked || obs.loading || showZaakLinkWarning\n \"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"true\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n\n <valtimo-widget>\n <valtimo-list\n [actions]=\"actions\"\n [fields]=\"fields\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [items]=\"relatedFiles$ | async\"\n [viewMode]=\"true\"\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</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", 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"] }]
1269
- }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$2.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i3$3.PromptService }, { type: i6$1.TranslateService }, { type: i1.ConfigService }, { type: i6.UserProviderService }, { type: FileSortService }]; } });
1649
+ 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 <ibm-loading></ibm-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 ibmButton=\"primary\"\n size=\"sm\"\n (click)=\"downloadDocument(item, index)\"\n >\n {{ 'interface.download' | translate\n }}<svg class=\"cds--btn__icon\" ibmIcon=\"download\" size=\"16\"></svg>\n </button>\n <ibm-loading size=\"sm\" *ngIf=\"vars.isDownloading\"></ibm-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"] }]
1650
+ }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$2.ToastrService }, { type: i4$2.UploadProviderService }, { type: i4$2.DownloadService }, { type: i3$3.PromptService }, { type: i6.TranslateService }, { type: i1.ConfigService }, { type: i6$1.UserProviderService }, { type: FileSortService }]; } });
1270
1651
 
1271
1652
  /*
1272
1653
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -1379,12 +1760,12 @@ class DossierDetailTabS3DocumentsComponent {
1379
1760
  this.refetch$.next(null);
1380
1761
  }
1381
1762
  }
1382
- DossierDetailTabS3DocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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$1.TranslateService }, { token: i1.ConfigService }, { token: FileSortService }], target: i0.ɵɵFactoryTarget.Component });
1383
- DossierDetailTabS3DocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i9.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i9.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i9.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
1763
+ DossierDetailTabS3DocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2.DocumentService }, { token: i3$2.ToastrService }, { token: i4$2.UploadProviderService }, { token: i4$2.DownloadService }, { token: i3$3.PromptService }, { token: i6.TranslateService }, { token: i1.ConfigService }, { token: FileSortService }], target: i0.ɵɵFactoryTarget.Component });
1764
+ DossierDetailTabS3DocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i8.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState", "lastColumnTemplate"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }, { kind: "component", type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i8.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
1384
1765
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabS3DocumentsComponent, decorators: [{
1385
1766
  type: Component,
1386
1767
  args: [{ selector: 'valtimo-dossier-detail-tab-s3-documents', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"acceptedFiles\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"true\"\n [maxFileSize]=\"maxFileSize\"\n [showMaxFileSize]=\"true\"\n [camera]=\"false\"\n [uploading]=\"uploading$ | async\"\n></valtimo-dropzone>\n\n<valtimo-widget>\n <valtimo-list\n [fields]=\"fields\"\n [items]=\"relatedFiles$ | async\"\n [header]=\"true\"\n [isSearchable]=\"true\"\n [viewMode]=\"true\"\n [actions]=\"actions\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Related documents' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all documents in this dossier' | translate }}\n </h5>\n </div>\n </valtimo-list>\n</valtimo-widget>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
1387
- }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$2.ToastrService }, { type: i4$1.UploadProviderService }, { type: i4$1.DownloadService }, { type: i3$3.PromptService }, { type: i6$1.TranslateService }, { type: i1.ConfigService }, { type: FileSortService }]; } });
1768
+ }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i2.DocumentService }, { type: i3$2.ToastrService }, { type: i4$2.UploadProviderService }, { type: i4$2.DownloadService }, { type: i3$3.PromptService }, { type: i6.TranslateService }, { type: i1.ConfigService }, { type: FileSortService }]; } });
1388
1769
 
1389
1770
  /*
1390
1771
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -1414,7 +1795,7 @@ class DossierDetailTabDocumentsComponent {
1414
1795
  }
1415
1796
  }
1416
1797
  DossierDetailTabDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabDocumentsComponent, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
1417
- DossierDetailTabDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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$1.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" }] });
1798
+ DossierDetailTabDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.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" }] });
1418
1799
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabDocumentsComponent, decorators: [{
1419
1800
  type: Component,
1420
1801
  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" }]
@@ -1543,7 +1924,7 @@ class DossierDetailTabObjectTypeComponent {
1543
1924
  }
1544
1925
  }
1545
1926
  DossierDetailTabObjectTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabObjectTypeComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3$3.ModalService }], target: i0.ɵɵFactoryTarget.Component });
1546
- DossierDetailTabObjectTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.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$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
1927
+ DossierDetailTabObjectTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.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: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
1547
1928
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabObjectTypeComponent, decorators: [{
1548
1929
  type: Component,
1549
1930
  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"] }]
@@ -1643,12 +2024,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1643
2024
  * limitations under the License.
1644
2025
  */
1645
2026
  class DossierSupportingProcessStartModalComponent {
1646
- constructor(route, router, processService, documentService, formLinkService, logger, userProviderService) {
2027
+ constructor(route, router, processService, processLinkService, documentService, formLinkService, formFlowService, logger, userProviderService) {
1647
2028
  this.route = route;
1648
2029
  this.router = router;
1649
2030
  this.processService = processService;
2031
+ this.processLinkService = processLinkService;
1650
2032
  this.documentService = documentService;
1651
2033
  this.formLinkService = formLinkService;
2034
+ this.formFlowService = formFlowService;
1652
2035
  this.logger = logger;
1653
2036
  this.userProviderService = userProviderService;
1654
2037
  this.isAdmin$ = this.userProviderService
@@ -1656,47 +2039,85 @@ class DossierSupportingProcessStartModalComponent {
1656
2039
  .pipe(map$1(userIdentity => { var _a; return (_a = userIdentity === null || userIdentity === void 0 ? void 0 : userIdentity.roles) === null || _a === void 0 ? void 0 : _a.includes('ROLE_ADMIN'); }));
1657
2040
  this.formSubmit = new EventEmitter();
1658
2041
  }
1659
- loadFormDefinition() {
2042
+ loadProcessLink() {
2043
+ this.formAssociation = null;
2044
+ this.processLinkId = null;
1660
2045
  this.formDefinition = null;
1661
- this.formLinkService
1662
- .getStartEventFormDefinitionByProcessDefinitionKey(this.processDefinitionKey)
1663
- .subscribe(formDefinition => {
1664
- this.formAssociation = formDefinition.formAssociation;
1665
- const className = this.formAssociation.formLink.className.split('.');
1666
- const linkType = className[className.length - 1];
1667
- switch (linkType) {
1668
- case 'BpmnElementFormIdLink':
1669
- this.formDefinition = formDefinition;
1670
- this.documentService.getDocument(this.documentId).subscribe(document => {
1671
- this.submission = {
1672
- data: document.content,
1673
- };
1674
- }, () => noop());
1675
- this.modal.show();
1676
- break;
1677
- case 'BpmnElementUrlLink':
1678
- const url = this.router.serializeUrl(this.router.createUrlTree([formDefinition.formAssociation.formLink.url]));
1679
- window.open(url, '_blank');
1680
- break;
1681
- case 'BpmnElementAngularStateUrlLink':
1682
- this.route.params.pipe(take$1(1)).subscribe(params => {
1683
- const documentId = params === null || params === void 0 ? void 0 : params.documentId;
1684
- this.router.navigate([formDefinition.formAssociation.formLink.url], {
1685
- state: Object.assign({}, (documentId && { documentId })),
1686
- });
1687
- });
1688
- break;
1689
- default:
1690
- this.logger.fatal('Unsupported class name');
2046
+ this.formFlowInstanceId = null;
2047
+ this.processService
2048
+ .getProcessDefinitionStartProcessLink(this.processDefinitionId, this.documentId, null)
2049
+ .pipe(take$1(1))
2050
+ .subscribe(startProcessResult => {
2051
+ if (startProcessResult) {
2052
+ switch (startProcessResult.type) {
2053
+ case 'form':
2054
+ this.formDefinition = startProcessResult.properties.prefilledForm;
2055
+ this.processLinkId = startProcessResult.processLinkId;
2056
+ break;
2057
+ case 'form-flow':
2058
+ this.formFlowInstanceId = startProcessResult.properties.formFlowInstanceId;
2059
+ break;
2060
+ }
2061
+ this.modal.show();
2062
+ }
2063
+ else {
2064
+ // backwards compatibility for form associations
2065
+ this.formLinkService
2066
+ .getStartEventFormDefinitionByProcessDefinitionKey(this.processDefinitionKey, this.documentId)
2067
+ .pipe(take$1(1))
2068
+ .subscribe({
2069
+ next: formDefinitionWithFormAssociation => this.openFormAssociation(formDefinitionWithFormAssociation),
2070
+ error: error => {
2071
+ this.modal.show();
2072
+ },
2073
+ });
1691
2074
  }
1692
- }, errors => {
1693
- this.modal.show();
1694
2075
  });
1695
2076
  }
2077
+ openFormAssociation(formDefinitionWithFormAssociation) {
2078
+ this.formAssociation = formDefinitionWithFormAssociation.formAssociation;
2079
+ const className = this.formAssociation.formLink.className.split('.');
2080
+ const linkType = className[className.length - 1];
2081
+ switch (linkType) {
2082
+ case 'BpmnElementFormIdLink':
2083
+ this.formDefinition = formDefinitionWithFormAssociation;
2084
+ this.documentService.getDocument(this.documentId).subscribe(document => {
2085
+ this.submission = {
2086
+ data: document.content,
2087
+ };
2088
+ }, () => noop());
2089
+ this.modal.show();
2090
+ break;
2091
+ case 'BpmnElementFormFlowIdLink':
2092
+ this.formFlowService
2093
+ .createInstanceForNewProcess(this.processDefinitionKey, {
2094
+ documentId: this.documentId,
2095
+ documentDefinitionName: null,
2096
+ })
2097
+ .subscribe(result => (this.formFlowInstanceId = result.formFlowInstanceId));
2098
+ this.modal.show();
2099
+ break;
2100
+ case 'BpmnElementUrlLink':
2101
+ const url = this.router.serializeUrl(this.router.createUrlTree([this.formAssociation.formLink.url]));
2102
+ window.open(url, '_blank');
2103
+ break;
2104
+ case 'BpmnElementAngularStateUrlLink':
2105
+ this.route.params.pipe(take$1(1)).subscribe(params => {
2106
+ const documentId = params === null || params === void 0 ? void 0 : params.documentId;
2107
+ this.router.navigate([this.formAssociation.formLink.url], {
2108
+ state: Object.assign({}, (documentId && { documentId })),
2109
+ });
2110
+ });
2111
+ break;
2112
+ default:
2113
+ this.logger.fatal('Unsupported class name');
2114
+ }
2115
+ }
1696
2116
  openModal(processDocumentDefinition, documentId) {
1697
2117
  this.documentId = documentId;
1698
2118
  this.documentDefinitionName = processDocumentDefinition.id.documentDefinitionId.name;
1699
2119
  this.processDefinitionKey = processDocumentDefinition.id.processDefinitionKey;
2120
+ this.processDefinitionId = processDocumentDefinition.latestVersionId;
1700
2121
  this.processName = processDocumentDefinition.processName;
1701
2122
  this.options = new FormioOptionsImpl();
1702
2123
  this.options.disableAlerts = true;
@@ -1704,30 +2125,47 @@ class DossierSupportingProcessStartModalComponent {
1704
2125
  callback(null, submission);
1705
2126
  };
1706
2127
  this.options.setHooks(formioBeforeSubmit);
1707
- this.loadFormDefinition();
2128
+ this.loadProcessLink();
1708
2129
  }
1709
2130
  onSubmit(submission) {
1710
2131
  this.formioSubmission = submission;
1711
- this.formLinkService
1712
- .onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data, this.documentId)
1713
- .subscribe((formSubmissionResult) => {
1714
- this.modal.hide();
1715
- this.formSubmit.emit();
1716
- }, errors => {
1717
- this.form.showErrors(errors);
1718
- });
2132
+ if (this.processLinkId) {
2133
+ this.processLinkService
2134
+ .submitForm(this.processLinkId, submission.data, this.documentId)
2135
+ .subscribe({
2136
+ next: (formSubmissionResult) => {
2137
+ this.formSubmitted();
2138
+ },
2139
+ error: errors => {
2140
+ this.form.showErrors(errors);
2141
+ },
2142
+ });
2143
+ }
2144
+ else {
2145
+ this.formLinkService
2146
+ .onSubmit(this.processDefinitionKey, this.formAssociation.formLink.id, submission.data, this.documentId)
2147
+ .subscribe((formSubmissionResult) => {
2148
+ this.formSubmitted();
2149
+ }, errors => {
2150
+ this.form.showErrors(errors);
2151
+ });
2152
+ }
2153
+ }
2154
+ formSubmitted() {
2155
+ this.modal.hide();
2156
+ this.formSubmit.emit();
1719
2157
  }
1720
2158
  gotoFormLinkScreen() {
1721
2159
  this.modal.hide();
1722
2160
  this.router.navigate(['form-links'], { queryParams: { process: this.processDefinitionKey } });
1723
2161
  }
1724
2162
  }
1725
- DossierSupportingProcessStartModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i2$2.ProcessService }, { token: i2.DocumentService }, { token: i4.FormLinkService }, { token: i5.NGXLogger }, { token: i6.UserProviderService }], target: i0.ɵɵFactoryTarget.Component });
1726
- DossierSupportingProcessStartModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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=\"!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"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i9.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
2163
+ DossierSupportingProcessStartModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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 });
2164
+ DossierSupportingProcessStartModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.FormioComponent, selector: "valtimo-form-io", inputs: ["form", "options", "submission", "readOnly", "formRefresh$"], outputs: ["submit", "change"] }, { kind: "component", type: i8.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: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
1727
2165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierSupportingProcessStartModalComponent, decorators: [{
1728
2166
  type: Component,
1729
- args: [{ selector: 'valtimo-dossier-supporting-process-start-modal', encapsulation: ViewEncapsulation.None, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal\n #supportingProcessStartModal\n elementId=\"supportingProcessStartModal\"\n [title]=\"\n (processDefinitionKey | translate) !== processDefinitionKey\n ? (processDefinitionKey | translate)\n : processName\n \"\n>\n <div body *ngIf=\"formDefinition\">\n <valtimo-form-io\n #form\n [submission]=\"submission\"\n [form]=\"formDefinition\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n </div>\n <div body *ngIf=\"!formDefinition\">\n <div class=\"bg-warning text-black mb-0 p-3 text-center\">\n {{\n (isAdmin$ | async)\n ? ('formManagement.noFormDefinitionFoundAdmin' | translate)\n : ('formManagement.noFormDefinitionFoundUser' | translate)\n }}\n </div>\n <div class=\"mb-0 mt-4 p-3 text-center\">\n <button\n class=\"btn btn-secondary btn-space\"\n type=\"button\"\n (click)=\"gotoFormLinkScreen()\"\n id=\"form-link-button\"\n >\n {{ 'formManagement.gotoFormLinksButton' | translate }}\n </button>\n </div>\n </div>\n</valtimo-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */#supportingProcessStartModal .formio-component-submit{text-align:right}\n"] }]
1730
- }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i2.DocumentService }, { type: i4.FormLinkService }, { type: i5.NGXLogger }, { type: i6.UserProviderService }]; }, propDecorators: { form: [{
2167
+ 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"] }]
2168
+ }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i2$2.ProcessService }, { type: i4.ProcessLinkService }, { type: i2.DocumentService }, { type: i4.FormLinkService }, { type: i4.FormFlowService }, { type: i1$2.NGXLogger }, { type: i6$1.UserProviderService }]; }, propDecorators: { form: [{
1731
2169
  type: ViewChild,
1732
2170
  args: ['form', { static: false }]
1733
2171
  }], modal: [{
@@ -1839,7 +2277,7 @@ class DossierAssignUserComponent {
1839
2277
  }
1840
2278
  }
1841
2279
  DossierAssignUserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierAssignUserComponent, deps: [{ token: i2.DocumentService }], target: i0.ɵɵFactoryTarget.Component });
1842
- DossierAssignUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName" }, 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 [disabled]=\"obs.disabled\"\n id=\"dossier-candidates-dropdown\"\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignDocument.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasSelection]=\"\n userIdToAssign === obs.idOnServer && obs.idOnServer !== null && obs.fullName\n \"\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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
2280
+ DossierAssignUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DossierAssignUserComponent, selector: "valtimo-dossier-assign-user", inputs: { documentId: "documentId", assigneeId: "assigneeId", assigneeFullName: "assigneeFullName" }, 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 [disabled]=\"obs.disabled\"\n id=\"dossier-candidates-dropdown\"\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignDocument.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasSelection]=\"\n userIdToAssign === obs.idOnServer && obs.idOnServer !== null && obs.fullName\n \"\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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.SearchableDropdownSelectComponent, selector: "valtimo-searchable-dropdown-select", inputs: ["style", "items", "buttonText", "searchText", "noResultsText", "disabled", "selectedText", "selectedTextValue", "clearSelectionButtonTitle", "hasSelection", "width"], outputs: ["itemSelected", "clearSelection"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
1843
2281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierAssignUserComponent, decorators: [{
1844
2282
  type: Component,
1845
2283
  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 [disabled]=\"obs.disabled\"\n id=\"dossier-candidates-dropdown\"\n [style]=\"'underlinedText'\"\n [items]=\"mapUsersForDropdown(obs.candidateUsers)\"\n [buttonText]=\"'assignDocument.header' | translate\"\n [searchText]=\"'interface.typeToSearch' | translate\"\n [noResultsText]=\"'interface.noSearchResults' | translate\"\n [selectedText]=\"'assignDocument.assignedTo' | translate\"\n [selectedTextValue]=\"assignedUserFullName$ | async\"\n [clearSelectionButtonTitle]=\"'assignDocument.remove' | translate\"\n [hasSelection]=\"\n userIdToAssign === obs.idOnServer && obs.idOnServer !== null && obs.fullName\n \"\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"] }]
@@ -1986,12 +2424,12 @@ class DossierDetailComponent {
1986
2424
  return prefix + string;
1987
2425
  }
1988
2426
  }
1989
- DossierDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailComponent, deps: [{ token: i0.ComponentFactoryResolver }, { token: i6$1.TranslateService }, { token: i2.DocumentService }, { token: i2$2.ProcessService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i5$1.Location }, { token: TabService }, { token: i1.ConfigService }, { token: i8.KeycloakService }, { token: i5.NGXLogger }], target: i0.ɵɵFactoryTarget.Component });
1990
- DossierDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "directive", type: i10.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"], outputs: ["assignmentOfDocumentChanged"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
2427
+ DossierDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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: i4$1.Location }, { token: TabService }, { token: i1.ConfigService }, { token: i8$2.KeycloakService }, { token: i1$2.NGXLogger }], target: i0.ɵɵFactoryTarget.Component });
2428
+ DossierDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "directive", type: i8$1.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"], outputs: ["assignmentOfDocumentChanged"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
1991
2429
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailComponent, decorators: [{
1992
2430
  type: Component,
1993
2431
  args: [{ selector: 'valtimo-dossier-detail', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-header bg-light card-header-divider pb-2\">\n <div\n class=\"row\"\n *ngIf=\"{canHaveAssignee: canHaveAssignee$ | async, document: document$ | async} as obs\"\n >\n <div class=\"col\">\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailHeader;\n context: {canHaveAssignee: obs.canHaveAssignee, document: obs.document}\n \"\n ></ng-container>\n </div>\n <div class=\"btn-group mt-m3px mb-3 col-auto\">\n <valtimo-extension\n module=\"dossier\"\n page=\"dossier-detail\"\n section=\"card-header\"\n ></valtimo-extension>\n <ng-container\n *ngTemplateOutlet=\"claimButton; context: {canHaveAssignee: obs.canHaveAssignee}\"\n ></ng-container>\n <div class=\"dropdown\">\n <button\n class=\"btn btn-primary dropdown-toggle\"\n type=\"button\"\n id=\"startProcessDropdown\"\n placement=\"bottom\"\n [ngbTooltip]=\"processDocumentDefinitions.length === 0 ? 'No action' : null\"\n [disabled]=\"processDocumentDefinitions.length === 0\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n <span>{{ 'dossier.startSubProcess' | translate }}</span>\n <i class=\"ml-1 mdi mdi-chevron-down\"></i>\n </button>\n <div\n class=\"dropdown-menu dropdown-menu-right\"\n aria-labelledby=\"startProcessDropdown\"\n >\n <button\n *ngFor=\"let processDocumentDefinition of processDocumentDefinitions\"\n class=\"dropdown-item p\"\n href=\"#\"\n (click)=\"startProcess(processDocumentDefinition)\"\n >\n {{\n (processDocumentDefinition?.id?.processDefinitionKey | translate) !==\n processDocumentDefinition?.id?.processDefinitionKey\n ? (processDocumentDefinition.id.processDefinitionKey | translate)\n : processDocumentDefinition.processName\n }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ul class=\"nav nav-tabs\">\n <li class=\"nav-item\" *ngFor=\"let tab of tabLoader.tabs\">\n <a\n id=\"{{ tab.name }}-tab\"\n class=\"nav-link clickable\"\n [ngClass]=\"{active: tab.isActive()}\"\n data-toggle=\"tab\"\n (click)=\"tabLoader.load(tab)\"\n >\n {{ tabLoader.translateTabName(tab) }}\n </a>\n </li>\n </ul>\n <div class=\"card-body bg-white p-5 position-relative tab-container\">\n <ng-template #tabContainer>Loading...</ng-template>\n <div class=\"clearfix\"></div>\n </div>\n </valtimo-widget>\n </div>\n <valtimo-dossier-supporting-process-start-modal\n (formSubmit)=\"tabLoader.refreshView()\"\n #supportingProcessStartModal\n ></valtimo-dossier-supporting-process-start-modal>\n </div>\n</div>\n\n<ng-template #caseDetailHeader let-canHaveAssignee=\"canHaveAssignee\" let-document=\"document\">\n <div class=\"row\" *ngIf=\"customDossierHeaderItems.length > 0; else defaultTitle\">\n <span\n class=\"mb-0 mt-0 pb-2 align-self-end col-xl-{{ item.columnSize }} col-lg-{{\n item.columnSize * 2\n }} {{ item.customClass }}\"\n [ngClass]=\"{\n h1: item.textSize === 'xl',\n h2: item.textSize === 'lg',\n h3: item.textSize === 'md',\n h4: item.textSize === 'sm',\n h5: item.textSize === 'xs'\n }\"\n *ngFor=\"let item of customDossierHeaderItems\"\n >\n <span *ngIf=\"item.label\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.label && item.value\">: </span>\n <strong>{{ item.value }}</strong>\n </span>\n </div>\n <ng-container\n *ngTemplateOutlet=\"\n caseDetailAssignee;\n context: {canHaveAssignee: canHaveAssignee, document: document}\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #defaultTitle>\n <div class=\"row ml-0 mr-0\">{{ documentDefinitionNameTitle?.trim() }}</div>\n</ng-template>\n\n<ng-template #caseDetailAssignee let-canHaveAssignee=\"canHaveAssignee\" let-document=\"document\">\n <div class=\"row ml-0 mr-0 mt-1 mb-1\" *ngIf=\"canHaveAssignee && document\">\n <valtimo-dossier-assign-user\n [documentId]=\"document.id\"\n [assigneeId]=\"document.assigneeId\"\n [assigneeFullName]=\"document?.assigneeFullName\"\n (assignmentOfDocumentChanged)=\"assignmentOfDocumentChanged()\"\n ></valtimo-dossier-assign-user>\n </div>\n</ng-template>\n\n<ng-template #claimButton let-canHaveAssignee=\"canHaveAssignee\">\n <div class=\"user-full-name\" *ngIf=\"canHaveAssignee\">\n <button\n class=\"btn btn-space btn-primary mr-1\"\n type=\"button\"\n id=\"\"\n placement=\"bottom\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"claimAssignee()\"\n [disabled]=\"(isAssigning$ | async) || (isAssignedToCurrentUser$ | async)\"\n >\n <span>{{ 'dossier.claimAssigneeCase' | translate }}</span>\n </button>\n </div>\n</ng-template>\n", styles: [".tab-container{min-height:300px}\n"] }]
1994
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i6$1.TranslateService }, { type: i2.DocumentService }, { type: i2$2.ProcessService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i5$1.Location }, { type: TabService }, { type: i1.ConfigService }, { type: i8.KeycloakService }, { type: i5.NGXLogger }]; }, propDecorators: { viewContainerRef: [{
2432
+ }], 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: i4$1.Location }, { type: TabService }, { type: i1.ConfigService }, { type: i8$2.KeycloakService }, { type: i1$2.NGXLogger }]; }, propDecorators: { viewContainerRef: [{
1995
2433
  type: ViewChild,
1996
2434
  args: ['tabContainer', { read: ViewContainerRef, static: true }]
1997
2435
  }], supportingProcessStart: [{
@@ -2064,12 +2502,12 @@ class DossierDetailTabContactMomentsComponent {
2064
2502
  this.refetchContactMoments$.next('');
2065
2503
  }
2066
2504
  }
2067
- DossierDetailTabContactMomentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, deps: [{ token: i1$2.ContactMomentService }, { token: i9.AlertService }, { token: i6$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
2068
- DossierDetailTabContactMomentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 &nbsp;{{ '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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.TimelineComponent, selector: "valtimo-timeline", inputs: ["items"] }, { kind: "directive", type: i5$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5$3.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$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i9.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i9.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
2505
+ DossierDetailTabContactMomentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, deps: [{ token: i1$3.ContactMomentService }, { token: i8.AlertService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
2506
+ DossierDetailTabContactMomentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 &nbsp;{{ '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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.TimelineComponent, selector: "valtimo-timeline", inputs: ["items"] }, { kind: "directive", type: i5$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i8.ModalComponent, selector: "valtimo-modal", inputs: ["elementId", "title", "subtitle", "templateBelowSubtitle", "showFooter"] }, { kind: "component", type: i8.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
2069
2507
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabContactMomentsComponent, decorators: [{
2070
2508
  type: Component,
2071
2509
  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 &nbsp;{{ 'dossier.contactMoments.makeNoteButton' | translate }}\n </button>\n </div>\n</ng-template>\n\n<ng-template #moments>\n <div *ngIf=\"contactMoments$ | async as contactMoments; else loading\">\n <valtimo-timeline [items]=\"contactMoments\"></valtimo-timeline>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.contact-moments-container{display:flex;flex-direction:column}.button-container{display:inline;align-self:flex-end}\n"] }]
2072
- }], ctorParameters: function () { return [{ type: i1$2.ContactMomentService }, { type: i9.AlertService }, { type: i6$1.TranslateService }]; }, propDecorators: { modal: [{
2510
+ }], ctorParameters: function () { return [{ type: i1$3.ContactMomentService }, { type: i8.AlertService }, { type: i6.TranslateService }]; }, propDecorators: { modal: [{
2073
2511
  type: ViewChild,
2074
2512
  args: ['contactMomentsNoteModal']
2075
2513
  }] } });
@@ -2165,7 +2603,7 @@ class DossierDetailTabZaakobjectenComponent {
2165
2603
  }
2166
2604
  }
2167
2605
  DossierDetailTabZaakobjectenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ZaakobjectenService }, { token: i3$3.ModalService }], target: i0.ɵɵFactoryTarget.Component });
2168
- DossierDetailTabZaakobjectenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.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$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
2606
+ DossierDetailTabZaakobjectenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.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: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
2169
2607
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabZaakobjectenComponent, decorators: [{
2170
2608
  type: Component,
2171
2609
  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"] }]
@@ -2316,7 +2754,7 @@ class NoteModalComponent {
2316
2754
  }
2317
2755
  }
2318
2756
  NoteModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NoteModalComponent, deps: [{ token: NotesService }, { token: i3$3.ModalService }], target: i0.ɵɵFactoryTarget.Component });
2319
- NoteModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: NoteModalComponent, selector: "valtimo-note-modal", outputs: { createNoteEvent: "createNoteEvent" }, viewQueries: [{ propertyName: "addNoteModal", first: true, predicate: ["addNoteModal"], 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 #addNoteModal *ngIf=\"{disabled: disabled$ | async, valid: valid$ | async} as obs\">\n <div role=\"header\">\n <div class=\"add-note-title\">\n <v-title [margin]=\"false\">{{ 'dossier.notes.addNote' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"addForm\"></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 <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #addForm>\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 >\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$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.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$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
2757
+ NoteModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: NoteModalComponent, selector: "valtimo-note-modal", outputs: { createNoteEvent: "createNoteEvent" }, viewQueries: [{ propertyName: "addNoteModal", first: true, predicate: ["addNoteModal"], 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 #addNoteModal *ngIf=\"{disabled: disabled$ | async, valid: valid$ | async} as obs\">\n <div role=\"header\">\n <div class=\"add-note-title\">\n <v-title [margin]=\"false\">{{ 'dossier.notes.addNote' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"addForm\"></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 <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #addForm>\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 >\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: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.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: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
2320
2758
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NoteModalComponent, decorators: [{
2321
2759
  type: Component,
2322
2760
  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 #addNoteModal *ngIf=\"{disabled: disabled$ | async, valid: valid$ | async} as obs\">\n <div role=\"header\">\n <div class=\"add-note-title\">\n <v-title [margin]=\"false\">{{ 'dossier.notes.addNote' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"addForm\"></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 <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'dossier.notes.addNote' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #addForm>\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 >\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"] }]
@@ -2407,12 +2845,12 @@ class DossierDetailTabNotesComponent {
2407
2845
  .subscribe();
2408
2846
  }
2409
2847
  }
2410
- DossierDetailTabNotesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabNotesComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: NotesService }, { token: i6$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
2411
- DossierDetailTabNotesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 [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"], dependencies: [{ kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.TimelineComponent, selector: "valtimo-timeline", inputs: ["items"] }, { kind: "component", type: i9.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i10.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", outputs: ["createNoteEvent"] }, { kind: "pipe", type: i5$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6$1.TranslatePipe, name: "translate" }] });
2848
+ DossierDetailTabNotesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabNotesComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: NotesService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
2849
+ DossierDetailTabNotesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 [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"], dependencies: [{ kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.TimelineComponent, selector: "valtimo-timeline", inputs: ["items"] }, { kind: "component", type: i8.SpinnerComponent, selector: "valtimo-spinner", inputs: ["useBootstrapSpinner", "name", "type", "size", "color", "bdColor", "fullScreen", "noMarginTop"] }, { kind: "component", type: i8$1.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", outputs: ["createNoteEvent"] }, { kind: "pipe", type: i4$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
2412
2850
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierDetailTabNotesComponent, decorators: [{
2413
2851
  type: Component,
2414
2852
  args: [{ selector: 'valtimo-dossier-detail-tab-notes', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<div\n class=\"notes\"\n *ngIf=\"{\n notes: notes$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async\n } as obs\"\n>\n <button\n class=\"btn btn-space btn-primary mr-1 add-note\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"showAddModal()\"\n [disabled]=\"obs.loading\"\n >\n <span>{{ 'dossier.notes.addNote' | translate }}</span>\n <i class=\"ml-1 icon mdi mdi-plus\"></i>\n </button>\n\n <div *ngIf=\"timelineItems\">\n <valtimo-timeline [items]=\"timelineItems\"></valtimo-timeline>\n </div>\n\n <valtimo-spinner\n [useBootstrapSpinner]=\"false\"\n name=\"auditSpinner\"\n bdColor=\"rgba(125, 125, 125, 0.35)\"\n color=\"#264251\"\n type=\"square-jelly-box\"\n >\n </valtimo-spinner>\n\n <div class=\"d-flex justify-content-end row mr-0 ml-0\" *ngIf=\"obs.pagination\">\n <ngb-pagination\n *ngIf=\"obs.pagination.collectionSize > obs.pagination.size\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [(page)]=\"obs.pagination.page\"\n [pageSize]=\"obs.pagination.size\"\n [maxSize]=\"obs.pagination.size\"\n [rotate]=\"true\"\n (pageChange)=\"paginationClicked($event)\"\n ></ngb-pagination>\n </div>\n</div>\n\n<valtimo-note-modal (createNoteEvent)=\"createNewNote($event)\"></valtimo-note-modal>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.notes{position:relative}.add-note{position:absolute;right:0}\n"] }]
2415
- }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: NotesService }, { type: i6$1.TranslateService }]; } });
2853
+ }], ctorParameters: function () { return [{ type: i1$1.ActivatedRoute }, { type: NotesService }, { type: i6.TranslateService }]; } });
2416
2854
 
2417
2855
  /*
2418
2856
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -2510,12 +2948,12 @@ class DossierUpdateComponent {
2510
2948
  return 0;
2511
2949
  }
2512
2950
  }
2513
- DossierUpdateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierUpdateComponent, deps: [{ token: i3.TaskService }, { token: i2.DocumentService }, { token: i1$1.ActivatedRoute }, { token: i3$2.ToastrService }, { token: i5$1.Location }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Component });
2514
- DossierUpdateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i9.CamundaFormComponent, selector: "valtimo-camunda-form", inputs: ["componentName", "formFields"], outputs: ["submitted"] }, { kind: "pipe", type: i5$1.KeyValuePipe, name: "keyvalue" }] });
2951
+ DossierUpdateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierUpdateComponent, deps: [{ token: i3.TaskService }, { token: i2.DocumentService }, { token: i1$1.ActivatedRoute }, { token: i3$2.ToastrService }, { token: i4$1.Location }, { token: DossierService }], target: i0.ɵɵFactoryTarget.Component });
2952
+ DossierUpdateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { kind: "component", type: i8.CamundaFormComponent, selector: "valtimo-camunda-form", inputs: ["componentName", "formFields"], outputs: ["submitted"] }, { kind: "pipe", type: i4$1.KeyValuePipe, name: "keyvalue" }] });
2515
2953
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierUpdateComponent, decorators: [{
2516
2954
  type: Component,
2517
2955
  args: [{ selector: 'valtimo-dossier-update', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget [title]=\"page?.title\" [subtitle]=\"page?.subtitle\" [divider]=\"true\">\n <div class=\"card-body\">\n <!--view with custom definitions-->\n <div *ngIf=\"this.customDefinitions\">\n <div\n class=\"mb-4\"\n *ngFor=\"let definition of this.customDefinitions | keyvalue : returnZero\"\n ></div>\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-sm-12\">\n <div class=\"text-right\">\n <button\n class=\"btn btn-space btn-default float-left\"\n type=\"button\"\n (click)=\"back()\"\n id=\"back-button\"\n >\n Back\n </button>\n <button\n class=\"btn btn-space btn-secondary\"\n type=\"button\"\n (click)=\"reset()\"\n id=\"reset-button\"\n >\n Reset\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"button\"\n (click)=\"save()\"\n id=\"save-button\"\n >\n Save\n </button>\n <button\n class=\"btn btn-space btn-primary\"\n type=\"submit\"\n (click)=\"submit({})\"\n id=\"submit-button\"\n >\n Submit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <valtimo-camunda-form\n *ngIf=\"task?.formFields && !this.customDefinitions\"\n (submitted)=\"submit($event)\"\n [formFields]=\"task.formFields\"\n [componentName]=\"task.formLocation\"\n ></valtimo-camunda-form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n" }]
2518
- }], ctorParameters: function () { return [{ type: i3.TaskService }, { type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$2.ToastrService }, { type: i5$1.Location }, { type: DossierService }]; } });
2956
+ }], ctorParameters: function () { return [{ type: i3.TaskService }, { type: i2.DocumentService }, { type: i1$1.ActivatedRoute }, { type: i3$2.ToastrService }, { type: i4$1.Location }, { type: DossierService }]; } });
2519
2957
 
2520
2958
  /*
2521
2959
  * Copyright 2015-2023 Ritense BV, the Netherlands.
@@ -2606,6 +3044,7 @@ class DossierModule {
2606
3044
  }
2607
3045
  DossierModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2608
3046
  DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DossierModule, declarations: [DossierListComponent,
3047
+ DossierListActionsComponent,
2609
3048
  DossierDetailComponent,
2610
3049
  DossierDetailTabSummaryComponent,
2611
3050
  DossierDetailTabProgressComponent,
@@ -2636,7 +3075,7 @@ DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
2636
3075
  FormModule,
2637
3076
  FormIoModule,
2638
3077
  ModalModule,
2639
- SpinnerModule, i6$1.TranslateModule, TaskModule,
3078
+ SpinnerModule, i6.TranslateModule, TaskModule,
2640
3079
  ModalModule,
2641
3080
  NgbTooltipModule,
2642
3081
  UploaderModule,
@@ -2658,7 +3097,10 @@ DossierModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
2658
3097
  InputModule,
2659
3098
  FormModule$1,
2660
3099
  NgbModule,
2661
- LoadingModule], exports: [DossierListComponent, DossierDetailComponent] });
3100
+ LoadingModule,
3101
+ ButtonModule$1,
3102
+ IconModule,
3103
+ FormLinkModule], exports: [DossierListComponent, DossierDetailComponent] });
2662
3104
  DossierModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierModule, imports: [CommonModule,
2663
3105
  DossierRoutingModule,
2664
3106
  ListModule,
@@ -2704,12 +3146,16 @@ DossierModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
2704
3146
  InputModule,
2705
3147
  FormModule$1,
2706
3148
  NgbModule,
2707
- LoadingModule] });
3149
+ LoadingModule,
3150
+ ButtonModule$1,
3151
+ IconModule,
3152
+ FormLinkModule] });
2708
3153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DossierModule, decorators: [{
2709
3154
  type: NgModule,
2710
3155
  args: [{
2711
3156
  declarations: [
2712
3157
  DossierListComponent,
3158
+ DossierListActionsComponent,
2713
3159
  DossierDetailComponent,
2714
3160
  DossierDetailTabSummaryComponent,
2715
3161
  DossierDetailTabProgressComponent,
@@ -2774,6 +3220,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2774
3220
  FormModule$1,
2775
3221
  NgbModule,
2776
3222
  LoadingModule,
3223
+ ButtonModule$1,
3224
+ IconModule,
3225
+ FormLinkModule,
2777
3226
  ],
2778
3227
  exports: [DossierListComponent, DossierDetailComponent],
2779
3228
  }]
@@ -2799,5 +3248,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2799
3248
  * Generated bundle index. Do not edit.
2800
3249
  */
2801
3250
 
2802
- export { DEFAULT_TABS, DefaultTabs, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierDetailTabZaakobjectenComponent, DossierListComponent, DossierModule, DossierParameterService, DossierService, FileSortService, TAB_MAP, TabImpl, TabLoaderImpl, TabService, ZaakobjectenService };
3251
+ export { DEFAULT_TABS, DefaultTabs, DossierColumnService, DossierDetailComponent, DossierDetailTabAuditComponent, DossierDetailTabContactMomentsComponent, DossierDetailTabDocumentsComponent, DossierDetailTabNotesComponent, DossierDetailTabProgressComponent, DossierDetailTabSummaryComponent, DossierDetailTabZaakobjectenComponent, DossierListAssigneeService, DossierListComponent, DossierListPaginationService, DossierListSearchService, DossierListService, DossierModule, DossierParameterService, DossierService, FileSortService, TAB_MAP, TabImpl, TabLoaderImpl, TabService, ZaakobjectenService };
2803
3252
  //# sourceMappingURL=valtimo-dossier.mjs.map