@netgrif/components-core 6.4.1 → 6.5.0-rc.2

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 (98) hide show
  1. package/commons/schema.d.ts +3 -0
  2. package/esm2020/assets/i18n/de.json +4 -2
  3. package/esm2020/assets/i18n/en.json +4 -2
  4. package/esm2020/assets/i18n/sk.json +4 -2
  5. package/esm2020/commons/schema.mjs +1 -1
  6. package/esm2020/lib/admin/role-assignment/abstract-role-assignment.component.mjs +11 -2
  7. package/esm2020/lib/admin/role-assignment/services/ProcessList.mjs +5 -2
  8. package/esm2020/lib/admin/role-assignment-ldap-group/abstract-ldap-group-role-assignment.component.mjs +11 -2
  9. package/esm2020/lib/admin/user-invite/abstract-user-invite.component.mjs +16 -3
  10. package/esm2020/lib/allowed-nets/services/factory/allowed-nets-service-factory.mjs +4 -1
  11. package/esm2020/lib/changed-fields/services/changed-fields.service.mjs +2 -2
  12. package/esm2020/lib/configuration/configuration.service.mjs +2 -2
  13. package/esm2020/lib/data-fields/case-ref-field/model/abstract-case-ref-base-field-component.mjs +2 -2
  14. package/esm2020/lib/dialog/components/confirm-dialog/confirm-dialog.component.mjs +2 -2
  15. package/esm2020/lib/event/public-api.mjs +2 -1
  16. package/esm2020/lib/event/services/event.service.mjs +4 -4
  17. package/esm2020/lib/header/abstract-header.component.mjs +4 -69
  18. package/esm2020/lib/header/services/overflow.service.mjs +2 -2
  19. package/esm2020/lib/logger/services/log-publisher.service.mjs +2 -2
  20. package/esm2020/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.mjs +3 -3
  21. package/esm2020/lib/navigation/dashboard/abstract-dashboard.component.mjs +232 -0
  22. package/esm2020/lib/navigation/model/group-navigation-constants.mjs +27 -19
  23. package/esm2020/lib/navigation/model/navigation-configs.mjs +2 -2
  24. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +104 -348
  25. package/esm2020/lib/navigation/navigation-double-drawer/service/double-drawer-navigation.service.mjs +458 -0
  26. package/esm2020/lib/navigation/navigation-double-drawer/util/double-drawer-utils.mjs +43 -0
  27. package/esm2020/lib/navigation/public-api.mjs +4 -1
  28. package/esm2020/lib/navigation/service/uri.service.mjs +2 -2
  29. package/esm2020/lib/navigation/utility/filter-extraction.service.mjs +16 -8
  30. package/esm2020/lib/navigation/utility/navigation-item-task-utility-methods.mjs +13 -1
  31. package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +3 -3
  32. package/esm2020/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.mjs +2 -2
  33. package/esm2020/lib/resources/engine-endpoint/petri-net-resource.service.mjs +12 -1
  34. package/esm2020/lib/resources/interface/petri-net-request-body.mjs +1 -1
  35. package/esm2020/lib/resources/resource-provider.service.mjs +6 -6
  36. package/esm2020/lib/routing/redirect-service/redirect.service.mjs +6 -3
  37. package/esm2020/lib/search/models/category/case/case-dataset.mjs +2 -2
  38. package/esm2020/lib/search/models/operator/operator.mjs +2 -2
  39. package/esm2020/lib/search/models/operator/substring.mjs +2 -2
  40. package/esm2020/lib/search/search-service/search.service.mjs +2 -9
  41. package/esm2020/lib/task/services/task-data.service.mjs +4 -4
  42. package/esm2020/lib/task-content/model/subgrid.mjs +2 -2
  43. package/esm2020/lib/task-content/services/field-converter.service.mjs +2 -2
  44. package/esm2020/lib/task-content/services/task-content.service.mjs +4 -4
  45. package/esm2020/lib/toolbar/abstract-toolbar.component.mjs +48 -11
  46. package/esm2020/lib/toolbar/public-api.mjs +2 -1
  47. package/esm2020/lib/toolbar/toolbar-config.mjs +2 -0
  48. package/esm2020/lib/user/services/user-comparator.service.mjs +2 -2
  49. package/esm2020/lib/utility/contains.pipe.mjs +2 -2
  50. package/esm2020/lib/utility/navigation-item-task-filter-factory.mjs +4 -3
  51. package/esm2020/lib/utility/navigation-item-task-search-categories-factory.mjs +4 -1
  52. package/esm2020/lib/view/abstract/view-with-headers.mjs +1 -1
  53. package/esm2020/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.mjs +2 -2
  54. package/esm2020/lib/view/case-view/service/case-view-service.mjs +2 -6
  55. package/esm2020/lib/view/public-api.mjs +2 -1
  56. package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +9 -26
  57. package/esm2020/lib/view/task-view/abstract-tabbed-single-task-view.component.mjs +32 -0
  58. package/esm2020/lib/view/workflow-view/abstract-workflow-view.component.mjs +14 -1
  59. package/esm2020/lib/view/workflow-view/workflow-view.service.mjs +17 -2
  60. package/fesm2015/netgrif-components-core.mjs +1078 -520
  61. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  62. package/fesm2020/netgrif-components-core.mjs +1051 -507
  63. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  64. package/lib/admin/role-assignment/abstract-role-assignment.component.d.ts +4 -1
  65. package/lib/admin/role-assignment/services/ProcessList.d.ts +1 -1
  66. package/lib/admin/role-assignment-ldap-group/abstract-ldap-group-role-assignment.component.d.ts +4 -1
  67. package/lib/admin/user-invite/abstract-user-invite.component.d.ts +9 -3
  68. package/lib/allowed-nets/services/factory/allowed-nets-service-factory.d.ts +1 -1
  69. package/lib/event/public-api.d.ts +1 -0
  70. package/lib/header/abstract-header.component.d.ts +2 -14
  71. package/lib/navigation/dashboard/abstract-dashboard.component.d.ts +73 -0
  72. package/lib/navigation/model/group-navigation-constants.d.ts +27 -19
  73. package/lib/navigation/model/navigation-configs.d.ts +1 -0
  74. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +22 -57
  75. package/lib/navigation/navigation-double-drawer/service/double-drawer-navigation.service.d.ts +137 -0
  76. package/lib/navigation/navigation-double-drawer/util/double-drawer-utils.d.ts +16 -0
  77. package/lib/navigation/public-api.d.ts +3 -0
  78. package/lib/navigation/utility/filter-extraction.service.d.ts +3 -2
  79. package/lib/navigation/utility/navigation-item-task-utility-methods.d.ts +6 -0
  80. package/lib/resources/engine-endpoint/petri-net-resource.service.d.ts +8 -0
  81. package/lib/resources/interface/petri-net-request-body.d.ts +1 -0
  82. package/lib/search/search-service/search.service.d.ts +0 -5
  83. package/lib/toolbar/abstract-toolbar.component.d.ts +16 -6
  84. package/lib/toolbar/public-api.d.ts +1 -0
  85. package/lib/toolbar/toolbar-config.d.ts +11 -0
  86. package/lib/utility/navigation-item-task-filter-factory.d.ts +3 -2
  87. package/lib/utility/navigation-item-task-search-categories-factory.d.ts +1 -1
  88. package/lib/view/abstract/view-with-headers.d.ts +1 -1
  89. package/lib/view/case-view/service/case-view-service.d.ts +0 -2
  90. package/lib/view/public-api.d.ts +1 -0
  91. package/lib/view/task-view/abstract-single-task-view.component.d.ts +5 -16
  92. package/lib/view/task-view/abstract-tabbed-single-task-view.component.d.ts +15 -0
  93. package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +5 -2
  94. package/lib/view/workflow-view/workflow-view.service.d.ts +2 -0
  95. package/package.json +1 -1
  96. package/src/assets/i18n/de.json +4 -2
  97. package/src/assets/i18n/en.json +4 -2
  98. package/src/assets/i18n/sk.json +4 -2
@@ -77,7 +77,7 @@ import moment from 'moment';
77
77
  import { __decorate, __param } from 'tslib';
78
78
  import * as Buffer from 'buffer';
79
79
  import { ENTER, COMMA, SEMICOLON } from '@angular/cdk/keycodes';
80
- import * as i3$1 from '@angular/router';
80
+ import * as i2$5 from '@angular/router';
81
81
  import { NavigationEnd, Router, ActivatedRoute } from '@angular/router';
82
82
  import * as i1$6 from '@angular/cdk/overlay';
83
83
  import { OverlayModule } from '@angular/cdk/overlay';
@@ -487,7 +487,7 @@ class ConfigurationService {
487
487
  map = this.getChildren(views, map, '');
488
488
  if (map.get(url) === undefined) {
489
489
  for (const [key, value] of map) {
490
- if (key.includes('/**') && url.includes(key.split('/**')[0]))
490
+ if ((key === null || key === void 0 ? void 0 : key.includes('/**')) && (url === null || url === void 0 ? void 0 : url.includes(key.split('/**')[0])))
491
491
  return value;
492
492
  }
493
493
  }
@@ -690,7 +690,7 @@ class LogPublisherService {
690
690
  this._publishers = [];
691
691
  const serviceConfig = config.get().services;
692
692
  if (serviceConfig && serviceConfig.log && serviceConfig.log.publishers) {
693
- Object.keys(PUBLISHERS).filter(p => serviceConfig.log.publishers.includes(p) && PUBLISHERS[p])
693
+ Object.keys(PUBLISHERS).filter(p => { var _a; return ((_a = serviceConfig.log.publishers) === null || _a === void 0 ? void 0 : _a.includes(p)) && PUBLISHERS[p]; })
694
694
  .forEach(key => new PUBLISHERS[key](this));
695
695
  }
696
696
  }
@@ -852,7 +852,8 @@ var tasks$2 = {
852
852
  finish: "Finish",
853
853
  cancel: "Cancel",
854
854
  noData: "This task has no data. Finish to continue.",
855
- redirecting: "Redirecting..."
855
+ redirecting: "Redirecting...",
856
+ closeTab: "Close"
856
857
  },
857
858
  footer: {
858
859
  defaultText: "NETGRIF, s.r.o. © 2022"
@@ -1268,7 +1269,8 @@ var en = {
1268
1269
  "import-net": {
1269
1270
  upload: "Upload model",
1270
1271
  choose: "Choose a process file",
1271
- done: "Done"
1272
+ done: "Done",
1273
+ search: "Search for process"
1272
1274
  },
1273
1275
  "new-case": {
1274
1276
  "case": "New Case",
@@ -1390,7 +1392,8 @@ var tasks$1 = {
1390
1392
  finish: "Dokončiť",
1391
1393
  cancel: "Zrušiť",
1392
1394
  noData: "Táto úloha nemá žiadne údaje. Stlačte dokončiť pre pokračovanie.",
1393
- redirecting: "Presmerovanie..."
1395
+ redirecting: "Presmerovanie...",
1396
+ closeTab: "Zavrieť"
1394
1397
  },
1395
1398
  footer: {
1396
1399
  defaultText: "NETGRIF, s.r.o. © 2022"
@@ -1806,7 +1809,8 @@ var sk = {
1806
1809
  "import-net": {
1807
1810
  upload: "Nahrať model",
1808
1811
  choose: "Vyberte súbor s procesom",
1809
- done: "Dokončiť"
1812
+ done: "Dokončiť",
1813
+ search: "Vyhľadajte proces"
1810
1814
  },
1811
1815
  "new-case": {
1812
1816
  "case": "Nový prípad",
@@ -1928,7 +1932,8 @@ var tasks = {
1928
1932
  finish: "Abschließen",
1929
1933
  cancel: "Stornieren",
1930
1934
  noData: "Diese Aufgabe hat keine Dateien. Schließen Sie die Aufgabe ab, um fortzufahren.",
1931
- redirecting: "Umleiten..."
1935
+ redirecting: "Umleiten...",
1936
+ closeTab: "Schließen"
1932
1937
  },
1933
1938
  footer: {
1934
1939
  defaultText: "NETGRIF, s.r.o. © 2022"
@@ -2344,7 +2349,8 @@ var de = {
2344
2349
  "import-net": {
2345
2350
  upload: "Model hochladen",
2346
2351
  choose: "Prozessdatei auswählen",
2347
- done: "Bestätigen"
2352
+ done: "Bestätigen",
2353
+ search: "Nach Prozess suchen"
2348
2354
  },
2349
2355
  "new-case": {
2350
2356
  "case": "Neuen Fall erstellen",
@@ -2884,15 +2890,15 @@ class AbstractResourceProvider {
2884
2890
  return link.charAt(0) === '/' ? link.length > 1 ? link.substring(1, link.length) : '' : link;
2885
2891
  }
2886
2892
  static sanitizeUrl(endpoint, url) {
2887
- if (endpoint.includes('http://') || (endpoint.includes('https://'))) {
2893
+ if ((endpoint === null || endpoint === void 0 ? void 0 : endpoint.includes('http://')) || (endpoint === null || endpoint === void 0 ? void 0 : endpoint.includes('https://'))) {
2888
2894
  if (url) {
2889
- if (endpoint.includes(url)) {
2895
+ if (endpoint === null || endpoint === void 0 ? void 0 : endpoint.includes(url)) {
2890
2896
  return endpoint;
2891
2897
  }
2892
2898
  else {
2893
- return url.includes('https://') ? 'https://' +
2894
- endpoint.replace(/(^\w+:|^)\/\//, '') : 'http://' +
2895
- endpoint.replace(/(^\w+:|^)\/\//, '');
2899
+ return (url === null || url === void 0 ? void 0 : url.includes('https://')) ? 'https://' +
2900
+ (endpoint === null || endpoint === void 0 ? void 0 : endpoint.replace(/(^\w+:|^)\/\//, '')) : 'http://' +
2901
+ (endpoint === null || endpoint === void 0 ? void 0 : endpoint.replace(/(^\w+:|^)\/\//, ''));
2896
2902
  }
2897
2903
  }
2898
2904
  else {
@@ -4745,13 +4751,14 @@ class ConfirmDialogComponent extends AbstractDialogComponent {
4745
4751
  * @param sanitizer sanitize HTML
4746
4752
  */
4747
4753
  constructor(dialogRef, data, sanitizer) {
4754
+ var _a;
4748
4755
  super(dialogRef, data);
4749
4756
  this.dialogRef = dialogRef;
4750
4757
  this.data = data;
4751
4758
  this.sanitizer = sanitizer;
4752
4759
  this.choice = false;
4753
4760
  if (data && data.content) {
4754
- this.parsedContent = sanitizer.bypassSecurityTrustHtml(data.content.replace('\\n', '<br>'));
4761
+ this.parsedContent = sanitizer.bypassSecurityTrustHtml((_a = data.content) === null || _a === void 0 ? void 0 : _a.replace('\\n', '<br>'));
4755
4762
  }
4756
4763
  else {
4757
4764
  this.parsedContent = sanitizer.bypassSecurityTrustHtml('');
@@ -6161,7 +6168,7 @@ let AbstractCaseRefBaseFieldComponent = class AbstractCaseRefBaseFieldComponent
6161
6168
  this.caseViewType = caseViewType;
6162
6169
  }
6163
6170
  createFilter(filterValue) {
6164
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
6171
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
6165
6172
  let portalInjector;
6166
6173
  const filterProperty = ((_c = (_b = (_a = this.dataField) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.properties) === null || _c === void 0 ? void 0 : _c.filter) === 'true';
6167
6174
  let query;
@@ -6170,13 +6177,13 @@ let AbstractCaseRefBaseFieldComponent = class AbstractCaseRefBaseFieldComponent
6170
6177
  }
6171
6178
  let providers = [
6172
6179
  {
6173
- provide: NAE_DEFAULT_HEADERS, useValue: (_j = (_h = (_g = this.dataField.component) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.headers) === null || _j === void 0 ? void 0 : _j.split(',')
6180
+ provide: NAE_DEFAULT_HEADERS, useValue: (_h = (_g = this.dataField.component) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.headers.split(',')
6174
6181
  },
6175
6182
  {
6176
- provide: NAE_CASE_REF_CREATE_CASE, useValue: ((_l = (_k = this.dataField.component) === null || _k === void 0 ? void 0 : _k.properties) === null || _l === void 0 ? void 0 : _l.createCase) === 'true'
6183
+ provide: NAE_CASE_REF_CREATE_CASE, useValue: ((_k = (_j = this.dataField.component) === null || _j === void 0 ? void 0 : _j.properties) === null || _k === void 0 ? void 0 : _k.createCase) === 'true'
6177
6184
  },
6178
6185
  {
6179
- provide: NAE_CASE_REF_SEARCH, useValue: ((_o = (_m = this.dataField.component) === null || _m === void 0 ? void 0 : _m.properties) === null || _o === void 0 ? void 0 : _o.search) === 'true'
6186
+ provide: NAE_CASE_REF_SEARCH, useValue: ((_m = (_l = this.dataField.component) === null || _l === void 0 ? void 0 : _l.properties) === null || _m === void 0 ? void 0 : _m.search) === 'true'
6180
6187
  },
6181
6188
  {
6182
6189
  provide: NAE_BASE_FILTER,
@@ -7266,12 +7273,12 @@ class FieldConverterService {
7266
7273
  this.textFieldNames = ['richtextarea', 'htmltextarea', 'editor', 'htmlEditor'];
7267
7274
  }
7268
7275
  toClass(item) {
7269
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
7276
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
7270
7277
  switch (item.type) {
7271
7278
  case FieldTypeResource.BOOLEAN:
7272
7279
  return new BooleanField(item.stringId, item.name, item.value, item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
7273
7280
  case FieldTypeResource.TEXT:
7274
- if (this.textFieldNames.includes((_a = item.component) === null || _a === void 0 ? void 0 : _a.name)) {
7281
+ if ((_a = this.textFieldNames) === null || _a === void 0 ? void 0 : _a.includes((_b = item.component) === null || _b === void 0 ? void 0 : _b.name)) {
7275
7282
  return new TextAreaField(item.stringId, item.name, this.resolveTextValue(item, item.value), item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
7276
7283
  }
7277
7284
  return new TextField(item.stringId, item.name, this.resolveTextValue(item, item.value), item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
@@ -7311,17 +7318,17 @@ class FieldConverterService {
7311
7318
  case FieldTypeResource.BUTTON:
7312
7319
  return new ButtonField(item.stringId, item.name, item.behavior, item.value, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
7313
7320
  case FieldTypeResource.FILE:
7314
- return new FileField(item.stringId, item.name, item.behavior, item.value ? item.value : {}, item.placeholder, item.description, item.layout, this.resolveByteSize((_c = (_b = item.component) === null || _b === void 0 ? void 0 : _b.properties) === null || _c === void 0 ? void 0 : _c.maxSize), this.resolveAllowedTypes((_f = (_e = (_d = item.component) === null || _d === void 0 ? void 0 : _d.properties) === null || _e === void 0 ? void 0 : _e.allowTypes) === null || _f === void 0 ? void 0 : _f.split(",")), item.validations, item.component, item.parentTaskId);
7321
+ return new FileField(item.stringId, item.name, item.behavior, item.value ? item.value : {}, item.placeholder, item.description, item.layout, this.resolveByteSize((_d = (_c = item.component) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.maxSize), this.resolveAllowedTypes((_g = (_f = (_e = item.component) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.allowTypes) === null || _g === void 0 ? void 0 : _g.split(",")), item.validations, item.component, item.parentTaskId);
7315
7322
  case FieldTypeResource.FILE_LIST:
7316
- return new FileListField(item.stringId, item.name, item.behavior, item.value ? item.value : {}, item.placeholder, item.description, item.layout, item.validations, this.resolveByteSize((_h = (_g = item.component) === null || _g === void 0 ? void 0 : _g.properties) === null || _h === void 0 ? void 0 : _h.maxSize), this.resolveAllowedTypes((_l = (_k = (_j = item.component) === null || _j === void 0 ? void 0 : _j.properties) === null || _k === void 0 ? void 0 : _k.allowTypes) === null || _l === void 0 ? void 0 : _l.split(",")), item.component, item.parentTaskId);
7323
+ return new FileListField(item.stringId, item.name, item.behavior, item.value ? item.value : {}, item.placeholder, item.description, item.layout, item.validations, this.resolveByteSize((_j = (_h = item.component) === null || _h === void 0 ? void 0 : _h.properties) === null || _j === void 0 ? void 0 : _j.maxSize), this.resolveAllowedTypes((_m = (_l = (_k = item.component) === null || _k === void 0 ? void 0 : _k.properties) === null || _l === void 0 ? void 0 : _l.allowTypes) === null || _m === void 0 ? void 0 : _m.split(",")), item.component, item.parentTaskId);
7317
7324
  case FieldTypeResource.TASK_REF:
7318
7325
  return new TaskRefField(item.stringId, item.name, item.value ? item.value : [], item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
7319
7326
  case FieldTypeResource.CASE_REF:
7320
7327
  return new CaseRefField(item.stringId, item.name, item.value ? item.value : [], item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
7321
7328
  case FieldTypeResource.FILTER:
7322
- return new FilterField(item.stringId, item.name, (_m = item.value) !== null && _m !== void 0 ? _m : '', item.filterMetadata, item.allowedNets, item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
7329
+ return new FilterField(item.stringId, item.name, (_o = item.value) !== null && _o !== void 0 ? _o : '', item.filterMetadata, item.allowedNets, item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
7323
7330
  case FieldTypeResource.I18N:
7324
- return new I18nField(item.stringId, item.name, (_o = item.value) !== null && _o !== void 0 ? _o : { defaultValue: '' }, item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component);
7331
+ return new I18nField(item.stringId, item.name, (_p = item.value) !== null && _p !== void 0 ? _p : { defaultValue: '' }, item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component);
7325
7332
  case FieldTypeResource.STRING_COLLECTION:
7326
7333
  return new StringCollectionField(item.stringId, item.name, item.value ? item.value : [], item.behavior, item.placeholder, item.description, item.layout, item.validations, item.component, item.parentTaskId);
7327
7334
  }
@@ -7855,23 +7862,25 @@ class EventService {
7855
7862
  }
7856
7863
  parseChangedFieldsFromOutcomeTreeRecursive(outcomes, changedFieldsMap) {
7857
7864
  outcomes.forEach(childOutcome => {
7865
+ var _a, _b;
7858
7866
  if (EventConstants.CHANGED_FIELDS in childOutcome
7859
7867
  && !!childOutcome.aCase
7860
7868
  && !!childOutcome.task) {
7861
7869
  const setDataOutcome = childOutcome;
7862
7870
  const outcomeChangedFields = childOutcome.changedFields.changedFields;
7863
7871
  const caseId = setDataOutcome.aCase.stringId;
7864
- if (!Object.keys(changedFieldsMap).includes(caseId)) {
7872
+ if (!((_a = Object.keys(changedFieldsMap)) === null || _a === void 0 ? void 0 : _a.includes(caseId))) {
7865
7873
  changedFieldsMap[caseId] = {};
7866
7874
  }
7867
7875
  const taskId = setDataOutcome.task.stringId;
7868
- if (!Object.keys(changedFieldsMap[caseId]).includes(taskId)) {
7876
+ if (!((_b = Object.keys(changedFieldsMap[caseId])) === null || _b === void 0 ? void 0 : _b.includes(taskId))) {
7869
7877
  changedFieldsMap[caseId][taskId] = {
7870
7878
  taskId
7871
7879
  };
7872
7880
  }
7873
7881
  Object.keys(outcomeChangedFields).forEach(fieldId => {
7874
- if (Object.keys(changedFieldsMap[caseId][taskId]).includes(fieldId)) {
7882
+ var _a;
7883
+ if ((_a = Object.keys(changedFieldsMap[caseId][taskId])) === null || _a === void 0 ? void 0 : _a.includes(fieldId)) {
7875
7884
  Object.keys(outcomeChangedFields[fieldId]).forEach(attribute => {
7876
7885
  changedFieldsMap[caseId][taskId][fieldId][attribute] = outcomeChangedFields[fieldId][attribute];
7877
7886
  });
@@ -10477,7 +10486,7 @@ class Operator {
10477
10486
  * @param forceWrap if set to `true` the value will be wrapped regardless of it's content
10478
10487
  */
10479
10488
  static wrapInputWithQuotes(input, forceWrap = false) {
10480
- if (typeof input === 'string' && (input.includes(' ') || forceWrap))
10489
+ if (typeof input === 'string' && ((input === null || input === void 0 ? void 0 : input.includes(' ')) || forceWrap))
10481
10490
  return { value: `"${input}"`, wasWrapped: true };
10482
10491
  else
10483
10492
  return { value: input, wasWrapped: false };
@@ -10975,11 +10984,12 @@ class Substring extends Operator {
10975
10984
  super(1);
10976
10985
  }
10977
10986
  createQuery(elasticKeywords, args) {
10987
+ var _a;
10978
10988
  this.checkArgumentsCount(args);
10979
10989
  // TODO IMPROVEMENT 27.4.2020 - we could use regular expressions to search for substrings which would solve the unintuitive
10980
10990
  // behavior that occurs when we search for strings that contain spaces. We need to escape the input string in a special way
10981
10991
  // if we choose to do this
10982
- const escapedValue = Operator.escapeInput(args[0]).value.replace(/ /g, '\\ ');
10992
+ const escapedValue = (_a = Operator.escapeInput(args[0]).value) === null || _a === void 0 ? void 0 : _a.replace(/ /g, '\\ ');
10983
10993
  return Operator.forEachKeyword(elasticKeywords, keyword => new Query(`(${keyword}:*${escapedValue}*)`));
10984
10994
  }
10985
10995
  getOperatorNameTemplate() {
@@ -12775,9 +12785,10 @@ class CaseDataset extends Category {
12775
12785
  allowedNets.forEach(petriNet => {
12776
12786
  petriNet.immediateData
12777
12787
  .filter(immediateData => {
12788
+ var _a;
12778
12789
  return immediateData.title !== undefined
12779
12790
  && immediateData.title.trim().length > 0
12780
- && !CaseDataset.DISABLED_TYPES.includes(immediateData.type);
12791
+ && !((_a = CaseDataset.DISABLED_TYPES) === null || _a === void 0 ? void 0 : _a.includes(immediateData.type));
12781
12792
  })
12782
12793
  .forEach(immediateData => {
12783
12794
  let type = immediateData.type;
@@ -13773,6 +13784,17 @@ class PetriNetResourceService extends AbstractResourceService {
13773
13784
  return this._resourceProvider.post$('petrinet/search', this.SERVER_URL, body, params)
13774
13785
  .pipe(map(r => this.getResourcePage(r, 'petriNetReferences')));
13775
13786
  }
13787
+ /**
13788
+ * search PetriNets
13789
+ *
13790
+ * **Request Type:** POST
13791
+ *
13792
+ * **Request URL:** {{baseUrl}}/api/petrinet/search
13793
+ */
13794
+ searchElasticPetriNets(body, params) {
13795
+ return this._resourceProvider.post$('petrinet/search_elastic', this.SERVER_URL, body, params)
13796
+ .pipe(map(r => this.getResourcePage(r, 'petriNetReferences')));
13797
+ }
13776
13798
  /**
13777
13799
  * delete PetriNet
13778
13800
  *
@@ -14408,7 +14430,7 @@ class SearchService {
14408
14430
  * @param searchedSubstring value that should be searched on all full text fields
14409
14431
  */
14410
14432
  setFullTextFilter(searchedSubstring) {
14411
- const whiteSpacedSubstring = searchedSubstring.replace(/ /g, '\\ ');
14433
+ const whiteSpacedSubstring = searchedSubstring === null || searchedSubstring === void 0 ? void 0 : searchedSubstring.replace(/ /g, '\\ ');
14412
14434
  this._fullTextFilter = new SimpleFilter('', this._baseFilter.type, { fullText: whiteSpacedSubstring });
14413
14435
  this.updateActiveFilter();
14414
14436
  }
@@ -14453,13 +14475,6 @@ class SearchService {
14453
14475
  this._activeFilter.next(this._baseFilter.clone());
14454
14476
  }
14455
14477
  }
14456
- /**
14457
- * Loads whole new filter and search cases/tasks based on this filter
14458
- * @param newFilter whole new filter that should be used for search
14459
- */
14460
- updateWithFullFilter(newFilter) {
14461
- this._activeFilter.next(newFilter);
14462
- }
14463
14478
  /**
14464
14479
  * @returns `undefined` if the predicate tree contains no complete query.
14465
14480
  * Otherwise returns the serialized form of the completed queries in the predicate tree.
@@ -15765,11 +15780,11 @@ class TaskContentService {
15765
15780
  }
15766
15781
  getReferencedTaskId(changedField, chFields) {
15767
15782
  return !!this.taskFieldsIndex ?
15768
- (Object.keys(this.taskFieldsIndex).find(taskId => taskId !== this.task.stringId && taskId === chFields.taskId && Object.keys(this.taskFieldsIndex[taskId].fields).includes(changedField))
15769
- || Object.keys(this.taskFieldsIndex).find(taskId => taskId !== this.task.stringId && Object.keys(this.taskFieldsIndex[taskId].fields).includes(changedField))) : undefined;
15783
+ (Object.keys(this.taskFieldsIndex).find(taskId => { var _a; return taskId !== this.task.stringId && taskId === chFields.taskId && ((_a = Object.keys(this.taskFieldsIndex[taskId].fields)) === null || _a === void 0 ? void 0 : _a.includes(changedField)); })
15784
+ || Object.keys(this.taskFieldsIndex).find(taskId => { var _a; return taskId !== this.task.stringId && ((_a = Object.keys(this.taskFieldsIndex[taskId].fields)) === null || _a === void 0 ? void 0 : _a.includes(changedField)); })) : undefined;
15770
15785
  }
15771
15786
  findTaskRefId(taskId, fields) {
15772
- let taskRefId = Object.values(fields).find(f => f instanceof TaskRefField && f.value.includes(taskId));
15787
+ let taskRefId = Object.values(fields).find(f => { var _a; return f instanceof TaskRefField && ((_a = f.value) === null || _a === void 0 ? void 0 : _a.includes(taskId)); });
15773
15788
  if (!taskRefId) {
15774
15789
  const referencedTaskIds = Object.values(fields).filter(f => f instanceof TaskRefField).map(tr => tr.value);
15775
15790
  referencedTaskIds.forEach(id => {
@@ -16139,9 +16154,10 @@ class UserComparatorService {
16139
16154
  this._userService = _userService;
16140
16155
  }
16141
16156
  compareUsers(user, acceptImpersonator = true) {
16157
+ var _a, _b;
16142
16158
  const loggedUser = acceptImpersonator ? this._userService.user.getSelfOrImpersonated() : this._userService.user;
16143
16159
  return user.email === loggedUser.email ||
16144
- user.email.includes('anonymous') && this._userService.user.email.includes('anonymous');
16160
+ ((_a = user.email) === null || _a === void 0 ? void 0 : _a.includes('anonymous')) && ((_b = this._userService.user.email) === null || _b === void 0 ? void 0 : _b.includes('anonymous'));
16145
16161
  }
16146
16162
  }
16147
16163
  UserComparatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserComparatorService, deps: [{ token: UserService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -16171,7 +16187,7 @@ class ChangedFieldsService {
16171
16187
  }
16172
16188
  parseChangedFieldsByCaseAndTaskIds(caseId, taskIds, changedFieldsMap) {
16173
16189
  const changedFields = [];
16174
- const filteredTaskIds = Object.keys(changedFieldsMap[caseId]).filter(taskId => taskIds.includes(taskId));
16190
+ const filteredTaskIds = Object.keys(changedFieldsMap[caseId]).filter(taskId => taskIds === null || taskIds === void 0 ? void 0 : taskIds.includes(taskId));
16175
16191
  filteredTaskIds.forEach(taskId => {
16176
16192
  changedFields.push(changedFieldsMap[caseId][taskId]);
16177
16193
  });
@@ -16357,6 +16373,7 @@ class TaskDataService extends TaskHandlingService {
16357
16373
  else {
16358
16374
  this._taskContentService.referencedTaskAndCaseIds[this._safeTask.caseId] = [this._safeTask.stringId];
16359
16375
  dataGroups.forEach(group => {
16376
+ var _a;
16360
16377
  const dataGroupParentCaseId = group.parentCaseId === undefined ? this._safeTask.caseId : group.parentCaseId;
16361
16378
  const parentTaskId = group.parentTaskId === undefined ? this._safeTask.stringId : group.parentTaskId;
16362
16379
  const parentTransitionId = group.parentTransitionId === undefined ?
@@ -16371,7 +16388,7 @@ class TaskDataService extends TaskHandlingService {
16371
16388
  }
16372
16389
  else if (dataGroupParentCaseId === this._safeTask.caseId
16373
16390
  && parentTaskId !== this._safeTask.stringId
16374
- && !this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId].includes(parentTaskId)) {
16391
+ && !((_a = this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId]) === null || _a === void 0 ? void 0 : _a.includes(parentTaskId))) {
16375
16392
  this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId].push(group.parentTaskId);
16376
16393
  }
16377
16394
  if (group.fields.length > 0 && !this._taskContentService.taskFieldsIndex[parentTaskId]) {
@@ -16531,6 +16548,7 @@ class TaskDataService extends TaskHandlingService {
16531
16548
  * @param request
16532
16549
  */
16533
16550
  isSetDataRequestStillValid(request) {
16551
+ var _a;
16534
16552
  if (!this.isTaskPresent()) {
16535
16553
  return false;
16536
16554
  }
@@ -16542,7 +16560,7 @@ class TaskDataService extends TaskHandlingService {
16542
16560
  }
16543
16561
  const taskIdsInRequest = Object.keys(request);
16544
16562
  for (const taskId of taskIdsInRequest) {
16545
- if (!Object.keys(this._taskContentService.taskFieldsIndex).includes(taskId)) {
16563
+ if (!((_a = Object.keys(this._taskContentService.taskFieldsIndex)) === null || _a === void 0 ? void 0 : _a.includes(taskId))) {
16546
16564
  this._log.error(`Task id ${taskId} is not present in task fields index`);
16547
16565
  return false;
16548
16566
  }
@@ -16747,7 +16765,8 @@ class TaskDataService extends TaskHandlingService {
16747
16765
  revertToPreviousValue(context) {
16748
16766
  this._safeTask.dataGroups.forEach(dataGroup => {
16749
16767
  dataGroup.fields.forEach(field => {
16750
- if (field.initialized && field.valid && Object.keys(context.previousValues).includes(field.stringId)) {
16768
+ var _a;
16769
+ if (field.initialized && field.valid && ((_a = Object.keys(context.previousValues)) === null || _a === void 0 ? void 0 : _a.includes(field.stringId))) {
16751
16770
  field.revertToPreviousValue();
16752
16771
  }
16753
16772
  });
@@ -17275,24 +17294,27 @@ class RedirectService {
17275
17294
  }
17276
17295
  parseRedirectPath(url) {
17277
17296
  let path;
17278
- if (url.includes('?')) {
17297
+ if (url === undefined || url === null) {
17298
+ return '';
17299
+ }
17300
+ if (url === null || url === void 0 ? void 0 : url.includes('?')) {
17279
17301
  path = url.slice(0, url.indexOf('?'));
17280
17302
  }
17281
17303
  else {
17282
17304
  path = url;
17283
17305
  }
17284
- return path.replace('/redirect', '');
17306
+ return path === null || path === void 0 ? void 0 : path.replace('/redirect', '');
17285
17307
  }
17286
17308
  }
17287
17309
  RedirectService.LOGIN_COMPONENT = 'login';
17288
- RedirectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RedirectService, deps: [{ token: i3$1.Router }, { token: LoggerService }, { token: ConfigurationService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
17310
+ RedirectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RedirectService, deps: [{ token: i2$5.Router }, { token: LoggerService }, { token: ConfigurationService }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
17289
17311
  RedirectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RedirectService, providedIn: 'root' });
17290
17312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RedirectService, decorators: [{
17291
17313
  type: Injectable,
17292
17314
  args: [{
17293
17315
  providedIn: 'root'
17294
17316
  }]
17295
- }], ctorParameters: function () { return [{ type: i3$1.Router }, { type: LoggerService }, { type: ConfigurationService }, { type: i3$1.ActivatedRoute }]; } });
17317
+ }], ctorParameters: function () { return [{ type: i2$5.Router }, { type: LoggerService }, { type: ConfigurationService }, { type: i2$5.ActivatedRoute }]; } });
17296
17318
 
17297
17319
  class AuthenticationInterceptor {
17298
17320
  constructor(_session, _redirect, _anonymousService, idleTimerService) {
@@ -17492,14 +17514,14 @@ class AuthenticationGuardService {
17492
17514
  return this._session.sessionToken && this._session.verified ? true : this._router.parseUrl(this._loginUrl);
17493
17515
  }
17494
17516
  }
17495
- AuthenticationGuardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationGuardService, deps: [{ token: SessionService }, { token: RedirectService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
17517
+ AuthenticationGuardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationGuardService, deps: [{ token: SessionService }, { token: RedirectService }, { token: i2$5.Router }], target: i0.ɵɵFactoryTarget.Injectable });
17496
17518
  AuthenticationGuardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationGuardService, providedIn: AuthenticationModule });
17497
17519
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationGuardService, decorators: [{
17498
17520
  type: Injectable,
17499
17521
  args: [{
17500
17522
  providedIn: AuthenticationModule
17501
17523
  }]
17502
- }], ctorParameters: function () { return [{ type: SessionService }, { type: RedirectService }, { type: i3$1.Router }]; } });
17524
+ }], ctorParameters: function () { return [{ type: SessionService }, { type: RedirectService }, { type: i2$5.Router }]; } });
17503
17525
 
17504
17526
  /* SERVICES */
17505
17527
 
@@ -17739,7 +17761,7 @@ class AbstractAuthenticationOverlayComponent {
17739
17761
  }
17740
17762
  }
17741
17763
  }
17742
- AbstractAuthenticationOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractAuthenticationOverlayComponent, deps: [{ token: SessionService }, { token: SpinnerOverlayService }, { token: i3$1.Router }, { token: RedirectService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Component });
17764
+ AbstractAuthenticationOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractAuthenticationOverlayComponent, deps: [{ token: SessionService }, { token: SpinnerOverlayService }, { token: i2$5.Router }, { token: RedirectService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Component });
17743
17765
  AbstractAuthenticationOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractAuthenticationOverlayComponent, selector: "ncc-abstract-auth-overlay", ngImport: i0, template: '', isInline: true });
17744
17766
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractAuthenticationOverlayComponent, decorators: [{
17745
17767
  type: Component,
@@ -17747,7 +17769,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17747
17769
  selector: 'ncc-abstract-auth-overlay',
17748
17770
  template: ''
17749
17771
  }]
17750
- }], ctorParameters: function () { return [{ type: SessionService }, { type: SpinnerOverlayService }, { type: i3$1.Router }, { type: RedirectService }, { type: UserService }]; } });
17772
+ }], ctorParameters: function () { return [{ type: SessionService }, { type: SpinnerOverlayService }, { type: i2$5.Router }, { type: RedirectService }, { type: UserService }]; } });
17751
17773
 
17752
17774
  class AbstractSessionIdleComponent {
17753
17775
  constructor(sessionTimer, _user, _log, _config, _router) {
@@ -17801,7 +17823,7 @@ class AbstractSessionIdleComponent {
17801
17823
  }
17802
17824
  }
17803
17825
  }
17804
- AbstractSessionIdleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSessionIdleComponent, deps: [{ token: SessionIdleTimerService }, { token: UserService }, { token: LoggerService }, { token: ConfigurationService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component });
17826
+ AbstractSessionIdleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSessionIdleComponent, deps: [{ token: SessionIdleTimerService }, { token: UserService }, { token: LoggerService }, { token: ConfigurationService }, { token: i2$5.Router }], target: i0.ɵɵFactoryTarget.Component });
17805
17827
  AbstractSessionIdleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractSessionIdleComponent, selector: "ncc-abstract-session-idle", inputs: { alertAtSeconds: "alertAtSeconds" }, ngImport: i0, template: '', isInline: true });
17806
17828
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSessionIdleComponent, decorators: [{
17807
17829
  type: Component,
@@ -17809,7 +17831,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17809
17831
  selector: 'ncc-abstract-session-idle',
17810
17832
  template: ''
17811
17833
  }]
17812
- }], ctorParameters: function () { return [{ type: SessionIdleTimerService }, { type: UserService }, { type: LoggerService }, { type: ConfigurationService }, { type: i3$1.Router }]; }, propDecorators: { alertAtSeconds: [{
17834
+ }], ctorParameters: function () { return [{ type: SessionIdleTimerService }, { type: UserService }, { type: LoggerService }, { type: ConfigurationService }, { type: i2$5.Router }]; }, propDecorators: { alertAtSeconds: [{
17813
17835
  type: Input
17814
17836
  }] } });
17815
17837
 
@@ -18188,7 +18210,7 @@ class AbstractPanelComponent {
18188
18210
  return this._caseListFontColorService.computeCaseFontColor(this.caseColor);
18189
18211
  }
18190
18212
  }
18191
- AbstractPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractPanelComponent, deps: [{ token: CaseListFontColorService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
18213
+ AbstractPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractPanelComponent, deps: [{ token: CaseListFontColorService }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
18192
18214
  AbstractPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractPanelComponent, selector: "ncc-abstract-panel", inputs: { expansionDisabled: "expansionDisabled", preventExpand: "preventExpand", preventCollapse: "preventCollapse", hidePanelHeader: "hidePanelHeader", panelHeader: "panelHeader", panelContent: "panelContent", first: "first", last: "last", caseColor: "caseColor" }, outputs: { stopLoading: "stopLoading", getExpansionPanelRef: "getExpansionPanelRef" }, viewQueries: [{ propertyName: "matExpansionPanel", first: true, predicate: ["matExpansionPanel"], descendants: true }], ngImport: i0, template: '', isInline: true });
18193
18215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractPanelComponent, decorators: [{
18194
18216
  type: Component,
@@ -18196,7 +18218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18196
18218
  selector: 'ncc-abstract-panel',
18197
18219
  template: ''
18198
18220
  }]
18199
- }], ctorParameters: function () { return [{ type: CaseListFontColorService }, { type: i3$1.ActivatedRoute }]; }, propDecorators: { expansionDisabled: [{
18221
+ }], ctorParameters: function () { return [{ type: CaseListFontColorService }, { type: i2$5.ActivatedRoute }]; }, propDecorators: { expansionDisabled: [{
18200
18222
  type: Input
18201
18223
  }], preventExpand: [{
18202
18224
  type: Input
@@ -18318,7 +18340,7 @@ class OverflowService {
18318
18340
  }
18319
18341
  const item = localStorage.getItem(viewId + '-' + id);
18320
18342
  if (item !== null) {
18321
- if (id.includes('columnCount')) {
18343
+ if (id === null || id === void 0 ? void 0 : id.includes('columnCount')) {
18322
18344
  this._initializedCount = true;
18323
18345
  }
18324
18346
  return item;
@@ -18873,7 +18895,6 @@ class CaseViewService extends AbstractSortableViewComponent {
18873
18895
  useCachedProcesses: true
18874
18896
  };
18875
18897
  this._paginationView = false;
18876
- this._cases = [];
18877
18898
  this._newCaseConfiguration = Object.assign({}, this.DEFAULT_NEW_CASE_CONFIGURATION);
18878
18899
  if (newCaseConfig !== null) {
18879
18900
  Object.assign(this._newCaseConfiguration, newCaseConfig);
@@ -18912,7 +18933,7 @@ class CaseViewService extends AbstractSortableViewComponent {
18912
18933
  }
18913
18934
  return Object.assign(Object.assign({}, acc), pageLoadResult.cases);
18914
18935
  }, {}));
18915
- this._cases$ = casesMap.pipe(map(v => Object.values(v)), tap(cases => this._cases = cases));
18936
+ this._cases$ = casesMap.pipe(map(v => Object.values(v)));
18916
18937
  }
18917
18938
  ngOnDestroy() {
18918
18939
  super.ngOnDestroy();
@@ -18928,9 +18949,6 @@ class CaseViewService extends AbstractSortableViewComponent {
18928
18949
  get cases$() {
18929
18950
  return this._cases$;
18930
18951
  }
18931
- get cases() {
18932
- return this._cases;
18933
- }
18934
18952
  get pagination() {
18935
18953
  return this._pagination;
18936
18954
  }
@@ -20731,7 +20749,7 @@ class AbstractTaskPanelComponent extends AbstractPanelWithImmediateDataComponent
20731
20749
  this.taskEvent.emit(event);
20732
20750
  });
20733
20751
  this._subTaskData = _changedFieldsService.changedFields$.subscribe((changedFieldsMap) => {
20734
- const filteredCaseIds = Object.keys(changedFieldsMap).filter(caseId => Object.keys(this._taskContentService.referencedTaskAndCaseIds).includes(caseId));
20752
+ const filteredCaseIds = Object.keys(changedFieldsMap).filter(caseId => { var _a; return (_a = Object.keys(this._taskContentService.referencedTaskAndCaseIds)) === null || _a === void 0 ? void 0 : _a.includes(caseId); });
20735
20753
  const changedFields = [];
20736
20754
  filteredCaseIds.forEach(caseId => {
20737
20755
  const taskIds = this._taskContentService.referencedTaskAndCaseIds[caseId];
@@ -20745,7 +20763,7 @@ class AbstractTaskPanelComponent extends AbstractPanelWithImmediateDataComponent
20745
20763
  this.expand();
20746
20764
  });
20747
20765
  _taskOperations.close$.subscribe(() => {
20748
- if (!this._taskForceOpen) {
20766
+ if (!(this._taskForceOpen || this.preventCollapse)) {
20749
20767
  this.collapse();
20750
20768
  }
20751
20769
  });
@@ -21160,7 +21178,7 @@ class AbstractDefaultTaskListComponent extends TabbedVirtualScrollComponent {
21160
21178
  });
21161
21179
  }
21162
21180
  }
21163
- AbstractDefaultTaskListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDefaultTaskListComponent, deps: [{ token: TaskViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
21181
+ AbstractDefaultTaskListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDefaultTaskListComponent, deps: [{ token: TaskViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
21164
21182
  AbstractDefaultTaskListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractDefaultTaskListComponent, selector: "ncc-abstract-default-task-list", inputs: { loading$: "loading$", selectedHeaders$: "selectedHeaders$", responsiveBody: "responsiveBody", forceLoadDataOnOpen: "forceLoadDataOnOpen", textEllipsis: "textEllipsis", showMoreMenu: "showMoreMenu", allowMultiOpen: "allowMultiOpen" }, outputs: { taskEvent: "taskEvent" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
21165
21183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDefaultTaskListComponent, decorators: [{
21166
21184
  type: Component,
@@ -21174,7 +21192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21174
21192
  }, {
21175
21193
  type: Inject,
21176
21194
  args: [NAE_TAB_DATA]
21177
- }] }, { type: i3$1.ActivatedRoute }];
21195
+ }] }, { type: i2$5.ActivatedRoute }];
21178
21196
  }, propDecorators: { loading$: [{
21179
21197
  type: Input
21180
21198
  }], selectedHeaders$: [{
@@ -21213,7 +21231,7 @@ class AbstractTaskListComponent extends AbstractDefaultTaskListComponent {
21213
21231
  this._taskViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
21214
21232
  }
21215
21233
  }
21216
- AbstractTaskListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskListComponent, deps: [{ token: TaskViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
21234
+ AbstractTaskListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskListComponent, deps: [{ token: TaskViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
21217
21235
  AbstractTaskListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractTaskListComponent, selector: "ncc-abstract-task-list", inputs: { tasks$: "tasks$" }, viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
21218
21236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskListComponent, decorators: [{
21219
21237
  type: Component,
@@ -21227,7 +21245,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21227
21245
  }, {
21228
21246
  type: Inject,
21229
21247
  args: [NAE_TAB_DATA]
21230
- }] }, { type: i3$1.ActivatedRoute }];
21248
+ }] }, { type: i2$5.ActivatedRoute }];
21231
21249
  }, propDecorators: { tasks$: [{
21232
21250
  type: Input
21233
21251
  }], viewport: [{
@@ -21243,7 +21261,7 @@ class AbstractTaskListPaginationComponent extends AbstractDefaultTaskListCompone
21243
21261
  this.route = route;
21244
21262
  this.pageSize = 20;
21245
21263
  this.pageIndex = 0;
21246
- this.pageSizeOptions = [10, 20, 50, 100];
21264
+ this.pageSizeOptions = [10, 20, 50];
21247
21265
  }
21248
21266
  set tasks$(tasks) {
21249
21267
  this._tasks$ = tasks.pipe((tap(() => {
@@ -21260,7 +21278,7 @@ class AbstractTaskListPaginationComponent extends AbstractDefaultTaskListCompone
21260
21278
  this._taskViewService.nextPagePagination(this.pageSize, this.pageIndex);
21261
21279
  }
21262
21280
  }
21263
- AbstractTaskListPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskListPaginationComponent, deps: [{ token: TaskViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
21281
+ AbstractTaskListPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskListPaginationComponent, deps: [{ token: TaskViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
21264
21282
  AbstractTaskListPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractTaskListPaginationComponent, selector: "ncc-abstract-task-list-pagination-component", inputs: { disabled: "disabled", tasks$: "tasks$" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
21265
21283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskListPaginationComponent, decorators: [{
21266
21284
  type: Component,
@@ -21274,7 +21292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21274
21292
  }, {
21275
21293
  type: Inject,
21276
21294
  args: [NAE_TAB_DATA]
21277
- }] }, { type: i3$1.ActivatedRoute }];
21295
+ }] }, { type: i2$5.ActivatedRoute }];
21278
21296
  }, propDecorators: { disabled: [{
21279
21297
  type: Input
21280
21298
  }], tasks$: [{
@@ -21361,6 +21379,14 @@ class WorkflowViewService extends AbstractSortableViewComponent {
21361
21379
  get workflows$() {
21362
21380
  return this._workflows$;
21363
21381
  }
21382
+ setSearchTitle(title) {
21383
+ this._baseFilter.title = title;
21384
+ this.reload();
21385
+ }
21386
+ clearSearchTitle() {
21387
+ this._baseFilter.title = undefined;
21388
+ this.reload();
21389
+ }
21364
21390
  loadPage(pageRequest) {
21365
21391
  if (pageRequest.number < 0) {
21366
21392
  return of([]);
@@ -21369,7 +21395,14 @@ class WorkflowViewService extends AbstractSortableViewComponent {
21369
21395
  params = this.addSortParams(params);
21370
21396
  params = this.addPageParams(params, pageRequest);
21371
21397
  this._loading$.on();
21372
- return this._petriNetResource.searchPetriNets(this._baseFilter, params).pipe(catchError(err => {
21398
+ let request;
21399
+ if (this._baseFilter.title !== undefined) {
21400
+ request = this._petriNetResource.searchElasticPetriNets(this._baseFilter, params);
21401
+ }
21402
+ else {
21403
+ request = this._petriNetResource.searchPetriNets(this._baseFilter, params);
21404
+ }
21405
+ return request.pipe(catchError(err => {
21373
21406
  this._log.error('Loading Petri nets has failed!', err);
21374
21407
  return of({ content: [], pagination: Object.assign({}, this._pagination) });
21375
21408
  }), tap(res => {
@@ -21753,7 +21786,7 @@ class AbstractSingleTaskComponent {
21753
21786
  this.taskEvent.emit(event);
21754
21787
  }
21755
21788
  }
21756
- AbstractSingleTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskComponent, deps: [{ token: LoggerService }, { token: i3$1.ActivatedRoute }, { token: NAE_TAB_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
21789
+ AbstractSingleTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskComponent, deps: [{ token: LoggerService }, { token: i2$5.ActivatedRoute }, { token: NAE_TAB_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
21757
21790
  AbstractSingleTaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractSingleTaskComponent, selector: "ncc-abstract-single-task", inputs: { task$: "task$", loading$: "loading$", selectedHeaders$: "selectedHeaders$", responsiveBody: "responsiveBody", forceLoadDataOnOpen: "forceLoadDataOnOpen", textEllipsis: "textEllipsis", preventCollapse: "preventCollapse", hidePanelHeader: "hidePanelHeader", hideActionRow: "hideActionRow", noTaskSection: "noTaskSection", pageHeader: "pageHeader", pageFooter: "pageFooter", showPageHeader: "showPageHeader", showPageFooter: "showPageFooter", headerTitle: "headerTitle", footerText: "footerText", actionButtonTemplates: "actionButtonTemplates", actionRowJustifyContent: "actionRowJustifyContent" }, outputs: { taskEvent: "taskEvent" }, ngImport: i0, template: '', isInline: true });
21758
21791
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskComponent, decorators: [{
21759
21792
  type: Component,
@@ -21762,7 +21795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21762
21795
  template: ''
21763
21796
  }]
21764
21797
  }], ctorParameters: function () {
21765
- return [{ type: LoggerService }, { type: i3$1.ActivatedRoute }, { type: undefined, decorators: [{
21798
+ return [{ type: LoggerService }, { type: i2$5.ActivatedRoute }, { type: undefined, decorators: [{
21766
21799
  type: Optional
21767
21800
  }, {
21768
21801
  type: Inject,
@@ -22247,9 +22280,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22247
22280
  }] } });
22248
22281
 
22249
22282
  class AbstractToolbarComponent {
22250
- constructor(translate, selectLangService) {
22283
+ constructor(translate, selectLangService, userService, router, redirectService) {
22251
22284
  this.translate = translate;
22252
22285
  this.selectLangService = selectLangService;
22286
+ this.userService = userService;
22287
+ this.router = router;
22288
+ this.redirectService = redirectService;
22289
+ this.toolbarConfig = {
22290
+ profileEnabled: false,
22291
+ languageEnabled: false,
22292
+ logoutEnabled: false,
22293
+ simpleToolbar: true,
22294
+ toolbarName: {
22295
+ defaultValue: 'Netgrif',
22296
+ translations: {}
22297
+ },
22298
+ toolbarLogo: 'assets/img/netgrif_full_white.svg',
22299
+ profileUrl: 'profile',
22300
+ loginUrl: ''
22301
+ };
22253
22302
  }
22254
22303
  setLang(lang) {
22255
22304
  this.selectLangService.setLanguage(lang);
@@ -22257,22 +22306,40 @@ class AbstractToolbarComponent {
22257
22306
  activeLang(lang) {
22258
22307
  return this.translate.currentLang === lang;
22259
22308
  }
22309
+ logout() {
22310
+ this.userService.logout().subscribe(() => {
22311
+ if (!!this.toolbarConfig.loginUrl && this.toolbarConfig.loginUrl !== "") {
22312
+ this.router.navigate([this.toolbarConfig.loginUrl]);
22313
+ }
22314
+ else {
22315
+ this.router.navigate([this.redirectService.resolveLoginPath()]);
22316
+ }
22317
+ });
22318
+ }
22319
+ profile() {
22320
+ this.router.navigate([this.toolbarConfig.profileUrl]);
22321
+ }
22322
+ get loggedUser() {
22323
+ return this.userService.user;
22324
+ }
22325
+ isImpersonating() {
22326
+ return this.loggedUser.isImpersonating();
22327
+ }
22328
+ getToolbarTitle() {
22329
+ return this.selectLangService.getLanguage() in this.toolbarConfig.toolbarName.translations
22330
+ ? this.toolbarConfig.toolbarName.translations[this.selectLangService.getLanguage()]
22331
+ : this.toolbarConfig.toolbarName.defaultValue;
22332
+ }
22260
22333
  }
22261
- AbstractToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractToolbarComponent, deps: [{ token: i1$2.TranslateService }, { token: LanguageService }], target: i0.ɵɵFactoryTarget.Component });
22262
- AbstractToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractToolbarComponent, selector: "ncc-abstract-toolbar", inputs: { loggedUser: "loggedUser", appName: "appName", logoSrc: "logoSrc", logoAlt: "logoAlt" }, ngImport: i0, template: '', isInline: true });
22334
+ AbstractToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractToolbarComponent, deps: [{ token: i1$2.TranslateService }, { token: LanguageService }, { token: UserService }, { token: i2$5.Router }, { token: RedirectService }], target: i0.ɵɵFactoryTarget.Component });
22335
+ AbstractToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractToolbarComponent, selector: "ncc-abstract-toolbar", inputs: { toolbarConfig: "toolbarConfig" }, ngImport: i0, template: '', isInline: true });
22263
22336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractToolbarComponent, decorators: [{
22264
22337
  type: Component,
22265
22338
  args: [{
22266
22339
  selector: 'ncc-abstract-toolbar',
22267
22340
  template: ''
22268
22341
  }]
22269
- }], ctorParameters: function () { return [{ type: i1$2.TranslateService }, { type: LanguageService }]; }, propDecorators: { loggedUser: [{
22270
- type: Input
22271
- }], appName: [{
22272
- type: Input
22273
- }], logoSrc: [{
22274
- type: Input
22275
- }], logoAlt: [{
22342
+ }], ctorParameters: function () { return [{ type: i1$2.TranslateService }, { type: LanguageService }, { type: UserService }, { type: i2$5.Router }, { type: RedirectService }]; }, propDecorators: { toolbarConfig: [{
22276
22343
  type: Input
22277
22344
  }] } });
22278
22345
 
@@ -22790,11 +22857,11 @@ var GroupNavigationConstants;
22790
22857
  /**
22791
22858
  * EnumerationMap field, that contains selected search type for case view
22792
22859
  * */
22793
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_VIEW_SEARCH_TYPE"] = "case_view_search_type";
22860
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_VIEW_SEARCH_TYPE"] = "view_search_type";
22794
22861
  /**
22795
22862
  * EnumerationMap field, that contains selected search type for task view
22796
22863
  * */
22797
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_VIEW_SEARCH_TYPE"] = "task_view_search_type";
22864
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_VIEW_SEARCH_TYPE"] = "view_search_type";
22798
22865
  /**
22799
22866
  * Boolean field, that is true if user wants to merge base filter and custom filter
22800
22867
  * */
@@ -22806,67 +22873,67 @@ var GroupNavigationConstants;
22806
22873
  /**
22807
22874
  * Boolean field, that is true if the user wants to see more menu for case item in case view
22808
22875
  * */
22809
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_SHOW_MORE_MENU"] = "case_show_more_menu";
22876
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_SHOW_MORE_MENU"] = "show_more_menu";
22810
22877
  /**
22811
22878
  * Boolean field, that is true if no input for title in case creation is shown
22812
22879
  * */
22813
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_TITLE_IN_CREATION"] = "case_require_title_in_creation";
22880
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_TITLE_IN_CREATION"] = "require_title_in_creation";
22814
22881
  /**
22815
22882
  * Text field, that contains banned processes in case creation as a value
22816
22883
  * */
22817
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_BANNED_PROCESS_CREATION"] = "case_banned_nets_in_creation";
22884
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_BANNED_PROCESS_CREATION"] = "banned_nets_in_creation";
22818
22885
  /**
22819
22886
  * Boolean field, that is true if the user wants to see more menu for task item in task view
22820
22887
  * */
22821
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_SHOW_MORE_MENU"] = "task_show_more_menu";
22888
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_SHOW_MORE_MENU"] = "show_more_menu";
22822
22889
  /**
22823
22890
  * MultichoiceMap field, that contains selected header modes for case view as a value
22824
22891
  * */
22825
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_HEADERS_MODE"] = "case_headers_mode";
22892
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_HEADERS_MODE"] = "headers_mode";
22826
22893
  /**
22827
22894
  * Boolean field, that is true if table mode can be applied in case view
22828
22895
  * */
22829
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_ALLOW_TABLE_MODE"] = "case_allow_header_table_mode";
22896
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_ALLOW_TABLE_MODE"] = "allow_header_table_mode";
22830
22897
  /**
22831
22898
  * EnumerationMap field, that contains selected default header mode for case view as a value
22832
22899
  * */
22833
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_DEFAULT_HEADERS_MODE"] = "case_headers_default_mode";
22900
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_DEFAULT_HEADERS_MODE"] = "headers_default_mode";
22834
22901
  /**
22835
22902
  * Boolean field, that is true to make mode menu in case view visible
22836
22903
  * */
22837
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_HEADERS_CHANGEABLE"] = "case_is_header_mode_changeable";
22904
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_HEADERS_CHANGEABLE"] = "is_header_mode_changeable";
22838
22905
  /**
22839
22906
  * MultichoiceMap field, that contains selected header modes for task view as a value
22840
22907
  * */
22841
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_HEADERS_MODE"] = "task_headers_mode";
22908
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_HEADERS_MODE"] = "headers_mode";
22842
22909
  /**
22843
22910
  * Boolean field, that is true if table mode can be applied in task view
22844
22911
  * */
22845
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_ALLOW_TABLE_MODE"] = "task_allow_header_table_mode";
22912
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_ALLOW_TABLE_MODE"] = "allow_header_table_mode";
22846
22913
  /**
22847
22914
  * EnumerationMap field, that contains selected default header mode for task view as a value
22848
22915
  * */
22849
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_DEFAULT_HEADERS_MODE"] = "task_headers_default_mode";
22916
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_DEFAULT_HEADERS_MODE"] = "headers_default_mode";
22850
22917
  /**
22851
22918
  * Boolean field, that is true to make mode menu in task view visible
22852
22919
  * */
22853
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_HEADERS_CHANGEABLE"] = "task_is_header_mode_changeable";
22920
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_HEADERS_CHANGEABLE"] = "is_header_mode_changeable";
22854
22921
  /**
22855
22922
  * Boolean field, that is true to use default headers configuration for case view
22856
22923
  * */
22857
- GroupNavigationConstants["ITEM_FIELD_ID_USE_CASE_DEFAULT_HEADERS"] = "use_case_default_headers";
22924
+ GroupNavigationConstants["ITEM_FIELD_ID_USE_CASE_DEFAULT_HEADERS"] = "use_default_headers";
22858
22925
  /**
22859
22926
  * Text field, that contains default header metadata separated by comma for case view as a value
22860
22927
  * */
22861
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_DEFAULT_HEADERS"] = "case_default_headers";
22928
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_DEFAULT_HEADERS"] = "default_headers";
22862
22929
  /**
22863
22930
  * Boolean field, that is true to use default headers configuration for task view
22864
22931
  * */
22865
- GroupNavigationConstants["ITEM_FIELD_ID_USE_TASK_DEFAULT_HEADERS"] = "use_task_default_headers";
22932
+ GroupNavigationConstants["ITEM_FIELD_ID_USE_TASK_DEFAULT_HEADERS"] = "use_default_headers";
22866
22933
  /**
22867
22934
  * Text field, that contains default header metadata separated by comma for task view as a value
22868
22935
  * */
22869
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_DEFAULT_HEADERS"] = "task_default_headers";
22936
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_DEFAULT_HEADERS"] = "default_headers";
22870
22937
  /**
22871
22938
  * MultichoiceMap field, that contains allowed roles as value
22872
22939
  * */
@@ -22895,6 +22962,14 @@ var GroupNavigationConstants;
22895
22962
  * CaseField containing stringIds of child instances of process preference_item
22896
22963
  * */
22897
22964
  GroupNavigationConstants["ITEM_FIELD_ID_CHILD_ITEM_IDS"] = "childItemIds";
22965
+ /**
22966
+ * Boolean field, that is true if item contains view, that should be automatically opened.
22967
+ * */
22968
+ GroupNavigationConstants["ITEM_FIELD_ID_IS_AUTO_SELECT"] = "is_auto_select";
22969
+ /**
22970
+ * Boolean field, that is true if item contains view.
22971
+ * */
22972
+ GroupNavigationConstants["ITEM_FIELD_CONTAINS_FILTER"] = "contains_filter";
22898
22973
  })(GroupNavigationConstants || (GroupNavigationConstants = {}));
22899
22974
 
22900
22975
  /**
@@ -23235,7 +23310,7 @@ class UriService {
23235
23310
  data: {
23236
23311
  [GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH]: node.uriPath
23237
23312
  },
23238
- process: { identifier: "preference_item" }
23313
+ process: { identifier: "menu_item" }
23239
23314
  };
23240
23315
  let httpParams = new HttpParams()
23241
23316
  .set(PaginationParams.PAGE_SIZE, 1)
@@ -24487,7 +24562,7 @@ class AbstractViewWithHeadersComponent {
24487
24562
  return !(((_a = this.config) === null || _a === void 0 ? void 0 : _a[ConfigParams.PANEL_HEADER]) === 'false');
24488
24563
  }
24489
24564
  }
24490
- AbstractViewWithHeadersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractViewWithHeadersComponent, deps: [{ token: AbstractSortableViewComponent }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
24565
+ AbstractViewWithHeadersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractViewWithHeadersComponent, deps: [{ token: AbstractSortableViewComponent }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
24491
24566
  AbstractViewWithHeadersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractViewWithHeadersComponent, selector: "ncc-abstract-view-with-headers", ngImport: i0, template: '', isInline: true });
24492
24567
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractViewWithHeadersComponent, decorators: [{
24493
24568
  type: Component,
@@ -24495,7 +24570,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24495
24570
  selector: 'ncc-abstract-view-with-headers',
24496
24571
  template: ''
24497
24572
  }]
24498
- }], ctorParameters: function () { return [{ type: AbstractSortableViewComponent }, { type: i3$1.ActivatedRoute }]; } });
24573
+ }], ctorParameters: function () { return [{ type: AbstractSortableViewComponent }, { type: i2$5.ActivatedRoute }]; } });
24499
24574
 
24500
24575
  class AbstractTaskViewComponent extends AbstractViewWithHeadersComponent {
24501
24576
  constructor(taskViewService, _activatedRoute) {
@@ -24508,7 +24583,7 @@ class AbstractTaskViewComponent extends AbstractViewWithHeadersComponent {
24508
24583
  super.ngOnDestroy();
24509
24584
  }
24510
24585
  }
24511
- AbstractTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskViewComponent, deps: [{ token: TaskViewService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
24586
+ AbstractTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskViewComponent, deps: [{ token: TaskViewService }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
24512
24587
  AbstractTaskViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractTaskViewComponent, selector: "ncc-abstract-task-view", usesInheritance: true, ngImport: i0, template: '', isInline: true });
24513
24588
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskViewComponent, decorators: [{
24514
24589
  type: Component,
@@ -24516,7 +24591,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24516
24591
  selector: 'ncc-abstract-task-view',
24517
24592
  template: ''
24518
24593
  }]
24519
- }], ctorParameters: function () { return [{ type: TaskViewService }, { type: i3$1.ActivatedRoute }]; } });
24594
+ }], ctorParameters: function () { return [{ type: TaskViewService }, { type: i2$5.ActivatedRoute }]; } });
24520
24595
 
24521
24596
  /**
24522
24597
  * Holds all identifiers of the Filter process in an accessible manner
@@ -24942,7 +25017,7 @@ class AbstractSaveFilterComponent extends AbstractTaskViewComponent {
24942
25017
  }
24943
25018
  }
24944
25019
  }
24945
- AbstractSaveFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSaveFilterComponent, deps: [{ token: NAE_SIDE_MENU_CONTROL }, { token: UserFiltersService }, { token: LoggerService }, { token: TaskViewService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
25020
+ AbstractSaveFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSaveFilterComponent, deps: [{ token: NAE_SIDE_MENU_CONTROL }, { token: UserFiltersService }, { token: LoggerService }, { token: TaskViewService }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
24946
25021
  AbstractSaveFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractSaveFilterComponent, selector: "ncc-abstract-save-filter", usesInheritance: true, ngImport: i0, template: '', isInline: true });
24947
25022
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSaveFilterComponent, decorators: [{
24948
25023
  type: Component,
@@ -24954,7 +25029,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24954
25029
  return [{ type: SideMenuControl, decorators: [{
24955
25030
  type: Inject,
24956
25031
  args: [NAE_SIDE_MENU_CONTROL]
24957
- }] }, { type: UserFiltersService }, { type: LoggerService }, { type: TaskViewService }, { type: i3$1.ActivatedRoute }];
25032
+ }] }, { type: UserFiltersService }, { type: LoggerService }, { type: TaskViewService }, { type: i2$5.ActivatedRoute }];
24958
25033
  } });
24959
25034
 
24960
25035
  var HeaderType;
@@ -25008,7 +25083,7 @@ class AbstractCaseViewComponent extends AbstractViewWithHeadersComponent {
25008
25083
  }
25009
25084
  }
25010
25085
  }
25011
- AbstractCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseViewComponent, deps: [{ token: CaseViewService }, { token: OverflowService }, { token: Array }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
25086
+ AbstractCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseViewComponent, deps: [{ token: CaseViewService }, { token: OverflowService }, { token: Array }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
25012
25087
  AbstractCaseViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractCaseViewComponent, selector: "ncc-abstract-case-view", usesInheritance: true, ngImport: i0, template: '', isInline: true });
25013
25088
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseViewComponent, decorators: [{
25014
25089
  type: Component,
@@ -25022,7 +25097,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
25022
25097
  }, {
25023
25098
  type: Inject,
25024
25099
  args: [NAE_NEW_CASE_CREATION_CONFIGURATION_DATA]
25025
- }] }, { type: i3$1.ActivatedRoute }];
25100
+ }] }, { type: i2$5.ActivatedRoute }];
25026
25101
  } });
25027
25102
 
25028
25103
  class AbstractLoadFilterComponent extends AbstractCaseViewComponent {
@@ -26111,12 +26186,10 @@ function stopPropagation($event) {
26111
26186
  }
26112
26187
 
26113
26188
  class AbstractHeaderComponent {
26114
- constructor(_injector, _translate, _overflowService, _caseViewService, _dataFieldPortalData) {
26189
+ constructor(_injector, _translate, _overflowService) {
26115
26190
  this._injector = _injector;
26116
26191
  this._translate = _translate;
26117
26192
  this._overflowService = _overflowService;
26118
- this._caseViewService = _caseViewService;
26119
- this._dataFieldPortalData = _dataFieldPortalData;
26120
26193
  this.DEFAULT_COLUMN_COUNT = 6;
26121
26194
  this.DEFAULT_COLUMN_WIDTH = 220;
26122
26195
  this.INPUT_DEBOUNCE_TIME = 600;
@@ -26131,7 +26204,6 @@ class AbstractHeaderComponent {
26131
26204
  this._initHeaderCount = undefined;
26132
26205
  this._initResponsiveHeaders = undefined;
26133
26206
  this.initializeFormControls(this._overflowService !== null);
26134
- this._changeValue = true;
26135
26207
  }
26136
26208
  set maxHeaderColumns(count) {
26137
26209
  if (this.headerService) {
@@ -26170,7 +26242,6 @@ class AbstractHeaderComponent {
26170
26242
  this.headerService.responsiveHeaders = this._initResponsiveHeaders;
26171
26243
  }
26172
26244
  this.headerService.preferenceColumnCount$.subscribe(value => this.columnCountControl.setValue(value));
26173
- this.resolveApprovalDatafields();
26174
26245
  }
26175
26246
  ngOnDestroy() {
26176
26247
  if (this.canOverflow) {
@@ -26178,9 +26249,6 @@ class AbstractHeaderComponent {
26178
26249
  this.subColumnCountControl.unsubscribe();
26179
26250
  this.subOverflowControl.unsubscribe();
26180
26251
  }
26181
- if (this._subCases) {
26182
- this._subCases.unsubscribe();
26183
- }
26184
26252
  }
26185
26253
  /**
26186
26254
  * Injects the correct {@link AbstractHeaderService} instance based on this component's type
@@ -26271,57 +26339,8 @@ class AbstractHeaderComponent {
26271
26339
  }
26272
26340
  });
26273
26341
  }
26274
- indeterminate() {
26275
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
26276
- if (this._caseViewService) {
26277
- return ((_c = (_b = (_a = this._dataFieldPortalData) === null || _a === void 0 ? void 0 : _a.dataField) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.length) > 0 &&
26278
- this._caseViewService.cases.some(value => { var _a; return (_a = this._dataFieldPortalData) === null || _a === void 0 ? void 0 : _a.dataField.value.includes(value.stringId); }) &&
26279
- !this.resolveApprovalValue();
26280
- }
26281
- return ((_f = (_e = (_d = this._dataFieldPortalData) === null || _d === void 0 ? void 0 : _d.dataField) === null || _e === void 0 ? void 0 : _e.value) === null || _f === void 0 ? void 0 : _f.length) > 0 &&
26282
- ((_j = (_h = (_g = this._dataFieldPortalData) === null || _g === void 0 ? void 0 : _g.dataField) === null || _h === void 0 ? void 0 : _h.value) === null || _j === void 0 ? void 0 : _j.length) < ((_m = (_l = (_k = this._dataFieldPortalData) === null || _k === void 0 ? void 0 : _k.dataField) === null || _l === void 0 ? void 0 : _l.choices) === null || _m === void 0 ? void 0 : _m.length);
26283
- }
26284
- typeApproval() {
26285
- var _a;
26286
- return ((_a = this._dataFieldPortalData) === null || _a === void 0 ? void 0 : _a.dataField) instanceof MultichoiceField ? 'multichoice' : 'enumeration';
26287
- }
26288
- resolveApprovalDatafields() {
26289
- if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof MultichoiceField && this._caseViewService) {
26290
- this.approvalFormControl.setValue(this.resolveApprovalValue());
26291
- this.approvalFormControl.valueChanges.subscribe(value => {
26292
- if (this._changeValue) {
26293
- if (value) {
26294
- this._dataFieldPortalData.dataField.value = this._caseViewService.cases.map(caze => caze.stringId);
26295
- }
26296
- else {
26297
- this._dataFieldPortalData.dataField.value = [];
26298
- }
26299
- }
26300
- this._changeValue = true;
26301
- });
26302
- this._dataFieldPortalData.dataField.valueChanges().subscribe(() => {
26303
- this._changeValue = false;
26304
- this.approvalFormControl.setValue(this.resolveApprovalValue());
26305
- });
26306
- this._subCases = this._caseViewService.cases$.subscribe(() => {
26307
- this._changeValue = false;
26308
- this.approvalFormControl.setValue(this.resolveApprovalValue());
26309
- });
26310
- }
26311
- if (this._dataFieldPortalData !== null && this._dataFieldPortalData.dataField instanceof EnumerationField) {
26312
- this.approvalFormControl.valueChanges.subscribe(value => {
26313
- this._dataFieldPortalData.dataField.value = null;
26314
- });
26315
- }
26316
- }
26317
- resolveApprovalValue() {
26318
- if (this._caseViewService.cases.length === 0) {
26319
- return false;
26320
- }
26321
- return this._caseViewService.cases.every(value => { var _a; return (_a = this._dataFieldPortalData) === null || _a === void 0 ? void 0 : _a.dataField.value.includes(value.stringId); });
26322
- }
26323
26342
  }
26324
- AbstractHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractHeaderComponent, deps: [{ token: i0.Injector }, { token: i1$2.TranslateService }, { token: OverflowService, optional: true }, { token: CaseViewService, optional: true }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
26343
+ AbstractHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractHeaderComponent, deps: [{ token: i0.Injector }, { token: i1$2.TranslateService }, { token: OverflowService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
26325
26344
  AbstractHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractHeaderComponent, selector: "ncc-abstract-header", inputs: { type: "type", hideHeaderMenu: "hideHeaderMenu", showEditButton: "showEditButton", showSortButton: "showSortButton", showSearchButton: "showSearchButton", showTableSection: "showTableSection", approval: "approval", maxHeaderColumns: "maxHeaderColumns", responsiveHeaders: "responsiveHeaders" }, ngImport: i0, template: '', isInline: true });
26326
26345
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractHeaderComponent, decorators: [{
26327
26346
  type: Component,
@@ -26332,13 +26351,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
26332
26351
  }], ctorParameters: function () {
26333
26352
  return [{ type: i0.Injector }, { type: i1$2.TranslateService }, { type: OverflowService, decorators: [{
26334
26353
  type: Optional
26335
- }] }, { type: CaseViewService, decorators: [{
26336
- type: Optional
26337
- }] }, { type: undefined, decorators: [{
26338
- type: Optional
26339
- }, {
26340
- type: Inject,
26341
- args: [DATA_FIELD_PORTAL_DATA]
26342
26354
  }] }];
26343
26355
  }, propDecorators: { type: [{
26344
26356
  type: Input
@@ -27029,7 +27041,7 @@ class AbstractLogoutShortcutComponent {
27029
27041
  });
27030
27042
  }
27031
27043
  }
27032
- AbstractLogoutShortcutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractLogoutShortcutComponent, deps: [{ token: UserService }, { token: LoggerService }, { token: ConfigurationService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component });
27044
+ AbstractLogoutShortcutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractLogoutShortcutComponent, deps: [{ token: UserService }, { token: LoggerService }, { token: ConfigurationService }, { token: i2$5.Router }], target: i0.ɵɵFactoryTarget.Component });
27033
27045
  AbstractLogoutShortcutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractLogoutShortcutComponent, selector: "ncc-abstract-logout-shortcut", outputs: { loggedOut: "loggedOut" }, ngImport: i0, template: '', isInline: true });
27034
27046
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractLogoutShortcutComponent, decorators: [{
27035
27047
  type: Component,
@@ -27037,7 +27049,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
27037
27049
  selector: 'ncc-abstract-logout-shortcut',
27038
27050
  template: '',
27039
27051
  }]
27040
- }], ctorParameters: function () { return [{ type: UserService }, { type: LoggerService }, { type: ConfigurationService }, { type: i3$1.Router }]; }, propDecorators: { loggedOut: [{
27052
+ }], ctorParameters: function () { return [{ type: UserService }, { type: LoggerService }, { type: ConfigurationService }, { type: i2$5.Router }]; }, propDecorators: { loggedOut: [{
27041
27053
  type: Output
27042
27054
  }] } });
27043
27055
 
@@ -27201,14 +27213,14 @@ class AuthorityGuardService {
27201
27213
  }
27202
27214
  }
27203
27215
  }
27204
- AuthorityGuardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthorityGuardService, deps: [{ token: RedirectService }, { token: UserService }, { token: ConfigurationService }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
27216
+ AuthorityGuardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthorityGuardService, deps: [{ token: RedirectService }, { token: UserService }, { token: ConfigurationService }, { token: i2$5.Router }], target: i0.ɵɵFactoryTarget.Injectable });
27205
27217
  AuthorityGuardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthorityGuardService, providedIn: AuthenticationModule });
27206
27218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthorityGuardService, decorators: [{
27207
27219
  type: Injectable,
27208
27220
  args: [{
27209
27221
  providedIn: AuthenticationModule
27210
27222
  }]
27211
- }], ctorParameters: function () { return [{ type: RedirectService }, { type: UserService }, { type: ConfigurationService }, { type: i3$1.Router }]; } });
27223
+ }], ctorParameters: function () { return [{ type: RedirectService }, { type: UserService }, { type: ConfigurationService }, { type: i2$5.Router }]; } });
27212
27224
 
27213
27225
  class GroupGuardService {
27214
27226
  constructor(_redirectService, _userService, _nextGroupService, _configService, _log) {
@@ -27536,7 +27548,7 @@ class AbstractNavigationTreeComponent extends AbstractNavigationResizableDrawerC
27536
27548
  this.resolveLevels(this.dataSource.data);
27537
27549
  }
27538
27550
  }
27539
- AbstractNavigationTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationTreeComponent, deps: [{ token: ConfigurationService }, { token: i3$1.Router }, { token: LoggerService }, { token: UserService }, { token: AccessService }, { token: ActiveGroupService }, { token: TaskResourceService }, { token: LanguageService }, { token: DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
27551
+ AbstractNavigationTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationTreeComponent, deps: [{ token: ConfigurationService }, { token: i2$5.Router }, { token: LoggerService }, { token: UserService }, { token: AccessService }, { token: ActiveGroupService }, { token: TaskResourceService }, { token: LanguageService }, { token: DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
27540
27552
  AbstractNavigationTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractNavigationTreeComponent, selector: "ncc-abstract-navigation-tree", inputs: { viewPath: "viewPath", parentUrl: "parentUrl", routerChange: "routerChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
27541
27553
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationTreeComponent, decorators: [{
27542
27554
  type: Component,
@@ -27544,7 +27556,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
27544
27556
  selector: 'ncc-abstract-navigation-tree',
27545
27557
  template: ''
27546
27558
  }]
27547
- }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: i3$1.Router }, { type: LoggerService }, { type: UserService }, { type: AccessService }, { type: ActiveGroupService }, { type: TaskResourceService }, { type: LanguageService }, { type: DynamicNavigationRouteProviderService }]; }, propDecorators: { viewPath: [{
27559
+ }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: i2$5.Router }, { type: LoggerService }, { type: UserService }, { type: AccessService }, { type: ActiveGroupService }, { type: TaskResourceService }, { type: LanguageService }, { type: DynamicNavigationRouteProviderService }]; }, propDecorators: { viewPath: [{
27548
27560
  type: Input
27549
27561
  }], parentUrl: [{
27550
27562
  type: Input
@@ -28080,7 +28092,7 @@ class RoutingBuilderService {
28080
28092
  return result;
28081
28093
  }
28082
28094
  }
28083
- RoutingBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, deps: [{ token: i3$1.Router }, { token: ConfigurationService }, { token: ViewService }, { token: LoggerService }, { token: DynamicNavigationRouteProviderService }, { token: NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
28095
+ RoutingBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, deps: [{ token: i2$5.Router }, { token: ConfigurationService }, { token: ViewService }, { token: LoggerService }, { token: DynamicNavigationRouteProviderService }, { token: NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
28084
28096
  RoutingBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, providedIn: 'root' });
28085
28097
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, decorators: [{
28086
28098
  type: Injectable,
@@ -28088,7 +28100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28088
28100
  providedIn: 'root'
28089
28101
  }]
28090
28102
  }], ctorParameters: function () {
28091
- return [{ type: i3$1.Router }, { type: ConfigurationService }, { type: ViewService }, { type: LoggerService }, { type: DynamicNavigationRouteProviderService }, { type: i0.Type, decorators: [{
28103
+ return [{ type: i2$5.Router }, { type: ConfigurationService }, { type: ViewService }, { type: LoggerService }, { type: DynamicNavigationRouteProviderService }, { type: i0.Type, decorators: [{
28092
28104
  type: Optional
28093
28105
  }, {
28094
28106
  type: Inject,
@@ -28097,7 +28109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28097
28109
  } });
28098
28110
 
28099
28111
  const MENU_IDENTIFIERS = [
28100
- 'preference_item',
28112
+ 'menu_item',
28101
28113
  ];
28102
28114
  const SETTINGS_TRANSITION_ID = 'item_settings';
28103
28115
  const LEFT_DRAWER_DEFAULT_WIDTH = 60;
@@ -28112,6 +28124,55 @@ var MenuOrder;
28112
28124
  MenuOrder[MenuOrder["Descending"] = 1] = "Descending";
28113
28125
  })(MenuOrder || (MenuOrder = {}));
28114
28126
 
28127
+ class DoubleDrawerUtils {
28128
+ constructor() { }
28129
+ static hasItemChildren(item) {
28130
+ var _a, _b;
28131
+ return (_b = (_a = item.resource) === null || _a === void 0 ? void 0 : _a.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_HAS_CHILDREN)) === null || _b === void 0 ? void 0 : _b.value;
28132
+ }
28133
+ static hasItemAutoOpenView(item) {
28134
+ var _a, _b;
28135
+ return (_b = (_a = item.resource) === null || _a === void 0 ? void 0 : _a.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_IS_AUTO_SELECT)) === null || _b === void 0 ? void 0 : _b.value;
28136
+ }
28137
+ static hasItemView(item) {
28138
+ var _a, _b;
28139
+ return (_b = (_a = item === null || item === void 0 ? void 0 : item.resource) === null || _a === void 0 ? void 0 : _a.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_CONTAINS_FILTER)) === null || _b === void 0 ? void 0 : _b.value;
28140
+ }
28141
+ static isItemAndNodeEqual(item, node) {
28142
+ var _a, _b;
28143
+ return ((_b = (_a = item.resource) === null || _a === void 0 ? void 0 : _a.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)) === null || _b === void 0 ? void 0 : _b.value) === node.uriPath;
28144
+ }
28145
+ static extractChildCaseIds(item) {
28146
+ var _a;
28147
+ return (_a = item.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_CHILD_ITEM_IDS)) === null || _a === void 0 ? void 0 : _a.value;
28148
+ }
28149
+ static representsRootNode(item) {
28150
+ return item.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH).value === '/';
28151
+ }
28152
+ static resolveAccessRoles(filter, roleType) {
28153
+ var _a;
28154
+ const allowedRoles = (_a = filter.immediateData.find(f => f.stringId === roleType)) === null || _a === void 0 ? void 0 : _a.options;
28155
+ if (!allowedRoles || Object.keys(allowedRoles).length === 0)
28156
+ return undefined;
28157
+ const roles = [];
28158
+ Object.keys(allowedRoles).forEach(combined => {
28159
+ const parts = combined.split(':');
28160
+ roles.push({
28161
+ processId: parts[1],
28162
+ roleId: parts[0],
28163
+ });
28164
+ });
28165
+ return roles;
28166
+ }
28167
+ static isNodeCorrespondingToItem(node, item) {
28168
+ var _a, _b;
28169
+ return ((_b = (_a = item.resource) === null || _a === void 0 ? void 0 : _a.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)) === null || _b === void 0 ? void 0 : _b.value) === node.uriPath;
28170
+ }
28171
+ static findTaskIdInCase(useCase, transId) {
28172
+ return useCase.tasks.find(taskPair => taskPair.transition === transId).task;
28173
+ }
28174
+ }
28175
+
28115
28176
  /**
28116
28177
  * Holds all identifiers of the Impersonation config process in an accessible manner
28117
28178
  */
@@ -28192,14 +28253,14 @@ class ImpersonationService extends AbstractResourceService {
28192
28253
  }
28193
28254
  }
28194
28255
  }
28195
- ImpersonationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImpersonationService, deps: [{ token: ResourceProvider }, { token: i3$1.Router }, { token: ConfigurationService }, { token: UserService }, { token: SnackBarService }, { token: FilterRepository }, { token: LoggerService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
28256
+ ImpersonationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImpersonationService, deps: [{ token: ResourceProvider }, { token: i2$5.Router }, { token: ConfigurationService }, { token: UserService }, { token: SnackBarService }, { token: FilterRepository }, { token: LoggerService }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
28196
28257
  ImpersonationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImpersonationService, providedIn: 'root' });
28197
28258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImpersonationService, decorators: [{
28198
28259
  type: Injectable,
28199
28260
  args: [{
28200
28261
  providedIn: 'root'
28201
28262
  }]
28202
- }], ctorParameters: function () { return [{ type: ResourceProvider }, { type: i3$1.Router }, { type: ConfigurationService }, { type: UserService }, { type: SnackBarService }, { type: FilterRepository }, { type: LoggerService }, { type: i1$2.TranslateService }]; } });
28263
+ }], ctorParameters: function () { return [{ type: ResourceProvider }, { type: i2$5.Router }, { type: ConfigurationService }, { type: UserService }, { type: SnackBarService }, { type: FilterRepository }, { type: LoggerService }, { type: i1$2.TranslateService }]; } });
28203
28264
 
28204
28265
  class ImpersonationUserSelectService {
28205
28266
  constructor(_log, _snackBar, _impersonation, _user, _dialog, _userImpersonateComponent, _adminImpersonateComponent) {
@@ -28284,88 +28345,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28284
28345
  }] }];
28285
28346
  } });
28286
28347
 
28287
- class AbstractNavigationDoubleDrawerComponent {
28288
- constructor(_router, _activatedRoute, _breakpoint, _languageService, _translateService, _userService, _accessService, _log, _config, _uriService, _caseResourceService, _impersonationUserSelect, _impersonation, _dynamicRoutingService) {
28289
- this._router = _router;
28290
- this._activatedRoute = _activatedRoute;
28291
- this._breakpoint = _breakpoint;
28292
- this._languageService = _languageService;
28293
- this._translateService = _translateService;
28294
- this._userService = _userService;
28295
- this._accessService = _accessService;
28348
+ /**
28349
+ * Service for managing navigation in double-drawer
28350
+ * */
28351
+ class DoubleDrawerNavigationService {
28352
+ constructor(_uriService, _log, _config, _activatedRoute, _caseResourceService, _accessService, _translateService, _dynamicRoutingService, _redirectService) {
28353
+ this._uriService = _uriService;
28296
28354
  this._log = _log;
28297
28355
  this._config = _config;
28298
- this._uriService = _uriService;
28356
+ this._activatedRoute = _activatedRoute;
28299
28357
  this._caseResourceService = _caseResourceService;
28300
- this._impersonationUserSelect = _impersonationUserSelect;
28301
- this._impersonation = _impersonation;
28358
+ this._accessService = _accessService;
28359
+ this._translateService = _translateService;
28302
28360
  this._dynamicRoutingService = _dynamicRoutingService;
28303
- this.imageRouterLink = '/';
28304
- this.imageAlt = 'Logo';
28305
- this.profileRouterLink = '/profile';
28306
- this.includeUser = true;
28307
- this.includeLanguage = true;
28308
- this.includeMoreMenu = true;
28309
- this.includeImpersonation = true;
28310
- this.allClosable = true;
28311
- this.folderIcon = 'folder';
28312
- this.openedFolderIcon = 'folder_open';
28313
- this.filterIcon = 'filter_alt';
28314
- this.foldersCategoryName = 'toolbar.menu.folders';
28315
- this.viewsCategoryName = 'toolbar.menu.views';
28316
- this.loggedOut = new EventEmitter(true); // on logout
28317
- this.stateChanged = new EventEmitter(); // on menu state change
28318
- this.itemClicked = new EventEmitter(); // on item click
28319
- this.resized = new EventEmitter(true); // on menu resize
28320
- this.itemLoaded = new EventEmitter(true); // on item loaded
28321
- this._configLeftMenu = {
28322
- mode: 'side',
28323
- opened: true,
28324
- disableClose: false,
28325
- width: LEFT_DRAWER_DEFAULT_WIDTH,
28326
- };
28327
- this._configRightMenu = {
28328
- mode: 'side',
28329
- opened: true,
28330
- disableClose: false,
28331
- width: RIGHT_DRAWER_DEFAULT_WIDTH,
28332
- };
28333
- this.leftItems = new Array();
28334
- this.rightItems = new Array();
28335
- this.leftLoading$ = new LoadingEmitter();
28336
- this.rightLoading$ = new LoadingEmitter();
28337
- this.nodeLoading$ = new LoadingEmitter();
28338
- this.itemsOrder = MenuOrder.Ascending;
28339
- this.hiddenCustomItems = [];
28340
- this.moreItems = new Array();
28361
+ this._redirectService = _redirectService;
28362
+ this.defaultViewIcon = 'filter_alt';
28363
+ this._leftItems$ = new BehaviorSubject([]);
28364
+ this._rightItems$ = new BehaviorSubject([]);
28365
+ this._moreItems$ = new BehaviorSubject([]);
28366
+ this._hiddenCustomItems$ = new BehaviorSubject([]);
28341
28367
  this._childCustomViews = {};
28342
- }
28343
- ngOnInit() {
28344
- this._breakpointSubscription = this._breakpoint.observe([Breakpoints.HandsetLandscape]).subscribe(() => {
28345
- if (this._breakpoint.isMatched('(max-width: 959.99px)')) {
28346
- this.resolveLayout(false);
28347
- }
28348
- else {
28349
- this.resolveLayout(true);
28350
- }
28351
- });
28368
+ this._leftLoading$ = new LoadingEmitter();
28369
+ this._rightLoading$ = new LoadingEmitter();
28370
+ this._nodeLoading$ = new LoadingEmitter();
28371
+ this._currentNavigationItem = null;
28372
+ this.itemsOrder = MenuOrder.Ascending;
28373
+ this.customItemsInitialized = false;
28374
+ this.hiddenCustomItemsInitialized = false;
28375
+ this.itemClicked = new EventEmitter();
28376
+ this.itemLoaded = new EventEmitter();
28352
28377
  this._currentNodeSubscription = this._uriService.activeNode$.subscribe(node => {
28353
28378
  this.currentNode = node;
28354
28379
  });
28355
- const viewConfigurationPath = this._activatedRoute.snapshot.data[NAE_ROUTING_CONFIGURATION_PATH];
28356
- if (!!viewConfigurationPath) {
28357
- const viewConfiguration = this._config.getViewByPath(viewConfigurationPath);
28358
- Object.entries(viewConfiguration.children).forEach(([key, childView]) => {
28359
- this.resolveUriForChildViews(viewConfigurationPath + '/' + key, childView);
28360
- this.resolveHiddenMenuItemFromChildViews(viewConfigurationPath + '/' + key, childView);
28361
- });
28362
- }
28380
+ }
28381
+ ngOnDestroy() {
28382
+ var _a;
28383
+ (_a = this._currentNodeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
28384
+ this._leftLoading$.complete();
28385
+ this._rightLoading$.complete();
28386
+ this._nodeLoading$.complete();
28387
+ this.itemClicked.complete();
28388
+ this.itemLoaded.complete();
28389
+ }
28390
+ get canGoBackLoading$() {
28391
+ return this._nodeLoading$;
28363
28392
  }
28364
28393
  get currentNode() {
28365
28394
  return this._currentNode;
28366
28395
  }
28367
28396
  set currentNode(node) {
28368
- if (node === this._currentNode || this.leftLoading$.isActive || this.rightLoading$.isActive) {
28397
+ if (node === this._currentNode || this._leftLoading$.isActive || this._rightLoading$.isActive) {
28369
28398
  return;
28370
28399
  }
28371
28400
  this._currentNode = node;
@@ -28377,126 +28406,82 @@ class AbstractNavigationDoubleDrawerComponent {
28377
28406
  node.parent = this._uriService.root;
28378
28407
  }
28379
28408
  else {
28380
- this.nodeLoading$.on();
28409
+ this._nodeLoading$.on();
28381
28410
  this._uriService.getNodeByPath(this._uriService.resolveParentPath(node)).subscribe(n => {
28382
28411
  node.parent = !n ? this._uriService.root : n;
28383
- this.nodeLoading$.off();
28412
+ this._nodeLoading$.off();
28384
28413
  }, error => {
28385
28414
  this._log.error(error);
28386
- this.nodeLoading$.off();
28415
+ this._nodeLoading$.off();
28387
28416
  });
28388
28417
  }
28389
28418
  }
28390
- if (this.nodeLoading$.isActive) {
28391
- this.nodeLoading$.subscribe(() => {
28392
- this.resolveMenuItems(node);
28419
+ if (this._nodeLoading$.isActive) {
28420
+ this._nodeLoading$.subscribe(() => {
28421
+ this.loadNavigationItems(node);
28393
28422
  });
28394
28423
  }
28395
28424
  else {
28396
- this.resolveMenuItems(node);
28425
+ this.loadNavigationItems(node);
28397
28426
  }
28398
28427
  }
28399
- resolveMenuItems(node) {
28400
- if (this._uriService.isRoot(node)) {
28401
- this.leftItems = [];
28402
- this.loadRightSide();
28403
- }
28404
- else {
28405
- if (!this.leftItems.find(item => { var _a, _b; return ((_b = (_a = item.resource) === null || _a === void 0 ? void 0 : _a.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)) === null || _b === void 0 ? void 0 : _b.value) === node.uriPath; })) {
28406
- this.loadLeftSide();
28407
- }
28408
- this.loadRightSide();
28409
- }
28428
+ get itemClicked$() {
28429
+ return this.itemClicked;
28410
28430
  }
28411
- ngOnDestroy() {
28412
- var _a, _b;
28413
- (_a = this._breakpointSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
28414
- (_b = this._currentNodeSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
28415
- this.leftLoading$.complete();
28416
- this.rightLoading$.complete();
28417
- this.nodeLoading$.complete();
28418
- this.loggedOut.complete();
28419
- this.stateChanged.complete();
28420
- this.itemClicked.complete();
28421
- this.resized.complete();
28422
- this.itemLoaded.complete();
28431
+ get itemLoaded$() {
28432
+ return this.itemLoaded;
28423
28433
  }
28424
- get configLeftMenu() {
28425
- return this._configLeftMenu;
28434
+ get rightItems$() {
28435
+ return this._rightItems$;
28426
28436
  }
28427
- get configRightMenu() {
28428
- return this._configRightMenu;
28437
+ get leftItems$() {
28438
+ return this._leftItems$;
28429
28439
  }
28430
- toggleMenu() {
28431
- this.toggleRightMenu();
28432
- if (this.allClosable) {
28433
- this.toggleLeftMenu();
28434
- }
28440
+ get moreItems$() {
28441
+ return this._moreItems$;
28435
28442
  }
28436
- toggleLeftMenu() {
28437
- this._configLeftMenu.opened = !this._configLeftMenu.opened;
28438
- this.stateChanged.emit({ menu: 'left', isOpened: this._configLeftMenu.opened });
28443
+ get hiddenCustomItems$() {
28444
+ return this._hiddenCustomItems$;
28439
28445
  }
28440
- toggleRightMenu() {
28441
- this._configRightMenu.opened = !this._configRightMenu.opened;
28442
- this.stateChanged.emit({ menu: 'right', isOpened: this._configRightMenu.opened });
28446
+ get rightItems() {
28447
+ return this._rightItems$.getValue();
28443
28448
  }
28444
- resolveLayout(isLargeScreen) {
28445
- this._configLeftMenu = isLargeScreen ? {
28446
- mode: 'side',
28447
- opened: true,
28448
- disableClose: true,
28449
- width: this._configLeftMenu.width,
28450
- } : {
28451
- mode: 'over',
28452
- opened: false,
28453
- disableClose: false,
28454
- width: this._configLeftMenu.width,
28455
- };
28456
- this._configRightMenu = isLargeScreen ? {
28457
- mode: 'side',
28458
- opened: true,
28459
- disableClose: true,
28460
- width: this._configRightMenu.width,
28461
- } : {
28462
- mode: 'over',
28463
- opened: false,
28464
- disableClose: false,
28465
- width: this._configRightMenu.width,
28466
- };
28449
+ get leftItems() {
28450
+ return this._leftItems$.getValue();
28467
28451
  }
28468
- getLang() {
28469
- return this._languageService.getLanguage();
28452
+ get moreItems() {
28453
+ return this._moreItems$.getValue();
28470
28454
  }
28471
- logout() {
28472
- this._userService.logout().subscribe(response => {
28473
- this._log.debug('User is logged out');
28474
- this.loggedOut.emit(response);
28475
- if (this._config.get().services && this._config.get().services.auth && this._config.getOnLogoutPath()) {
28476
- const redirectPath = this._config.getOnLogoutPath();
28477
- this._log.info('Redirecting to ' + redirectPath);
28478
- this._router.navigate([redirectPath]);
28479
- }
28480
- });
28455
+ get hiddenCustomItems() {
28456
+ return this._hiddenCustomItems$.getValue();
28481
28457
  }
28482
- impersonate() {
28483
- this._impersonationUserSelect.selectImpersonate();
28458
+ get leftLoading$() {
28459
+ return this._leftLoading$;
28484
28460
  }
28485
- stopImpersonating() {
28486
- this._impersonation.cease();
28461
+ get rightLoading$() {
28462
+ return this._rightLoading$;
28487
28463
  }
28488
- get user() {
28489
- return this._userService.user;
28464
+ get nodeLoading$() {
28465
+ return this._nodeLoading$;
28490
28466
  }
28491
- get canGoBackLoading$() {
28492
- return this.nodeLoading$;
28467
+ loadNavigationItems(node) {
28468
+ if (this._uriService.isRoot(node)) {
28469
+ this._leftItems$.next([]);
28470
+ this.loadRightSide();
28471
+ }
28472
+ else {
28473
+ if (!this._leftItems$.getValue().find(item => DoubleDrawerUtils.isNodeCorrespondingToItem(node, item))) {
28474
+ this.loadLeftSide();
28475
+ }
28476
+ this.loadRightSide();
28477
+ }
28493
28478
  }
28494
28479
  /**
28495
28480
  * On home click, the current level is set to 0, and current parent is
28496
28481
  * set to root node.
28497
28482
  * */
28498
28483
  onHomeClick() {
28499
- if (this.leftLoading$.isActive || this.rightLoading$.isActive) {
28484
+ if (this._leftLoading$.isActive || this._rightLoading$.isActive) {
28500
28485
  return;
28501
28486
  }
28502
28487
  this._uriService.activeNode = this._uriService.root;
@@ -28509,14 +28494,20 @@ class AbstractNavigationDoubleDrawerComponent {
28509
28494
  * Current level is set to a lower number in order to set the left side menu.
28510
28495
  * */
28511
28496
  onBackClick() {
28512
- if (this.leftLoading$.isActive || this.rightLoading$.isActive || this._uriService.isRoot(this._currentNode)) {
28497
+ if (this._leftLoading$.isActive || this._rightLoading$.isActive || this._uriService.isRoot(this._currentNode)) {
28513
28498
  return;
28514
28499
  }
28515
28500
  this._uriService.activeNode = this._currentNode.parent;
28516
28501
  this.itemClicked.emit({ uriNode: this._uriService.activeNode, isHome: false });
28517
28502
  }
28503
+ /**
28504
+ * On item click, the selected item's view is rendered (by routerLink). If the selected item has children items, the menu is updated
28505
+ * and view, that is rendered is selected by the defined rule. The rule is: On first check for default view in children.
28506
+ * On second check if the clicked item has a view. On third, pick any other children's view, else show nothing.
28507
+ * */
28518
28508
  onItemClick(item) {
28519
28509
  var _a;
28510
+ this._currentNavigationItem = item;
28520
28511
  if (item.resource === undefined) {
28521
28512
  // custom view represented only in nae.json
28522
28513
  if (item.processUri === this.currentNode.uriPath) {
@@ -28529,10 +28520,13 @@ class AbstractNavigationDoubleDrawerComponent {
28529
28520
  }
28530
28521
  else {
28531
28522
  const path = (_a = item.resource.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)) === null || _a === void 0 ? void 0 : _a.value;
28532
- if (this.hasItemChildren(item) && !this.leftLoading$.isActive && !this.rightLoading$.isActive) {
28523
+ if (DoubleDrawerUtils.hasItemChildren(item) && !this._leftLoading$.isActive && !this._rightLoading$.isActive) {
28533
28524
  this._uriService.getNodeByPath(path).subscribe(node => {
28534
28525
  this._uriService.activeNode = node;
28535
28526
  this.itemClicked.emit({ uriNode: this._uriService.activeNode, isHome: false });
28527
+ this._rightLoading$.pipe(filter(isRightLoading => isRightLoading === false), take(1)).subscribe(() => {
28528
+ this.openAvailableView();
28529
+ });
28536
28530
  }, error => {
28537
28531
  this._log.error(error);
28538
28532
  });
@@ -28547,20 +28541,77 @@ class AbstractNavigationDoubleDrawerComponent {
28547
28541
  }
28548
28542
  }
28549
28543
  }
28550
- hasItemChildren(item) {
28551
- var _a, _b;
28552
- return (_b = (_a = item.resource) === null || _a === void 0 ? void 0 : _a.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_HAS_CHILDREN)) === null || _b === void 0 ? void 0 : _b.value;
28544
+ /**
28545
+ * Opens a view of the current right items in the menu by defined rule. The rule is: On first check for default
28546
+ * view in children. On second check if the clicked item has a view. On third, pick any other children's view, else
28547
+ * show nothing.
28548
+ * */
28549
+ openAvailableView() {
28550
+ let allItems = this.rightItems.concat(this.moreItems);
28551
+ let autoOpenItems = allItems.filter(item => DoubleDrawerUtils.hasItemAutoOpenView(item));
28552
+ if (autoOpenItems.length > 0) {
28553
+ this._redirectService.redirect(autoOpenItems[0].routing.path);
28554
+ return;
28555
+ }
28556
+ if (DoubleDrawerUtils.hasItemView(this._currentNavigationItem)) {
28557
+ // is routed by routerLink on item click
28558
+ return;
28559
+ }
28560
+ let itemsWithView = allItems.filter(item => DoubleDrawerUtils.hasItemView(item));
28561
+ if (itemsWithView.length > 0) {
28562
+ this._redirectService.redirect(autoOpenItems[0].routing.path);
28563
+ }
28553
28564
  }
28554
- isItemAndNodeEqual(item, node) {
28555
- var _a, _b;
28556
- return ((_b = (_a = item.resource) === null || _a === void 0 ? void 0 : _a.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)) === null || _b === void 0 ? void 0 : _b.value) === node.uriPath;
28565
+ loadMoreItems() {
28566
+ if (this.moreItems.length > RIGHT_SIDE_NEW_PAGE_SIZE) {
28567
+ let currentRightItems = this.rightItems;
28568
+ let currentMoreItems = this.moreItems;
28569
+ currentRightItems.push(...currentMoreItems.splice(0, RIGHT_SIDE_NEW_PAGE_SIZE));
28570
+ this.rightItems$.next(currentRightItems);
28571
+ this.moreItems$.next(currentMoreItems);
28572
+ }
28573
+ else {
28574
+ let currentRightItems = this.rightItems;
28575
+ currentRightItems.push(...this.moreItems);
28576
+ this.rightItems$.next(currentRightItems);
28577
+ this.moreItems$.next([]);
28578
+ }
28579
+ }
28580
+ initializeCustomViewsOfView(view, viewConfigPath) {
28581
+ if (!view || this.customItemsInitialized || this.hiddenCustomItemsInitialized)
28582
+ return;
28583
+ Object.entries(view.children).forEach(([key, childView]) => {
28584
+ const childViewConfigPath = viewConfigPath + '/' + key;
28585
+ this.resolveUriForChildViews(childViewConfigPath, childView);
28586
+ this.resolveHiddenMenuItemFromChildViews(childViewConfigPath, childView);
28587
+ });
28588
+ this.resolveCustomViewsInRightSide();
28589
+ this.resolveCustomViewsInLeftSide();
28590
+ this.customItemsInitialized = true;
28591
+ this.hiddenCustomItemsInitialized = true;
28592
+ }
28593
+ switchOrder() {
28594
+ this.itemsOrder = (this.itemsOrder + 1) % 2;
28595
+ let multiplier = 1;
28596
+ if (this.itemsOrder === MenuOrder.Descending) {
28597
+ multiplier = -1;
28598
+ }
28599
+ let currentRightItems = this.rightItems;
28600
+ let currentLeftItems = this.leftItems;
28601
+ currentRightItems.sort((a, b) => { var _a, _b; return multiplier * ((_a = a === null || a === void 0 ? void 0 : a.navigation) === null || _a === void 0 ? void 0 : _a.title.localeCompare((_b = b === null || b === void 0 ? void 0 : b.navigation) === null || _b === void 0 ? void 0 : _b.title)); });
28602
+ currentLeftItems.sort((a, b) => { var _a, _b; return multiplier * ((_a = a === null || a === void 0 ? void 0 : a.navigation) === null || _a === void 0 ? void 0 : _a.title.localeCompare((_b = b === null || b === void 0 ? void 0 : b.navigation) === null || _b === void 0 ? void 0 : _b.title)); });
28603
+ this.rightItems$.next(currentRightItems);
28604
+ this.leftItems$.next(currentLeftItems);
28605
+ }
28606
+ isAscending() {
28607
+ return this.itemsOrder === MenuOrder.Ascending;
28557
28608
  }
28558
28609
  loadLeftSide() {
28559
28610
  if (this._uriService.isRoot(this._currentNode)) {
28560
- this.leftItems = [];
28611
+ this._leftItems$.next([]);
28561
28612
  return;
28562
28613
  }
28563
- this.leftLoading$.on();
28614
+ this._leftLoading$.on();
28564
28615
  this._uriService.getItemCaseByNodePath(this.currentNode.parent).subscribe(page => {
28565
28616
  var _a;
28566
28617
  let childCases$;
@@ -28571,31 +28622,31 @@ class AbstractNavigationDoubleDrawerComponent {
28571
28622
  }
28572
28623
  else {
28573
28624
  targetItem = page.content[0];
28574
- orderedChildCaseIds = this.extractChildCaseIds(targetItem);
28625
+ orderedChildCaseIds = DoubleDrawerUtils.extractChildCaseIds(targetItem);
28575
28626
  childCases$ = this.getItemCasesByIdsInOnePage(orderedChildCaseIds).pipe(map(p => p.content));
28576
28627
  }
28577
28628
  childCases$.subscribe(result => {
28578
28629
  result = result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i);
28579
- this.leftItems = result.sort((a, b) => orderedChildCaseIds.indexOf(a.resource.stringId) - orderedChildCaseIds.indexOf(b.resource.stringId));
28630
+ this._leftItems$.next(result.sort((a, b) => orderedChildCaseIds.indexOf(a.resource.stringId) - orderedChildCaseIds.indexOf(b.resource.stringId)));
28580
28631
  this.resolveCustomViewsInLeftSide();
28581
- this.leftLoading$.off();
28632
+ this._leftLoading$.off();
28582
28633
  this.itemLoaded.emit({ menu: 'left', items: this.leftItems });
28583
28634
  }, error => {
28584
28635
  this._log.error(error);
28585
- this.leftItems = [];
28636
+ this._leftItems$.next([]);
28586
28637
  this.resolveCustomViewsInLeftSide();
28587
- this.leftLoading$.off();
28638
+ this._leftLoading$.off();
28588
28639
  });
28589
28640
  }, error => {
28590
28641
  this._log.error(error);
28591
- this.leftItems = [];
28642
+ this._leftItems$.next([]);
28592
28643
  this.resolveCustomViewsInLeftSide();
28593
- this.leftLoading$.off();
28644
+ this._leftLoading$.off();
28594
28645
  });
28595
28646
  }
28596
28647
  loadRightSide() {
28597
- this.rightLoading$.on();
28598
- this.moreItems = [];
28648
+ this._rightLoading$.on();
28649
+ this._moreItems$.next([]);
28599
28650
  this._uriService.getItemCaseByNodePath(this.currentNode).subscribe(page => {
28600
28651
  var _a;
28601
28652
  let childCases$;
@@ -28606,41 +28657,37 @@ class AbstractNavigationDoubleDrawerComponent {
28606
28657
  }
28607
28658
  else {
28608
28659
  targetItem = page.content[0];
28609
- orderedChildCaseIds = this.extractChildCaseIds(targetItem);
28660
+ orderedChildCaseIds = DoubleDrawerUtils.extractChildCaseIds(targetItem);
28610
28661
  childCases$ = this.getItemCasesByIdsInOnePage(orderedChildCaseIds).pipe(map(p => p.content));
28611
28662
  }
28612
28663
  childCases$.subscribe(result => {
28613
28664
  result = result.sort((a, b) => orderedChildCaseIds.indexOf(a.stringId) - orderedChildCaseIds.indexOf(b.stringId));
28614
28665
  if (result.length > RIGHT_SIDE_INIT_PAGE_SIZE) {
28615
28666
  const rawRightItems = result.splice(0, RIGHT_SIDE_INIT_PAGE_SIZE);
28616
- this.rightItems = rawRightItems.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i);
28617
- this.moreItems = result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i);
28667
+ this._rightItems$.next(rawRightItems.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i));
28668
+ this._moreItems$.next(result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i));
28618
28669
  }
28619
28670
  else {
28620
- this.rightItems = result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i);
28671
+ this._rightItems$.next(result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i));
28621
28672
  }
28622
28673
  this.resolveCustomViewsInRightSide();
28623
- this.rightLoading$.off();
28674
+ this._rightLoading$.off();
28624
28675
  this.itemLoaded.emit({ menu: 'right', items: this.rightItems });
28625
28676
  }, error => {
28626
28677
  this._log.error(error);
28627
- this.rightItems = [];
28628
- this.moreItems = [];
28678
+ this._rightItems$.next([]);
28679
+ this._moreItems$.next([]);
28629
28680
  this.resolveCustomViewsInRightSide();
28630
- this.rightLoading$.off();
28681
+ this._rightLoading$.off();
28631
28682
  });
28632
28683
  }, error => {
28633
28684
  this._log.error(error);
28634
- this.rightItems = [];
28635
- this.moreItems = [];
28685
+ this._rightItems$.next([]);
28686
+ this._moreItems$.next([]);
28636
28687
  this.resolveCustomViewsInRightSide();
28637
- this.rightLoading$.off();
28688
+ this._rightLoading$.off();
28638
28689
  });
28639
28690
  }
28640
- extractChildCaseIds(item) {
28641
- var _a;
28642
- return (_a = item.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_CHILD_ITEM_IDS)) === null || _a === void 0 ? void 0 : _a.value;
28643
- }
28644
28691
  getItemCasesByIdsInOnePage(caseIds) {
28645
28692
  return this.getItemCasesByIds(caseIds, 0, caseIds.length);
28646
28693
  }
@@ -28654,46 +28701,15 @@ class AbstractNavigationDoubleDrawerComponent {
28654
28701
  .set(PaginationParams.PAGE_NUMBER, pageNumber);
28655
28702
  return this._caseResourceService.searchCases(SimpleFilter.fromCaseQuery(searchBody), httpParams);
28656
28703
  }
28657
- loadMoreItems() {
28658
- if (this.moreItems.length > RIGHT_SIDE_NEW_PAGE_SIZE) {
28659
- this.rightItems.push(...this.moreItems.splice(0, RIGHT_SIDE_NEW_PAGE_SIZE));
28660
- }
28661
- else {
28662
- this.rightItems.push(...this.moreItems);
28663
- this.moreItems = [];
28664
- }
28665
- }
28666
- isAscending() {
28667
- return this.itemsOrder === MenuOrder.Ascending;
28668
- }
28669
- switchOrder() {
28670
- this.itemsOrder = (this.itemsOrder + 1) % 2;
28671
- let multiplier = 1;
28672
- if (this.itemsOrder === MenuOrder.Descending) {
28673
- multiplier = -1;
28674
- }
28675
- this.rightItems.sort((a, b) => { var _a, _b; return multiplier * ((_a = a === null || a === void 0 ? void 0 : a.navigation) === null || _a === void 0 ? void 0 : _a.title.localeCompare((_b = b === null || b === void 0 ? void 0 : b.navigation) === null || _b === void 0 ? void 0 : _b.title)); });
28676
- this.leftItems.sort((a, b) => { var _a, _b; return multiplier * ((_a = a === null || a === void 0 ? void 0 : a.navigation) === null || _a === void 0 ? void 0 : _a.title.localeCompare((_b = b === null || b === void 0 ? void 0 : b.navigation) === null || _b === void 0 ? void 0 : _b.title)); });
28677
- }
28678
- resolveCustomViewsInRightSide() {
28679
- if (!!this._childCustomViews[this._currentNode.uriPath]) {
28680
- this.rightItems.push(...Object.values(this._childCustomViews[this._currentNode.uriPath]));
28681
- }
28682
- }
28683
- resolveCustomViewsInLeftSide() {
28684
- if (!!this._childCustomViews[this._currentNode.parent.uriPath]) {
28685
- this.leftItems.push(...Object.values(this._childCustomViews[this._currentNode.parent.uriPath]));
28686
- }
28687
- }
28688
28704
  resolveItemCaseToNavigationItem(itemCase) {
28689
28705
  var _a, _b;
28690
- if (this.representsRootNode(itemCase)) {
28706
+ if (DoubleDrawerUtils.representsRootNode(itemCase)) {
28691
28707
  return;
28692
28708
  }
28693
28709
  const item = {
28694
28710
  access: {},
28695
28711
  navigation: {
28696
- icon: ((_a = itemCase.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_MENU_ICON)) === null || _a === void 0 ? void 0 : _a.value) || this.filterIcon,
28712
+ icon: ((_a = itemCase.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_MENU_ICON)) === null || _a === void 0 ? void 0 : _a.value) || this.defaultViewIcon,
28697
28713
  title: this.getTranslation((_b = itemCase.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_MENU_NAME)) === null || _b === void 0 ? void 0 : _b.value) || itemCase.title,
28698
28714
  },
28699
28715
  routing: {
@@ -28702,8 +28718,8 @@ class AbstractNavigationDoubleDrawerComponent {
28702
28718
  id: itemCase.stringId,
28703
28719
  resource: itemCase,
28704
28720
  };
28705
- const resolvedRoles = this.resolveAccessRoles(itemCase, GroupNavigationConstants.ITEM_FIELD_ID_ALLOWED_ROLES);
28706
- const resolvedBannedRoles = this.resolveAccessRoles(itemCase, GroupNavigationConstants.ITEM_FIELD_ID_BANNED_ROLES);
28721
+ const resolvedRoles = DoubleDrawerUtils.resolveAccessRoles(itemCase, GroupNavigationConstants.ITEM_FIELD_ID_ALLOWED_ROLES);
28722
+ const resolvedBannedRoles = DoubleDrawerUtils.resolveAccessRoles(itemCase, GroupNavigationConstants.ITEM_FIELD_ID_BANNED_ROLES);
28707
28723
  if (!!resolvedRoles)
28708
28724
  item.access['role'] = resolvedRoles;
28709
28725
  if (!!resolvedBannedRoles)
@@ -28712,47 +28728,275 @@ class AbstractNavigationDoubleDrawerComponent {
28712
28728
  return;
28713
28729
  return item;
28714
28730
  }
28715
- representsRootNode(item) {
28716
- return item.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH).value === '/';
28731
+ resolveCustomViewsInLeftSide() {
28732
+ var _a;
28733
+ if (!!((_a = this._currentNode) === null || _a === void 0 ? void 0 : _a.parent) && !!this._childCustomViews[this._currentNode.parent.uriPath]) {
28734
+ let currentLeftItems = this._leftItems$.getValue();
28735
+ currentLeftItems.push(...Object.values(this._childCustomViews[this._currentNode.parent.uriPath]));
28736
+ this._leftItems$.next(currentLeftItems);
28737
+ }
28738
+ }
28739
+ resolveCustomViewsInRightSide() {
28740
+ if (!!this._currentNode && !!this._childCustomViews[this._currentNode.uriPath]) {
28741
+ let currentRightItems = this._rightItems$.getValue();
28742
+ currentRightItems.push(...Object.values(this._childCustomViews[this._currentNode.uriPath]));
28743
+ this._rightItems$.next(currentRightItems);
28744
+ }
28745
+ }
28746
+ resolveUriForChildViews(configPath, childView) {
28747
+ if (!childView.processUri)
28748
+ return;
28749
+ if (!this._accessService.canAccessView(childView, configPath))
28750
+ return;
28751
+ if (!this._childCustomViews[childView.processUri]) {
28752
+ this._childCustomViews[childView.processUri] = {};
28753
+ }
28754
+ this._childCustomViews[childView.processUri][configPath] = Object.assign({ id: configPath }, childView);
28755
+ }
28756
+ resolveHiddenMenuItemFromChildViews(configPath, childView) {
28757
+ var _a;
28758
+ if (!childView.navigation)
28759
+ return;
28760
+ if (!this._accessService.canAccessView(childView, configPath))
28761
+ return;
28762
+ if (!!((_a = childView === null || childView === void 0 ? void 0 : childView.navigation) === null || _a === void 0 ? void 0 : _a.hidden)) {
28763
+ let currentHiddenCustomItems = this._hiddenCustomItems$.getValue();
28764
+ currentHiddenCustomItems.push(Object.assign({ id: configPath }, childView));
28765
+ this._hiddenCustomItems$.next(currentHiddenCustomItems);
28766
+ }
28717
28767
  }
28718
28768
  getTranslation(value) {
28719
28769
  const locale = this._translateService.currentLang.split('-')[0];
28720
28770
  return locale in value.translations ? value.translations[locale] : value.defaultValue;
28721
28771
  }
28722
- resolveAccessRoles(filter, roleType) {
28723
- var _a;
28724
- const allowedRoles = (_a = filter.immediateData.find(f => f.stringId === roleType)) === null || _a === void 0 ? void 0 : _a.options;
28725
- if (!allowedRoles || Object.keys(allowedRoles).length === 0)
28726
- return undefined;
28727
- const roles = [];
28728
- Object.keys(allowedRoles).forEach(combined => {
28729
- const parts = combined.split(':');
28730
- roles.push({
28731
- processId: parts[1],
28732
- roleId: parts[0],
28733
- });
28734
- });
28735
- return roles;
28736
- }
28737
28772
  getItemRoutingPath(itemCase) {
28738
- const transId = SETTINGS_TRANSITION_ID;
28739
- const taskId = itemCase.tasks.find(taskPair => taskPair.transition === transId).task;
28773
+ const taskId = DoubleDrawerUtils.findTaskIdInCase(itemCase, SETTINGS_TRANSITION_ID);
28740
28774
  const url = this._dynamicRoutingService.route;
28741
28775
  return `/${url}/${taskId}`;
28742
28776
  }
28777
+ }
28778
+ DoubleDrawerNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DoubleDrawerNavigationService, deps: [{ token: UriService }, { token: LoggerService }, { token: ConfigurationService }, { token: i2$5.ActivatedRoute }, { token: CaseResourceService }, { token: AccessService }, { token: i1$2.TranslateService }, { token: DynamicNavigationRouteProviderService }, { token: RedirectService }], target: i0.ɵɵFactoryTarget.Injectable });
28779
+ DoubleDrawerNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DoubleDrawerNavigationService, providedIn: 'root' });
28780
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DoubleDrawerNavigationService, decorators: [{
28781
+ type: Injectable,
28782
+ args: [{
28783
+ providedIn: 'root',
28784
+ }]
28785
+ }], ctorParameters: function () { return [{ type: UriService }, { type: LoggerService }, { type: ConfigurationService }, { type: i2$5.ActivatedRoute }, { type: CaseResourceService }, { type: AccessService }, { type: i1$2.TranslateService }, { type: DynamicNavigationRouteProviderService }, { type: RedirectService }]; } });
28786
+
28787
+ class AbstractNavigationDoubleDrawerComponent {
28788
+ constructor(_router, _activatedRoute, _breakpoint, _languageService, _translateService, _userService, _accessService, _log, _config, _uriService, _caseResourceService, _impersonationUserSelect, _impersonation, _dynamicRoutingService, _redirectService, _navigationService) {
28789
+ var _a, _b;
28790
+ this._router = _router;
28791
+ this._activatedRoute = _activatedRoute;
28792
+ this._breakpoint = _breakpoint;
28793
+ this._languageService = _languageService;
28794
+ this._translateService = _translateService;
28795
+ this._userService = _userService;
28796
+ this._accessService = _accessService;
28797
+ this._log = _log;
28798
+ this._config = _config;
28799
+ this._uriService = _uriService;
28800
+ this._caseResourceService = _caseResourceService;
28801
+ this._impersonationUserSelect = _impersonationUserSelect;
28802
+ this._impersonation = _impersonation;
28803
+ this._dynamicRoutingService = _dynamicRoutingService;
28804
+ this._redirectService = _redirectService;
28805
+ this._navigationService = _navigationService;
28806
+ this.imageRouterLink = '/';
28807
+ this.imageAlt = 'Logo';
28808
+ this.profileRouterLink = '/profile';
28809
+ this.includeUser = true;
28810
+ this.includeLanguage = true;
28811
+ this.includeMoreMenu = true;
28812
+ this.includeImpersonation = true;
28813
+ this.allClosable = true;
28814
+ this.folderIcon = 'folder';
28815
+ this.openedFolderIcon = 'folder_open';
28816
+ this.filterIcon = 'filter_alt';
28817
+ this.foldersCategoryName = 'toolbar.menu.folders';
28818
+ this.viewsCategoryName = 'toolbar.menu.views';
28819
+ this.loggedOut = new EventEmitter(true); // on logout
28820
+ this.stateChanged = new EventEmitter(); // on menu state change
28821
+ this.itemClicked = new EventEmitter(); // on item click
28822
+ this.resized = new EventEmitter(true); // on menu resize
28823
+ this.itemLoaded = new EventEmitter(true); // on item loaded
28824
+ this._configLeftMenu = {
28825
+ mode: 'side',
28826
+ opened: true,
28827
+ disableClose: false,
28828
+ width: LEFT_DRAWER_DEFAULT_WIDTH,
28829
+ };
28830
+ this._configRightMenu = {
28831
+ mode: 'side',
28832
+ opened: true,
28833
+ disableClose: false,
28834
+ width: RIGHT_DRAWER_DEFAULT_WIDTH,
28835
+ };
28836
+ let configUrl = (_b = (_a = this._config.getServicesConfiguration()) === null || _a === void 0 ? void 0 : _a.doubleDrawer) === null || _b === void 0 ? void 0 : _b.url;
28837
+ if (configUrl !== undefined && !configUrl.startsWith('/')) {
28838
+ configUrl = '/' + configUrl;
28839
+ }
28840
+ this.configUrl = configUrl;
28841
+ this._navigationService.itemClicked$.subscribe((itemClickEvent) => {
28842
+ this.itemClicked.emit(itemClickEvent);
28843
+ });
28844
+ this._navigationService.itemLoaded$.subscribe((itemLoadedEvent) => {
28845
+ this.itemLoaded.emit(itemLoadedEvent);
28846
+ });
28847
+ }
28848
+ ngOnInit() {
28849
+ this._breakpointSubscription = this._breakpoint.observe([Breakpoints.HandsetLandscape]).subscribe(() => {
28850
+ if (this._breakpoint.isMatched('(max-width: 959.99px)')) {
28851
+ this.resolveLayout(false);
28852
+ }
28853
+ else {
28854
+ this.resolveLayout(true);
28855
+ }
28856
+ });
28857
+ if (this.canApplyAutoSelect()) {
28858
+ this.rightItems$.pipe(filter(rightItems => rightItems.length > 0), take(1)).subscribe(() => {
28859
+ this.openAvailableView();
28860
+ });
28861
+ }
28862
+ const viewConfigurationPath = this._activatedRoute.snapshot.data[NAE_ROUTING_CONFIGURATION_PATH];
28863
+ if (!!viewConfigurationPath) {
28864
+ const viewConfiguration = this._config.getViewByPath(viewConfigurationPath);
28865
+ this._navigationService.initializeCustomViewsOfView(viewConfiguration, viewConfigurationPath);
28866
+ }
28867
+ }
28868
+ ngOnDestroy() {
28869
+ var _a;
28870
+ (_a = this._breakpointSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
28871
+ this.loggedOut.complete();
28872
+ this.stateChanged.complete();
28873
+ this.itemClicked.complete();
28874
+ this.resized.complete();
28875
+ this.itemLoaded.complete();
28876
+ }
28877
+ get currentNode() {
28878
+ return this._navigationService.currentNode;
28879
+ }
28880
+ set currentNode(node) {
28881
+ this._navigationService.currentNode = node;
28882
+ }
28883
+ get configLeftMenu() {
28884
+ return this._configLeftMenu;
28885
+ }
28886
+ get configRightMenu() {
28887
+ return this._configRightMenu;
28888
+ }
28889
+ get leftItems$() {
28890
+ return this._navigationService.leftItems$;
28891
+ }
28892
+ get leftItems() {
28893
+ return this._navigationService.leftItems;
28894
+ }
28895
+ get rightItems$() {
28896
+ return this._navigationService.rightItems$;
28897
+ }
28898
+ get rightItems() {
28899
+ return this._navigationService.rightItems;
28900
+ }
28901
+ get moreItems$() {
28902
+ return this._navigationService.moreItems$;
28903
+ }
28904
+ get moreItems() {
28905
+ return this._navigationService.moreItems;
28906
+ }
28907
+ get hiddenCustomItems$() {
28908
+ return this._navigationService.hiddenCustomItems$;
28909
+ }
28910
+ get hiddenCustomItems() {
28911
+ return this._navigationService.hiddenCustomItems;
28912
+ }
28913
+ get leftLoading$() {
28914
+ return this._navigationService.leftLoading$;
28915
+ }
28916
+ get rightLoading$() {
28917
+ return this._navigationService.rightLoading$;
28918
+ }
28919
+ toggleMenu() {
28920
+ this.toggleRightMenu();
28921
+ if (this.allClosable) {
28922
+ this.toggleLeftMenu();
28923
+ }
28924
+ }
28925
+ toggleLeftMenu() {
28926
+ this._configLeftMenu.opened = !this._configLeftMenu.opened;
28927
+ this.stateChanged.emit({ menu: 'left', isOpened: this._configLeftMenu.opened });
28928
+ }
28929
+ toggleRightMenu() {
28930
+ this._configRightMenu.opened = !this._configRightMenu.opened;
28931
+ this.stateChanged.emit({ menu: 'right', isOpened: this._configRightMenu.opened });
28932
+ }
28933
+ getLang() {
28934
+ return this._languageService.getLanguage();
28935
+ }
28936
+ logout() {
28937
+ this._userService.logout().subscribe(response => {
28938
+ this._log.debug('User is logged out');
28939
+ this.loggedOut.emit(response);
28940
+ if (this._config.get().services && this._config.get().services.auth && this._config.getOnLogoutPath()) {
28941
+ const redirectPath = this._config.getOnLogoutPath();
28942
+ this._log.info('Redirecting to ' + redirectPath);
28943
+ this._router.navigate([redirectPath]);
28944
+ }
28945
+ });
28946
+ }
28947
+ impersonate() {
28948
+ this._impersonationUserSelect.selectImpersonate();
28949
+ }
28950
+ stopImpersonating() {
28951
+ this._impersonation.cease();
28952
+ }
28953
+ get user() {
28954
+ return this._userService.user;
28955
+ }
28956
+ get canGoBackLoading$() {
28957
+ return this._navigationService.canGoBackLoading$;
28958
+ }
28959
+ /**
28960
+ * On home click, the current level is set to 0, and current parent is
28961
+ * set to root node.
28962
+ * */
28963
+ onHomeClick() {
28964
+ this._navigationService.onHomeClick();
28965
+ }
28966
+ /**
28967
+ * On back click, the parent is set to parent of left nodes, that will solve
28968
+ * the right side menu (elements that were in left side, after backward
28969
+ * navigation will be on the right side).
28970
+ * Current level is set to a lower number in order to set the left side menu.
28971
+ * */
28972
+ onBackClick() {
28973
+ this._navigationService.onBackClick();
28974
+ }
28975
+ onItemClick(item) {
28976
+ this._navigationService.onItemClick(item);
28977
+ }
28978
+ loadMoreItems() {
28979
+ this._navigationService.loadMoreItems();
28980
+ }
28981
+ isAscending() {
28982
+ return this._navigationService.isAscending();
28983
+ }
28984
+ switchOrder() {
28985
+ this._navigationService.switchOrder();
28986
+ }
28743
28987
  /**
28744
28988
  * Function to check whether the back button should be displayed
28745
28989
  * @returns boolean if the back button should be displayed
28746
28990
  * */
28747
28991
  isOnZeroLevel() {
28748
28992
  var _a;
28749
- return !!((_a = this._currentNode) === null || _a === void 0 ? void 0 : _a.level) ? this._currentNode.level == 0 : true;
28993
+ return !!((_a = this._navigationService.currentNode) === null || _a === void 0 ? void 0 : _a.level) ? this._navigationService.currentNode.level == 0 : true;
28750
28994
  }
28751
28995
  isLeftItemsEmpty() {
28752
- return this.leftItems === undefined || this.leftItems.length === 0;
28996
+ return this._navigationService.leftItems === undefined || this._navigationService.leftItems.length === 0;
28753
28997
  }
28754
28998
  isRightItemsEmpty() {
28755
- return this.rightItems === undefined || this.rightItems.length === 0;
28999
+ return this._navigationService.rightItems === undefined || this._navigationService.rightItems.length === 0;
28756
29000
  }
28757
29001
  uriNodeTrackBy(index, node) {
28758
29002
  return node.id;
@@ -28775,28 +29019,41 @@ class AbstractNavigationDoubleDrawerComponent {
28775
29019
  // this.userPreferenceService._drawerWidthChanged$.next(this.width);
28776
29020
  // this.contentWidth.next(this.width);
28777
29021
  }
28778
- resolveUriForChildViews(configPath, childView) {
28779
- if (!childView.processUri)
28780
- return;
28781
- if (!this._accessService.canAccessView(childView, configPath))
28782
- return;
28783
- if (!this._childCustomViews[childView.processUri]) {
28784
- this._childCustomViews[childView.processUri] = {};
28785
- }
28786
- this._childCustomViews[childView.processUri][configPath] = Object.assign({ id: configPath }, childView);
29022
+ isItemAndNodeEqual(item, node) {
29023
+ return DoubleDrawerUtils.isItemAndNodeEqual(item, node);
28787
29024
  }
28788
- resolveHiddenMenuItemFromChildViews(configPath, childView) {
28789
- var _a;
28790
- if (!childView.navigation)
28791
- return;
28792
- if (!this._accessService.canAccessView(childView, configPath))
28793
- return;
28794
- if (!!((_a = childView === null || childView === void 0 ? void 0 : childView.navigation) === null || _a === void 0 ? void 0 : _a.hidden)) {
28795
- this.hiddenCustomItems.push(Object.assign({ id: configPath }, childView));
28796
- }
29025
+ resolveLayout(isLargeScreen) {
29026
+ this._configLeftMenu = isLargeScreen ? {
29027
+ mode: 'side',
29028
+ opened: true,
29029
+ disableClose: true,
29030
+ width: this._configLeftMenu.width,
29031
+ } : {
29032
+ mode: 'over',
29033
+ opened: false,
29034
+ disableClose: false,
29035
+ width: this._configLeftMenu.width,
29036
+ };
29037
+ this._configRightMenu = isLargeScreen ? {
29038
+ mode: 'side',
29039
+ opened: true,
29040
+ disableClose: true,
29041
+ width: this._configRightMenu.width,
29042
+ } : {
29043
+ mode: 'over',
29044
+ opened: false,
29045
+ disableClose: false,
29046
+ width: this._configRightMenu.width,
29047
+ };
29048
+ }
29049
+ canApplyAutoSelect() {
29050
+ return this.configUrl === this._router.url;
29051
+ }
29052
+ openAvailableView() {
29053
+ this._navigationService.openAvailableView();
28797
29054
  }
28798
29055
  }
28799
- AbstractNavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, deps: [{ token: i3$1.Router }, { token: i3$1.ActivatedRoute }, { token: i1$7.BreakpointObserver }, { token: LanguageService }, { token: i1$2.TranslateService }, { token: UserService }, { token: AccessService }, { token: LoggerService }, { token: ConfigurationService }, { token: UriService }, { token: CaseResourceService }, { token: ImpersonationUserSelectService }, { token: ImpersonationService }, { token: DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
29056
+ AbstractNavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, deps: [{ token: i2$5.Router }, { token: i2$5.ActivatedRoute }, { token: i1$7.BreakpointObserver }, { token: LanguageService }, { token: i1$2.TranslateService }, { token: UserService }, { token: AccessService }, { token: LoggerService }, { token: ConfigurationService }, { token: UriService }, { token: CaseResourceService }, { token: ImpersonationUserSelectService }, { token: ImpersonationService }, { token: DynamicNavigationRouteProviderService }, { token: RedirectService }, { token: DoubleDrawerNavigationService }], target: i0.ɵɵFactoryTarget.Component });
28800
29057
  AbstractNavigationDoubleDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractNavigationDoubleDrawerComponent, selector: "ncc-abstract-navigation-double-drawer", inputs: { portalLeftMenu: "portalLeftMenu", portalRightMenu: "portalRightMenu", imageRouterLink: "imageRouterLink", imageAlt: "imageAlt", image: "image", profileRouterLink: "profileRouterLink", includeUser: "includeUser", includeLanguage: "includeLanguage", includeMoreMenu: "includeMoreMenu", includeImpersonation: "includeImpersonation", allClosable: "allClosable", folderIcon: "folderIcon", openedFolderIcon: "openedFolderIcon", filterIcon: "filterIcon", foldersCategoryName: "foldersCategoryName", viewsCategoryName: "viewsCategoryName" }, outputs: { loggedOut: "loggedOut", stateChanged: "stateChanged", itemClicked: "itemClicked", resized: "resized", itemLoaded: "itemLoaded" }, ngImport: i0, template: '', isInline: true });
28801
29058
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, decorators: [{
28802
29059
  type: Component,
@@ -28804,7 +29061,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28804
29061
  selector: 'ncc-abstract-navigation-double-drawer',
28805
29062
  template: '',
28806
29063
  }]
28807
- }], ctorParameters: function () { return [{ type: i3$1.Router }, { type: i3$1.ActivatedRoute }, { type: i1$7.BreakpointObserver }, { type: LanguageService }, { type: i1$2.TranslateService }, { type: UserService }, { type: AccessService }, { type: LoggerService }, { type: ConfigurationService }, { type: UriService }, { type: CaseResourceService }, { type: ImpersonationUserSelectService }, { type: ImpersonationService }, { type: DynamicNavigationRouteProviderService }]; }, propDecorators: { portalLeftMenu: [{
29064
+ }], ctorParameters: function () { return [{ type: i2$5.Router }, { type: i2$5.ActivatedRoute }, { type: i1$7.BreakpointObserver }, { type: LanguageService }, { type: i1$2.TranslateService }, { type: UserService }, { type: AccessService }, { type: LoggerService }, { type: ConfigurationService }, { type: UriService }, { type: CaseResourceService }, { type: ImpersonationUserSelectService }, { type: ImpersonationService }, { type: DynamicNavigationRouteProviderService }, { type: RedirectService }, { type: DoubleDrawerNavigationService }]; }, propDecorators: { portalLeftMenu: [{
28808
29065
  type: Input
28809
29066
  }], portalRightMenu: [{
28810
29067
  type: Input
@@ -28967,7 +29224,7 @@ class AbstractGroupNavigationComponentResolverComponent {
28967
29224
  });
28968
29225
  }
28969
29226
  }
28970
- AbstractGroupNavigationComponentResolverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractGroupNavigationComponentResolverComponent, deps: [{ token: GroupNavigationComponentResolverService }, { token: i0.Injector }, { token: i3$1.ActivatedRoute }, { token: i3$1.Router }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Component });
29227
+ AbstractGroupNavigationComponentResolverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractGroupNavigationComponentResolverComponent, deps: [{ token: GroupNavigationComponentResolverService }, { token: i0.Injector }, { token: i2$5.ActivatedRoute }, { token: i2$5.Router }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Component });
28971
29228
  AbstractGroupNavigationComponentResolverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractGroupNavigationComponentResolverComponent, selector: "ncc-abstract-group-nagiation-resolver", ngImport: i0, template: '', isInline: true });
28972
29229
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractGroupNavigationComponentResolverComponent, decorators: [{
28973
29230
  type: Component,
@@ -28975,7 +29232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28975
29232
  selector: 'ncc-abstract-group-nagiation-resolver',
28976
29233
  template: ''
28977
29234
  }]
28978
- }], ctorParameters: function () { return [{ type: GroupNavigationComponentResolverService }, { type: i0.Injector }, { type: i3$1.ActivatedRoute }, { type: i3$1.Router }, { type: LoggerService }]; } });
29235
+ }], ctorParameters: function () { return [{ type: GroupNavigationComponentResolverService }, { type: i0.Injector }, { type: i2$5.ActivatedRoute }, { type: i2$5.Router }, { type: LoggerService }]; } });
28979
29236
 
28980
29237
  class AbstractBreadcrumbsComponent {
28981
29238
  constructor(_uriService, _caseResourceService, _activatedRoute, _router, _dynamicRoutingService, _translateService, _log) {
@@ -29012,7 +29269,7 @@ class AbstractBreadcrumbsComponent {
29012
29269
  }
29013
29270
  const splitPath = this._uriService.splitNodePath(this._uriService.activeNode);
29014
29271
  const fullPath = this.createFullPath(splitPath);
29015
- const fullPathQueries = fullPath.map(p => '(processIdentifier:preference_item AND dataSet.nodePath.textValue.keyword:\"' + p + '\")');
29272
+ const fullPathQueries = fullPath.map(p => '(processIdentifier:menu_item AND dataSet.nodePath.textValue.keyword:\"' + p + '\")');
29016
29273
  fullPathQueries.push('(taskMongoIds:\"' + filterId + '\")');
29017
29274
  const searchBody = {
29018
29275
  query: fullPathQueries.join(" OR ")
@@ -29096,7 +29353,7 @@ class AbstractBreadcrumbsComponent {
29096
29353
  let tmp = '';
29097
29354
  return splitPath.filter(s => s !== "").map((value) => {
29098
29355
  tmp += AbstractBreadcrumbsComponent.DELIMETER + value;
29099
- return tmp.replace("//", AbstractBreadcrumbsComponent.DELIMETER);
29356
+ return tmp === null || tmp === void 0 ? void 0 : tmp.replace("//", AbstractBreadcrumbsComponent.DELIMETER);
29100
29357
  });
29101
29358
  }
29102
29359
  immediateValue(aCase, fieldId) {
@@ -29112,7 +29369,7 @@ AbstractBreadcrumbsComponent.DOTS = '...';
29112
29369
  AbstractBreadcrumbsComponent.DELIMETER = '/';
29113
29370
  AbstractBreadcrumbsComponent.NODE_PATH = 'nodePath';
29114
29371
  AbstractBreadcrumbsComponent.ITEM_SETTINGS = 'item_settings';
29115
- AbstractBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractBreadcrumbsComponent, deps: [{ token: UriService }, { token: CaseResourceService }, { token: i3$1.ActivatedRoute }, { token: i3$1.Router }, { token: DynamicNavigationRouteProviderService }, { token: i1$2.TranslateService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Component });
29372
+ AbstractBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractBreadcrumbsComponent, deps: [{ token: UriService }, { token: CaseResourceService }, { token: i2$5.ActivatedRoute }, { token: i2$5.Router }, { token: DynamicNavigationRouteProviderService }, { token: i1$2.TranslateService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Component });
29116
29373
  AbstractBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractBreadcrumbsComponent, selector: "ncc-breadcrumbs-component", inputs: { showHome: "showHome", showFilter: "showFilter", redirectOnClick: "redirectOnClick", lengthOfPath: "lengthOfPath", partsAfterDots: "partsAfterDots" }, ngImport: i0, template: '', isInline: true });
29117
29374
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractBreadcrumbsComponent, decorators: [{
29118
29375
  type: Component,
@@ -29120,7 +29377,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29120
29377
  selector: 'ncc-breadcrumbs-component',
29121
29378
  template: ''
29122
29379
  }]
29123
- }], ctorParameters: function () { return [{ type: UriService }, { type: CaseResourceService }, { type: i3$1.ActivatedRoute }, { type: i3$1.Router }, { type: DynamicNavigationRouteProviderService }, { type: i1$2.TranslateService }, { type: LoggerService }]; }, propDecorators: { showHome: [{
29380
+ }], ctorParameters: function () { return [{ type: UriService }, { type: CaseResourceService }, { type: i2$5.ActivatedRoute }, { type: i2$5.Router }, { type: DynamicNavigationRouteProviderService }, { type: i1$2.TranslateService }, { type: LoggerService }]; }, propDecorators: { showHome: [{
29124
29381
  type: Input
29125
29382
  }], showFilter: [{
29126
29383
  type: Input
@@ -29132,6 +29389,227 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29132
29389
  type: Input
29133
29390
  }] } });
29134
29391
 
29392
+ class AbstractDashboardComponent {
29393
+ constructor(_caseResource, _log, _uriService, _router, _languageService, _doubleDrawerNavigationService) {
29394
+ this._caseResource = _caseResource;
29395
+ this._log = _log;
29396
+ this._uriService = _uriService;
29397
+ this._router = _router;
29398
+ this._languageService = _languageService;
29399
+ this._doubleDrawerNavigationService = _doubleDrawerNavigationService;
29400
+ this.toolbarConfig = {
29401
+ profileEnabled: false,
29402
+ languageEnabled: false,
29403
+ logoutEnabled: false,
29404
+ simpleToolbar: true,
29405
+ toolbarName: {
29406
+ defaultValue: 'Netgrif',
29407
+ translations: {}
29408
+ },
29409
+ toolbarLogo: 'assets/img/netgrif_full_white.svg',
29410
+ profileUrl: 'profile',
29411
+ loginUrl: ''
29412
+ };
29413
+ this.dashboardId = AbstractDashboardComponent.MAIN_DASHBOARD;
29414
+ this.itemsLoaded = 0;
29415
+ this.loading$ = new LoadingEmitter();
29416
+ this.dashboardItemsMapping = {};
29417
+ this.dashboardItems = [];
29418
+ this.loading$.on();
29419
+ const dashboardManagementSearchBody = {
29420
+ process: { identifier: AbstractDashboardComponent.DASHBOARD_MANAGEMENT_IDENTIFIER },
29421
+ data: {
29422
+ [AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ID_DATAFIELD]: this.dashboardId
29423
+ }
29424
+ };
29425
+ let dashboardManagementParams = new HttpParams()
29426
+ .set(PaginationParams.PAGE_SIZE, 1);
29427
+ this._caseResource.searchCases(SimpleFilter.fromCaseQuery(dashboardManagementSearchBody), dashboardManagementParams).subscribe(resultDashboard => {
29428
+ const dashboardContent = resultDashboard.content;
29429
+ if (!dashboardContent || !dashboardContent.length || dashboardContent.length < 1) {
29430
+ this.loading$.off();
29431
+ this._log.error('Dashboard management case not found.');
29432
+ return;
29433
+ }
29434
+ this.dashboardCase = dashboardContent[0];
29435
+ this.toolbarConfig = {
29436
+ profileEnabled: this.getManagementProfileToolbar(this.dashboardCase),
29437
+ languageEnabled: this.getManagementLanguageToolbar(this.dashboardCase),
29438
+ logoutEnabled: this.getManagementLogoutToolbar(this.dashboardCase),
29439
+ simpleToolbar: this.getManagementSimpleToolbar(this.dashboardCase),
29440
+ toolbarName: this.getManagementName(this.dashboardCase),
29441
+ toolbarLogo: this.getManagementLogo(this.dashboardCase),
29442
+ profileUrl: this.getManagementProfileUrl(this.dashboardCase),
29443
+ loginUrl: this.getManagementLoginUrl(this.dashboardCase)
29444
+ };
29445
+ const dashboardItemsOptions = this.dashboardCase.immediateData
29446
+ .find(immediateField => immediateField['importId'] === AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ITEM_TO_MENU_ITEM_DATAFIELD).options;
29447
+ if (!dashboardItemsOptions || Object.keys(dashboardItemsOptions).length === 0) {
29448
+ this.loading$.off();
29449
+ return;
29450
+ }
29451
+ const dashboardMenuToItems = Object.entries(dashboardItemsOptions)
29452
+ .filter(([key, value]) => value.defaultValue != null)
29453
+ .reduce((accum, [key, value]) => {
29454
+ accum[value.defaultValue] = key;
29455
+ return accum;
29456
+ }, {});
29457
+ let dashboardItemsParams = new HttpParams()
29458
+ .set(PaginationParams.PAGE_SIZE, 100);
29459
+ this.getDashboardItems(dashboardItemsOptions, dashboardItemsParams);
29460
+ this.getMenuItems(dashboardMenuToItems, dashboardItemsParams);
29461
+ });
29462
+ }
29463
+ getMenuItems(dashboardMenuToItems, dashboardItemsParams) {
29464
+ let menuItemsSearchBody = {
29465
+ stringId: Object.keys(dashboardMenuToItems)
29466
+ };
29467
+ this._caseResource.searchCases(SimpleFilter.fromCaseQuery(menuItemsSearchBody), dashboardItemsParams).subscribe(resultItems => {
29468
+ const itemsContent = resultItems.content;
29469
+ itemsContent.forEach(menuItemCase => {
29470
+ const navigationItem = this._doubleDrawerNavigationService.resolveItemCaseToNavigationItem(menuItemCase);
29471
+ const dashboardItemId = dashboardMenuToItems[menuItemCase.stringId];
29472
+ if (!navigationItem) {
29473
+ this.dashboardItems = this.dashboardItems.filter(dashItem => dashItem.stringId !== dashboardItemId);
29474
+ return;
29475
+ }
29476
+ this.dashboardItemsMapping[dashboardItemId] = menuItemCase;
29477
+ });
29478
+ this.itemsLoaded += 1;
29479
+ if (this.itemsLoaded == 2) {
29480
+ this.loading$.off();
29481
+ }
29482
+ });
29483
+ }
29484
+ getDashboardItems(dashboardItemsOptions, dashboardItemsParams) {
29485
+ var _a;
29486
+ const itemsOrder = (_a = this.getManagementItemsOrder(this.dashboardCase)) === null || _a === void 0 ? void 0 : _a.split(",");
29487
+ let dashboardItemsSearchBody = {
29488
+ stringId: Object.keys(dashboardItemsOptions)
29489
+ };
29490
+ this._caseResource.searchCases(SimpleFilter.fromCaseQuery(dashboardItemsSearchBody), dashboardItemsParams).subscribe(resultItems => {
29491
+ const itemsContent = resultItems.content;
29492
+ if (!itemsContent || !itemsContent.length || itemsContent.length < 1) {
29493
+ this.loading$.off();
29494
+ this._log.error('No dashboard items found.');
29495
+ }
29496
+ itemsContent.forEach(item => {
29497
+ const itemIndex = itemsOrder === null || itemsOrder === void 0 ? void 0 : itemsOrder.indexOf(item.stringId);
29498
+ this.dashboardItems[itemIndex] = item;
29499
+ });
29500
+ this.itemsLoaded += 1;
29501
+ if (this.itemsLoaded == 2) {
29502
+ this.loading$.off();
29503
+ }
29504
+ });
29505
+ }
29506
+ // GET item fields
29507
+ getItemName(itemCase) {
29508
+ const i18nFieldValue = this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_NAME_DATAFIELD);
29509
+ return this._languageService.getLanguage() in i18nFieldValue.translations
29510
+ ? i18nFieldValue.translations[this._languageService.getLanguage()]
29511
+ : i18nFieldValue.defaultValue;
29512
+ }
29513
+ getItemIcon(itemCase) {
29514
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_ICON_DATAFIELD);
29515
+ }
29516
+ getItemInternal(itemCase) {
29517
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_INTERNAL_DATAFIELD);
29518
+ }
29519
+ getItemExternalIcon(itemCase) {
29520
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_EXTERNAL_ICON_DATAFIELD);
29521
+ }
29522
+ getItemURL(itemCase) {
29523
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_URL_DATAFIELD);
29524
+ }
29525
+ getItemFontColor(itemCase) {
29526
+ const fontColor = this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_FONT_COLOR_DATAFIELD);
29527
+ return !!fontColor && fontColor !== '' ? fontColor : 'black';
29528
+ }
29529
+ getItemFontWeight(itemCase) {
29530
+ const fontWeight = this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_FONT_WEIGHT_DATAFIELD);
29531
+ return !!fontWeight && fontWeight !== '' ? fontWeight : 'normal';
29532
+ }
29533
+ getItemIconColor(itemCase) {
29534
+ const iconColor = this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_ICON_COLOR_DATAFIELD);
29535
+ return !!iconColor && iconColor !== '' ? iconColor : 'black';
29536
+ }
29537
+ // GET management fields
29538
+ getManagementSimpleToolbar(itemCase) {
29539
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_SIMPLE_TOOLBAR_DATAFIELD);
29540
+ }
29541
+ getManagementProfileToolbar(itemCase) {
29542
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_PROFILE_TOOLBAR_DATAFIELD);
29543
+ }
29544
+ getManagementLanguageToolbar(itemCase) {
29545
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LANGUAGE_TOOLBAR_DATAFIELD);
29546
+ }
29547
+ getManagementLogoutToolbar(itemCase) {
29548
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGOUT_TOOLBAR_DATAFIELD);
29549
+ }
29550
+ getManagementName(itemCase) {
29551
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_NAME_DATAFIELD);
29552
+ }
29553
+ getManagementLogo(itemCase) {
29554
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGO_DATAFIELD);
29555
+ }
29556
+ getManagementItemsOrder(itemCase) {
29557
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ITEMS_ORDER_DATAFIELD);
29558
+ }
29559
+ getManagementProfileUrl(itemCase) {
29560
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_PROFILE_URL_DATAFIELD);
29561
+ }
29562
+ getManagementLoginUrl(itemCase) {
29563
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGIN_URL_DATAFIELD);
29564
+ }
29565
+ getFieldValue(itemCase, fieldId) {
29566
+ return itemCase.immediateData.find(immediateField => immediateField["importId"] === fieldId).value;
29567
+ }
29568
+ navigate(itemCase) {
29569
+ if (this.getItemInternal(itemCase)) {
29570
+ const itemPath = this._doubleDrawerNavigationService.getItemRoutingPath(this.dashboardItemsMapping[itemCase.stringId]);
29571
+ const nodePath = this.getFieldValue(this.dashboardItemsMapping[itemCase.stringId], 'nodePath');
29572
+ this._uriService.getNodeByPath(nodePath).subscribe(uriResource => {
29573
+ this._uriService.activeNode = uriResource;
29574
+ this._router.navigate([itemPath]);
29575
+ });
29576
+ }
29577
+ else {
29578
+ window.open(this.getItemURL(itemCase), "_blank");
29579
+ }
29580
+ }
29581
+ }
29582
+ AbstractDashboardComponent.MAIN_DASHBOARD = 'main_dashboard';
29583
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_IDENTIFIER = 'dashboard_management';
29584
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ID_DATAFIELD = 'dashboard_id';
29585
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ITEM_TO_MENU_ITEM_DATAFIELD = 'dashboard_item_to_menu_item';
29586
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_SIMPLE_TOOLBAR_DATAFIELD = 'simple_dashboard_toolbar';
29587
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_PROFILE_TOOLBAR_DATAFIELD = 'profile_dashboard_toolbar';
29588
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LANGUAGE_TOOLBAR_DATAFIELD = 'language_dashboard_toolbar';
29589
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGOUT_TOOLBAR_DATAFIELD = 'logout_dashboard_toolbar';
29590
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_NAME_DATAFIELD = 'dashboard_name';
29591
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGO_DATAFIELD = 'dashboard_logo';
29592
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ITEMS_ORDER_DATAFIELD = "items_order";
29593
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_PROFILE_URL_DATAFIELD = "profile_url";
29594
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGIN_URL_DATAFIELD = "login_url";
29595
+ AbstractDashboardComponent.DASHBOARD_ITEM_ICON_DATAFIELD = 'item_icon';
29596
+ AbstractDashboardComponent.DASHBOARD_ITEM_NAME_DATAFIELD = 'item_name';
29597
+ AbstractDashboardComponent.DASHBOARD_ITEM_URL_DATAFIELD = 'external_url';
29598
+ AbstractDashboardComponent.DASHBOARD_ITEM_INTERNAL_DATAFIELD = 'is_internal';
29599
+ AbstractDashboardComponent.DASHBOARD_ITEM_EXTERNAL_ICON_DATAFIELD = 'external_icon';
29600
+ AbstractDashboardComponent.DASHBOARD_ITEM_FONT_COLOR_DATAFIELD = 'font_color';
29601
+ AbstractDashboardComponent.DASHBOARD_ITEM_FONT_WEIGHT_DATAFIELD = 'font_weight';
29602
+ AbstractDashboardComponent.DASHBOARD_ITEM_ICON_COLOR_DATAFIELD = 'icon_color';
29603
+ AbstractDashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDashboardComponent, deps: [{ token: CaseResourceService }, { token: LoggerService }, { token: UriService }, { token: i2$5.Router }, { token: LanguageService }, { token: DoubleDrawerNavigationService }], target: i0.ɵɵFactoryTarget.Component });
29604
+ AbstractDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractDashboardComponent, selector: "ncc-dashboard", ngImport: i0, template: '', isInline: true });
29605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDashboardComponent, decorators: [{
29606
+ type: Component,
29607
+ args: [{
29608
+ selector: 'ncc-dashboard',
29609
+ template: ''
29610
+ }]
29611
+ }], ctorParameters: function () { return [{ type: CaseResourceService }, { type: LoggerService }, { type: UriService }, { type: i2$5.Router }, { type: LanguageService }, { type: DoubleDrawerNavigationService }]; } });
29612
+
29135
29613
  /**
29136
29614
  * Search component search mode
29137
29615
  */
@@ -29246,6 +29724,18 @@ function extractFieldValueFromData(dataSection, fieldId) {
29246
29724
  }
29247
29725
  return field.value;
29248
29726
  }
29727
+ /**
29728
+ * Checks if the data groups contain view
29729
+ * @returns true if the data contains filter
29730
+ * @throws Error if filter field is not found
29731
+ * */
29732
+ function hasView(dataSection) {
29733
+ const field = getFieldFromDataGroups(dataSection, 'view_configuration_form');
29734
+ if (field === undefined) {
29735
+ throw new Error(`Field view_configuration_form could not be resolved`);
29736
+ }
29737
+ return field.value !== null && field.value !== undefined && field.value.length > 0;
29738
+ }
29249
29739
 
29250
29740
  function addAllowedNets(allowedNets, existingAllowedNets) {
29251
29741
  if (!!allowedNets && allowedNets.length > 0) {
@@ -29266,6 +29756,9 @@ function tabbedAllowedNetsServiceFactory(factory, tabData) {
29266
29756
  * It has a dependency on this class and {@link NAE_NAVIGATION_ITEM_TASK_DATA} injection token.
29267
29757
  */
29268
29758
  function navigationItemTaskAllowedNetsServiceFactory(factory, baseAllowedNets, navigationItemTaskData) {
29759
+ if (!navigationItemTaskData) {
29760
+ return factory.createWithAllNets();
29761
+ }
29269
29762
  const filterField = getFieldFromDataGroups(navigationItemTaskData, UserFilterConstants.FILTER_FIELD_ID);
29270
29763
  const allowedNetsField = getFieldFromDataGroups(navigationItemTaskData, UserFilterConstants.ALLOWED_NETS_FIELD_ID);
29271
29764
  if (filterField === undefined) {
@@ -29439,14 +29932,24 @@ class FilterExtractionService {
29439
29932
  }
29440
29933
  return navigationItemTaskAllowedNetsServiceFactory(this._factory, this.baseAllowedNets, sliced);
29441
29934
  }
29442
- extractCompleteAdditionalFilterFromData(dataSection) {
29935
+ extractCompleteAdditionalFilterFromData(dataSection, activatedRoute) {
29443
29936
  const taskRefIndex = getFieldIndexFromDataGroups(dataSection, GroupNavigationConstants.ITEM_FIELD_ID_ADDITIONAL_FILTER_TASKREF);
29444
29937
  if (taskRefIndex === undefined) {
29445
29938
  return undefined;
29446
29939
  }
29447
- return this.extractCompleteFilterFromData(dataSection.slice(taskRefIndex.dataGroupIndex + 1));
29940
+ return this.extractCompleteFilterFromData(dataSection.slice(taskRefIndex.dataGroupIndex + 1), activatedRoute);
29448
29941
  }
29449
- extractCompleteFilterFromData(dataSection, filterData, fieldId = UserFilterConstants.FILTER_FIELD_ID) {
29942
+ extractCompleteFilterFromData(dataSection, activatedRoute, fieldId = UserFilterConstants.FILTER_FIELD_ID) {
29943
+ if (!dataSection) {
29944
+ if (!activatedRoute) {
29945
+ throw new Error('ActivatedRoute not provided.');
29946
+ }
29947
+ const singleCaseId = activatedRoute.snapshot.paramMap.get('singleCaseId');
29948
+ if (!singleCaseId) {
29949
+ throw new Error('Case ID not found in route.');
29950
+ }
29951
+ return SimpleFilter.fromTaskQuery({ case: { id: singleCaseId } });
29952
+ }
29450
29953
  const filterIndex = getFieldIndexFromDataGroups(dataSection, fieldId);
29451
29954
  if (filterIndex === undefined) {
29452
29955
  return undefined;
@@ -29458,10 +29961,7 @@ class FilterExtractionService {
29458
29961
  catch (e) {
29459
29962
  throw new Error('Filter segment could not be extracted from filter field');
29460
29963
  }
29461
- if (!!filterData) {
29462
- filterSegment = filterSegment.merge(filterData, MergeOperator.AND);
29463
- }
29464
- const parentFilter = this.extractCompleteFilterFromData(dataSection.slice(filterIndex.dataGroupIndex + 1), filterData);
29964
+ const parentFilter = this.extractCompleteFilterFromData(dataSection.slice(filterIndex.dataGroupIndex + 1), activatedRoute);
29465
29965
  if (parentFilter !== undefined && parentFilter.type === filterSegment.type) {
29466
29966
  return filterSegment.merge(parentFilter, MergeOperator.AND);
29467
29967
  }
@@ -29738,7 +30238,7 @@ class AbstractTabbedCaseViewComponent extends AbstractCaseViewComponent {
29738
30238
  }, this._autoswitchToTaskTab, this._openExistingTab);
29739
30239
  }
29740
30240
  }
29741
- AbstractTabbedCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedCaseViewComponent, deps: [{ token: CaseViewService }, { token: LoggerService }, { token: NAE_TAB_DATA }, { token: OverflowService }, { token: NAE_AUTOSWITCH_TAB_TOKEN, optional: true }, { token: NAE_OPEN_EXISTING_TAB, optional: true }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
30241
+ AbstractTabbedCaseViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedCaseViewComponent, deps: [{ token: CaseViewService }, { token: LoggerService }, { token: NAE_TAB_DATA }, { token: OverflowService }, { token: NAE_AUTOSWITCH_TAB_TOKEN, optional: true }, { token: NAE_OPEN_EXISTING_TAB, optional: true }, { token: NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, optional: true }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
29742
30242
  AbstractTabbedCaseViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractTabbedCaseViewComponent, selector: "ncc-abstract-tabbed-case-view", usesInheritance: true, ngImport: i0, template: '', isInline: true });
29743
30243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedCaseViewComponent, decorators: [{
29744
30244
  type: Component,
@@ -29765,7 +30265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29765
30265
  }, {
29766
30266
  type: Inject,
29767
30267
  args: [NAE_NEW_CASE_CREATION_CONFIGURATION_DATA]
29768
- }] }, { type: i3$1.ActivatedRoute }];
30268
+ }] }, { type: i2$5.ActivatedRoute }];
29769
30269
  } });
29770
30270
 
29771
30271
  class AbstractTabbedTaskViewComponent extends AbstractTaskViewComponent {
@@ -29781,7 +30281,7 @@ class AbstractTabbedTaskViewComponent extends AbstractTaskViewComponent {
29781
30281
  this.subTaskView.unsubscribe();
29782
30282
  }
29783
30283
  }
29784
- AbstractTabbedTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedTaskViewComponent, deps: [{ token: TaskViewService }, { token: NAE_TAB_DATA }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
30284
+ AbstractTabbedTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedTaskViewComponent, deps: [{ token: TaskViewService }, { token: NAE_TAB_DATA }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
29785
30285
  AbstractTabbedTaskViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractTabbedTaskViewComponent, selector: "ncc-abstract-tabbed-task-view", usesInheritance: true, ngImport: i0, template: '', isInline: true });
29786
30286
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedTaskViewComponent, decorators: [{
29787
30287
  type: Component,
@@ -29793,7 +30293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29793
30293
  return [{ type: TaskViewService }, { type: undefined, decorators: [{
29794
30294
  type: Inject,
29795
30295
  args: [NAE_TAB_DATA]
29796
- }] }, { type: i3$1.ActivatedRoute }];
30296
+ }] }, { type: i2$5.ActivatedRoute }];
29797
30297
  } });
29798
30298
 
29799
30299
  const NAE_TREE_CASE_VIEW_CONFIGURATION = new InjectionToken('NaeTreeCaseViewConfiguration');
@@ -30946,6 +31446,17 @@ class AbstractWorkflowViewComponent extends AbstractViewWithHeadersComponent {
30946
31446
  this.workflows$ = this._workflowViewService.workflows$;
30947
31447
  this.loading$ = this._workflowViewService.loading$;
30948
31448
  this.footerSize = 0;
31449
+ this.fullTextFormControl = new FormControl();
31450
+ }
31451
+ ngOnInit() {
31452
+ this.fullTextFormControl.valueChanges.pipe(debounceTime(600), filter(newValue => typeof newValue === 'string'), map((newValue) => newValue.trim())).subscribe((fulltext) => {
31453
+ if (fulltext.length === 0) {
31454
+ this._workflowViewService.clearSearchTitle();
31455
+ }
31456
+ else {
31457
+ this._workflowViewService.setSearchTitle(fulltext);
31458
+ }
31459
+ });
30949
31460
  }
30950
31461
  ngAfterViewInit() {
30951
31462
  this.initializeHeader(this.workflowHeader);
@@ -30995,7 +31506,7 @@ class AbstractWorkflowViewComponent extends AbstractViewWithHeadersComponent {
30995
31506
  }
30996
31507
  }
30997
31508
  }
30998
- AbstractWorkflowViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractWorkflowViewComponent, deps: [{ token: i1$3.MatDialog }, { token: WorkflowViewService }, { token: LoggerService }, { token: ProcessService }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
31509
+ AbstractWorkflowViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractWorkflowViewComponent, deps: [{ token: i1$3.MatDialog }, { token: WorkflowViewService }, { token: LoggerService }, { token: ProcessService }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
30999
31510
  AbstractWorkflowViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractWorkflowViewComponent, selector: "ncc-abstract-workflow-view", inputs: { footerSize: "footerSize", showDeleteMenu: "showDeleteMenu" }, viewQueries: [{ propertyName: "workflowHeader", first: true, predicate: ["header"], descendants: true }, { propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
31000
31511
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractWorkflowViewComponent, decorators: [{
31001
31512
  type: Component,
@@ -31003,7 +31514,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31003
31514
  selector: 'ncc-abstract-workflow-view',
31004
31515
  template: ''
31005
31516
  }]
31006
- }], ctorParameters: function () { return [{ type: i1$3.MatDialog }, { type: WorkflowViewService }, { type: LoggerService }, { type: ProcessService }, { type: i3$1.ActivatedRoute }]; }, propDecorators: { footerSize: [{
31517
+ }], ctorParameters: function () { return [{ type: i1$3.MatDialog }, { type: WorkflowViewService }, { type: LoggerService }, { type: ProcessService }, { type: i2$5.ActivatedRoute }]; }, propDecorators: { footerSize: [{
31007
31518
  type: Input
31008
31519
  }], showDeleteMenu: [{
31009
31520
  type: Input
@@ -31069,7 +31580,7 @@ class AbstractDefaultCaseListComponent extends TabbedVirtualScrollComponent {
31069
31580
  });
31070
31581
  }
31071
31582
  }
31072
- AbstractDefaultCaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDefaultCaseListComponent, deps: [{ token: CaseViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
31583
+ AbstractDefaultCaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDefaultCaseListComponent, deps: [{ token: CaseViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
31073
31584
  AbstractDefaultCaseListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractDefaultCaseListComponent, selector: "ncc-abstract-default-case-list", inputs: { selectedHeaders$: "selectedHeaders$", responsiveBody: "responsiveBody", showCasePanelIcon: "showCasePanelIcon", showDeleteMenu: "showDeleteMenu", textEllipsis: "textEllipsis", width: "width", redirectEnabled: "redirectEnabled" }, outputs: { caseClick: "caseClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
31074
31585
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDefaultCaseListComponent, decorators: [{
31075
31586
  type: Component,
@@ -31083,7 +31594,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31083
31594
  }, {
31084
31595
  type: Inject,
31085
31596
  args: [NAE_TAB_DATA]
31086
- }] }, { type: i3$1.ActivatedRoute }];
31597
+ }] }, { type: i2$5.ActivatedRoute }];
31087
31598
  }, propDecorators: { selectedHeaders$: [{
31088
31599
  type: Input
31089
31600
  }], responsiveBody: [{
@@ -31124,7 +31635,7 @@ class AbstractCaseListComponent extends AbstractDefaultCaseListComponent {
31124
31635
  this._caseViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
31125
31636
  }
31126
31637
  }
31127
- AbstractCaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseListComponent, deps: [{ token: CaseViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
31638
+ AbstractCaseListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseListComponent, deps: [{ token: CaseViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
31128
31639
  AbstractCaseListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractCaseListComponent, selector: "ncc-abstract-case-list", viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
31129
31640
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseListComponent, decorators: [{
31130
31641
  type: Component,
@@ -31138,7 +31649,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31138
31649
  }, {
31139
31650
  type: Inject,
31140
31651
  args: [NAE_TAB_DATA]
31141
- }] }, { type: i3$1.ActivatedRoute }];
31652
+ }] }, { type: i2$5.ActivatedRoute }];
31142
31653
  }, propDecorators: { viewport: [{
31143
31654
  type: ViewChild,
31144
31655
  args: [CdkVirtualScrollViewport]
@@ -31152,7 +31663,7 @@ class AbstractCaseListPaginatorComponent extends AbstractDefaultCaseListComponen
31152
31663
  this.route = route;
31153
31664
  this.pageSize = 20;
31154
31665
  this.pageIndex = 0;
31155
- this.pageSizeOptions = [10, 20, 50, 100];
31666
+ this.pageSizeOptions = [10, 20, 50];
31156
31667
  this._caseViewService.nextPagePagination(this.pageSize, this.pageIndex);
31157
31668
  this._caseViewService.paginationView = true;
31158
31669
  this.cases$ = this._caseViewService.cases$.pipe(tap(() => {
@@ -31170,7 +31681,7 @@ class AbstractCaseListPaginatorComponent extends AbstractDefaultCaseListComponen
31170
31681
  return caze.stringId;
31171
31682
  }
31172
31683
  }
31173
- AbstractCaseListPaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseListPaginatorComponent, deps: [{ token: CaseViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i3$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
31684
+ AbstractCaseListPaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseListPaginatorComponent, deps: [{ token: CaseViewService }, { token: LoggerService }, { token: NAE_TAB_DATA, optional: true }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
31174
31685
  AbstractCaseListPaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractCaseListPaginatorComponent, selector: "ncc-abstract-case-list-paginator", inputs: { approval: "approval", disabled: "disabled" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
31175
31686
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseListPaginatorComponent, decorators: [{
31176
31687
  type: Component,
@@ -31184,7 +31695,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31184
31695
  }, {
31185
31696
  type: Inject,
31186
31697
  args: [NAE_TAB_DATA]
31187
- }] }, { type: i3$1.ActivatedRoute }];
31698
+ }] }, { type: i2$5.ActivatedRoute }];
31188
31699
  }, propDecorators: { approval: [{
31189
31700
  type: Input
31190
31701
  }], disabled: [{
@@ -31446,41 +31957,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31446
31957
  type: Input
31447
31958
  }] } });
31448
31959
 
31449
- class TaskConst {
31450
- }
31451
- TaskConst.TRANSITION_ID = 'transitionId';
31452
31960
  class AbstractSingleTaskViewComponent extends AbstractViewWithHeadersComponent {
31453
- constructor(taskViewService, activatedRoute, baseFilter) {
31961
+ constructor(taskViewService, activatedRoute) {
31454
31962
  super(taskViewService, activatedRoute);
31455
31963
  this.taskViewService = taskViewService;
31456
- this.baseFilter = baseFilter;
31457
31964
  this.initiallyExpanded = true;
31458
31965
  this.preventCollapse = true;
31459
31966
  this.noTaskPresent = new EventEmitter();
31460
- this.taskPanelData = this.taskViewService.tasks$.pipe(map(tasks => tasks.find(panelData => this.isTaskMatchingFilter(panelData, baseFilter.filter.getRequestBody())))).pipe(tap(panelData => {
31967
+ this.taskPanelData = this.taskViewService.tasks$.pipe(map(tasks => (tasks === null || tasks === void 0 ? void 0 : tasks.length) > 0 ? tasks[0] : undefined), tap(panelData => {
31461
31968
  if (!!panelData) {
31462
31969
  panelData.initiallyExpanded = true;
31970
+ panelData.task.assignPolicy = AssignPolicy.auto;
31971
+ this.finishTitle = panelData.task.finishTitle;
31463
31972
  }
31464
31973
  }));
31465
31974
  this.loading$ = this.taskViewService.loading$;
31466
31975
  }
31467
- ngOnDestroy() {
31468
- super.ngOnDestroy();
31469
- if (!!this.subRoute) {
31470
- this.subRoute.unsubscribe();
31471
- }
31472
- if (!!this.subPanelData) {
31473
- this.subPanelData.unsubscribe();
31474
- }
31475
- }
31476
31976
  get task$() {
31477
31977
  return this.taskPanelData;
31478
31978
  }
31479
- isTaskMatchingFilter(panelData, taskSearchRequestBody) {
31480
- return panelData.task.stringId === taskSearchRequestBody.stringId || panelData.task.transitionId === taskSearchRequestBody.transitionId;
31481
- }
31482
31979
  }
31483
- AbstractSingleTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskViewComponent, deps: [{ token: TaskViewService }, { token: i3$1.ActivatedRoute }, { token: NAE_BASE_FILTER }], target: i0.ɵɵFactoryTarget.Component });
31980
+ AbstractSingleTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskViewComponent, deps: [{ token: TaskViewService }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
31484
31981
  AbstractSingleTaskViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractSingleTaskViewComponent, selector: "ncc-abstract-single-task-view", inputs: { initiallyExpanded: "initiallyExpanded", preventCollapse: "preventCollapse" }, outputs: { noTaskPresent: "noTaskPresent" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
31485
31982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskViewComponent, decorators: [{
31486
31983
  type: Component,
@@ -31488,12 +31985,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31488
31985
  selector: 'ncc-abstract-single-task-view',
31489
31986
  template: ''
31490
31987
  }]
31491
- }], ctorParameters: function () {
31492
- return [{ type: TaskViewService }, { type: i3$1.ActivatedRoute }, { type: undefined, decorators: [{
31493
- type: Inject,
31494
- args: [NAE_BASE_FILTER]
31495
- }] }];
31496
- }, propDecorators: { initiallyExpanded: [{
31988
+ }], ctorParameters: function () { return [{ type: TaskViewService }, { type: i2$5.ActivatedRoute }]; }, propDecorators: { initiallyExpanded: [{
31497
31989
  type: Input
31498
31990
  }], preventCollapse: [{
31499
31991
  type: Input
@@ -31501,6 +31993,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31501
31993
  type: Output
31502
31994
  }] } });
31503
31995
 
31996
+ class AbstractTabbedSingleTaskViewComponent extends AbstractSingleTaskViewComponent {
31997
+ constructor(taskViewService, _injectedTabData, _activatedRoute) {
31998
+ super(taskViewService, _activatedRoute);
31999
+ this._injectedTabData = _injectedTabData;
32000
+ this.subTaskView = taskViewService.closeTab.subscribe(() => {
32001
+ _injectedTabData.tabViewRef.closeTabIndex(_injectedTabData.tabViewRef.currentlySelectedTab());
32002
+ });
32003
+ }
32004
+ ngOnDestroy() {
32005
+ super.ngOnDestroy();
32006
+ this.subTaskView.unsubscribe();
32007
+ }
32008
+ }
32009
+ AbstractTabbedSingleTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedSingleTaskViewComponent, deps: [{ token: TaskViewService }, { token: NAE_TAB_DATA }, { token: i2$5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
32010
+ AbstractTabbedSingleTaskViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractTabbedSingleTaskViewComponent, selector: "ncc-abstract-tabbed-single-task-view", usesInheritance: true, ngImport: i0, template: '', isInline: true });
32011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedSingleTaskViewComponent, decorators: [{
32012
+ type: Component,
32013
+ args: [{
32014
+ selector: 'ncc-abstract-tabbed-single-task-view',
32015
+ template: ''
32016
+ }]
32017
+ }], ctorParameters: function () {
32018
+ return [{ type: TaskViewService }, { type: undefined, decorators: [{
32019
+ type: Inject,
32020
+ args: [NAE_TAB_DATA]
32021
+ }] }, { type: i2$5.ActivatedRoute }];
32022
+ } });
32023
+
31504
32024
  /* INTERFACES */
31505
32025
 
31506
32026
  class PublicProcessService extends ProcessService {
@@ -32808,6 +33328,7 @@ class ProcessList {
32808
33328
  if (this.loading) {
32809
33329
  return;
32810
33330
  }
33331
+ const processes = new Subject();
32811
33332
  this._loading$.on();
32812
33333
  this._resources.getAll().pipe(catchError(err => {
32813
33334
  this._log.error('Failed to load Petri nets', err);
@@ -32836,8 +33357,10 @@ class ProcessList {
32836
33357
  cache[net.identifier].newestVersion = cache[net.identifier].processes[0].version;
32837
33358
  });
32838
33359
  this._processes = Object.values(cache).sort();
33360
+ processes.next(this._processes);
32839
33361
  this._loading$.off();
32840
33362
  });
33363
+ return processes.asObservable();
32841
33364
  }
32842
33365
  prepareToTryAgainToLoadRoles(item) {
32843
33366
  if (!item || !item.emptyRoles) {
@@ -32959,17 +33482,24 @@ class AbstractRoleAssignmentComponent {
32959
33482
  constructor(_service, _userService) {
32960
33483
  this._service = _service;
32961
33484
  this._userService = _userService;
33485
+ this.filteredProcesses = [];
32962
33486
  this.searchUserControl = new FormControl();
33487
+ this.searchNetControl = new FormControl();
32963
33488
  this.SEARCH_DEBOUNCE_TIME = 600;
32964
33489
  this.users = this._service.userList;
32965
33490
  this.nets = this._service.processList;
32966
33491
  this.userMultiSelect = true;
32967
33492
  }
32968
33493
  ngOnInit() {
32969
- this.nets.loadProcesses();
33494
+ this.nets.loadProcesses().subscribe(processes => {
33495
+ this.filteredProcesses = processes;
33496
+ });
32970
33497
  this.subValueChanges = this.searchUserControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
32971
33498
  this.users.reload(searchText);
32972
33499
  });
33500
+ this.subNetValueChanges = this.searchNetControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
33501
+ this.filteredProcesses = this.nets.processes.filter(itm => itm.title.toLowerCase().includes(searchText.toLowerCase()));
33502
+ });
32973
33503
  }
32974
33504
  ngAfterViewInit() {
32975
33505
  this.subUsers = this.users.usersReload$.subscribe(() => {
@@ -32981,9 +33511,11 @@ class AbstractRoleAssignmentComponent {
32981
33511
  ngOnDestroy() {
32982
33512
  this._userService.reload();
32983
33513
  this.subValueChanges.unsubscribe();
33514
+ this.subNetValueChanges.unsubscribe();
32984
33515
  this.subUsers.unsubscribe();
32985
33516
  this.users = undefined;
32986
33517
  this.nets = undefined;
33518
+ this.filteredProcesses = undefined;
32987
33519
  }
32988
33520
  loadNextUserPage() {
32989
33521
  if (!this.viewport) {
@@ -33112,6 +33644,9 @@ class AbstractUserInviteComponent {
33112
33644
  this._signUpService = _signUpService;
33113
33645
  this._snackBar = _snackBar;
33114
33646
  this._translate = _translate;
33647
+ this.filteredProcesses = [];
33648
+ this.SEARCH_DEBOUNCE_TIME = 600;
33649
+ this.searchNetControl = new FormControl();
33115
33650
  this.nets = this._userInviteService.processList;
33116
33651
  this.loading = new LoadingEmitter();
33117
33652
  this.invitedEmailControl = new FormControl('', [Validators.email, Validators.required]);
@@ -33122,8 +33657,18 @@ class AbstractUserInviteComponent {
33122
33657
  return this._orgList.groups;
33123
33658
  }
33124
33659
  ngOnInit() {
33125
- this.nets.loadProcesses();
33660
+ this.nets.loadProcesses().subscribe(processes => {
33661
+ this.filteredProcesses = processes;
33662
+ });
33126
33663
  this._orgList.loadGroups();
33664
+ this.subNetValueChanges = this.searchNetControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
33665
+ this.filteredProcesses = this.nets.processes.filter(itm => itm.title.toLowerCase().includes(searchText.toLowerCase()));
33666
+ });
33667
+ }
33668
+ ngOnDestroy() {
33669
+ this.subNetValueChanges.unsubscribe();
33670
+ this.nets = undefined;
33671
+ this.filteredProcesses = undefined;
33127
33672
  }
33128
33673
  removeGroup(org) {
33129
33674
  const itemIndex = this.invitedGroups.findIndex(g => g.id === org.id);
@@ -33380,17 +33925,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
33380
33925
  class AbstractLdapGroupRoleAssignmentComponent {
33381
33926
  constructor(_service) {
33382
33927
  this._service = _service;
33928
+ this.filteredProcesses = [];
33383
33929
  this.searchLdapGroupControl = new FormControl();
33930
+ this.searchNetControl = new FormControl();
33384
33931
  this.SEARCH_DEBOUNCE_TIME = 600;
33385
33932
  this.ldapGroup = this._service.ldapGroupList;
33386
33933
  this.nets = this._service.processList;
33387
33934
  this.ldapGroupMultiSelect = true;
33388
33935
  }
33389
33936
  ngOnInit() {
33390
- this.nets.loadProcesses();
33937
+ this.nets.loadProcesses().subscribe(processes => {
33938
+ this.filteredProcesses = processes;
33939
+ });
33391
33940
  this.subValueChanges = this.searchLdapGroupControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
33392
33941
  this.ldapGroup.reload(searchText);
33393
33942
  });
33943
+ this.subNetValueChanges = this.searchNetControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
33944
+ this.filteredProcesses = this.nets.processes.filter(itm => itm.title.toLowerCase().includes(searchText.toLowerCase()));
33945
+ });
33394
33946
  }
33395
33947
  ngAfterViewInit() {
33396
33948
  this.subLdapGroup = this.ldapGroup.ldapGroupsReload$.subscribe(() => {
@@ -33403,7 +33955,9 @@ class AbstractLdapGroupRoleAssignmentComponent {
33403
33955
  this.subValueChanges.unsubscribe();
33404
33956
  this.subLdapGroup.unsubscribe();
33405
33957
  this.ldapGroup = undefined;
33958
+ this.subNetValueChanges.unsubscribe();
33406
33959
  this.nets = undefined;
33960
+ this.filteredProcesses = undefined;
33407
33961
  }
33408
33962
  loadNextLdapGroupPage() {
33409
33963
  if (!this.viewport) {
@@ -33506,11 +34060,12 @@ function mapToContent(source, filter, pagination) {
33506
34060
  /**
33507
34061
  * Converts an {@link NAE_NAVIGATION_ITEM_TASK_DATA} injection token into {@link NAE_BASE_FILTER}
33508
34062
  * @param extractionService
34063
+ * @param activatedRoute
33509
34064
  * @param navigationItemTaskData a navigation item task containing the aggregated data representing a navigation item
33510
34065
  */
33511
- function navigationItemTaskFilterFactory(extractionService, navigationItemTaskData, filterData) {
34066
+ function navigationItemTaskFilterFactory(extractionService, activatedRoute, navigationItemTaskData) {
33512
34067
  return {
33513
- filter: extractionService.extractCompleteFilterFromData(navigationItemTaskData, filterData)
34068
+ filter: extractionService.extractCompleteFilterFromData(navigationItemTaskData, activatedRoute)
33514
34069
  };
33515
34070
  }
33516
34071
 
@@ -33525,6 +34080,9 @@ function navigationItemTaskFilterFactory(extractionService, navigationItemTaskDa
33525
34080
  * field, if the filter metadata allow it and the filter is a task filter
33526
34081
  */
33527
34082
  function navigationItemTaskCategoryFactory(categoryResolverService, navigationItemTaskData, defaultCaseSearchCategories, defaultTaskSearchCategories) {
34083
+ if (!navigationItemTaskData) {
34084
+ return [];
34085
+ }
33528
34086
  const filterField = getFieldFromDataGroups(navigationItemTaskData, UserFilterConstants.FILTER_FIELD_ID);
33529
34087
  if (filterField === undefined) {
33530
34088
  throw new Error(`Provided navigation item task data does not contain a filter field with ID '${UserFilterConstants.FILTER_FIELD_ID}'! Search categories cannot be generated from it!`);
@@ -33652,7 +34210,7 @@ class ContainsPipe {
33652
34210
  if (value === null || value === undefined)
33653
34211
  return false;
33654
34212
  if (Array.isArray(value))
33655
- return value.includes(toCheck);
34213
+ return value === null || value === void 0 ? void 0 : value.includes(toCheck);
33656
34214
  if (value instanceof Set || value instanceof Map)
33657
34215
  return value.has(toCheck);
33658
34216
  return false;
@@ -34756,11 +35314,11 @@ class TestViewService extends ViewService {
34756
35314
  super([], config, router, logger);
34757
35315
  }
34758
35316
  }
34759
- TestViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TestViewService, deps: [{ token: ConfigurationService }, { token: i3$1.Router }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
35317
+ TestViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TestViewService, deps: [{ token: ConfigurationService }, { token: i2$5.Router }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
34760
35318
  TestViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TestViewService });
34761
35319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TestViewService, decorators: [{
34762
35320
  type: Injectable
34763
- }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: i3$1.Router }, { type: LoggerService }]; } });
35321
+ }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: i2$5.Router }, { type: LoggerService }]; } });
34764
35322
 
34765
35323
  /**
34766
35324
  * A utility class that mock any pageable endpoint that takes one parameter
@@ -35128,7 +35686,7 @@ class Subgrid {
35128
35686
  * @returns the base identifier, if it already is unique. A unique variation on the base identifier if it is already in use.
35129
35687
  */
35130
35688
  assureUniqueness(identifier) {
35131
- const alphaNumIdentifier = 'x' + identifier.replace(/[^0-9a-z]/gi, '');
35689
+ const alphaNumIdentifier = 'x' + (identifier === null || identifier === void 0 ? void 0 : identifier.replace(/[^0-9a-z]/gi, ''));
35132
35690
  if (!this._existingIdentifiers.has(alphaNumIdentifier)) {
35133
35691
  this._existingIdentifiers.add(alphaNumIdentifier);
35134
35692
  return alphaNumIdentifier;
@@ -36403,5 +36961,5 @@ const BaseFilterFactoryProvider = {
36403
36961
  * Generated bundle index. Do not edit.
36404
36962
  */
36405
36963
 
36406
- export { AbstractAddChildNodeComponent, AbstractAdvancedSearchComponent, AbstractAuthenticationOverlayComponent, AbstractBaseDataFieldComponent, AbstractBooleanDefaultFieldComponent, AbstractBooleanFieldComponent, AbstractBreadcrumbsComponent, AbstractButtonDefaultFieldComponent, AbstractButtonFieldComponent, AbstractCaseListComponent, AbstractCaseListPaginatorComponent, AbstractCasePanelComponent, AbstractCaseRefDefaultComponent, AbstractCaseViewComponent, AbstractChangePasswordComponent, AbstractCountCardComponent, AbstractCurrencyNumberFieldComponent, AbstractCustomCardComponent, AbstractDashboardBarChartTextFieldComponent, AbstractDashboardContentComponent, AbstractDashboardIframeTextFieldComponent, AbstractDashboardLineChartTextFieldComponent, AbstractDashboardPieChartTextFieldComponent, AbstractDashboardPortalTextFieldComponent, AbstractDashboardTextFieldComponent, AbstractDataFieldTemplateComponent, AbstractDateDefaultFieldComponent, AbstractDateFieldComponent, AbstractDateTimeDefaultFieldComponent, AbstractDateTimeFieldComponent, AbstractDefaultNumberFieldComponent, AbstractEditModeComponent, AbstractEmailSubmissionFormComponent, AbstractEnumerationAutocompleteDynamicFieldComponent, AbstractEnumerationAutocompleteSelectFieldComponent, AbstractEnumerationCaseRefComponent, AbstractEnumerationFieldComponent, AbstractEnumerationIconFieldComponent, AbstractEnumerationListFieldComponent, AbstractEnumerationSelectFieldComponent, AbstractEnumerationStepperFieldComponent, AbstractFieldComponentResolverComponent, AbstractFileDefaultFieldComponent, AbstractFileFieldComponent, AbstractFileListDefaultFieldComponent, AbstractFileListFieldComponent, AbstractFilterDefaultFieldComponent, AbstractFilterFieldComponent, AbstractFilterFieldContentComponent, AbstractFilterFieldTabViewComponent, AbstractFilterFieldTabViewContentComponent, AbstractFilterSelectorComponent, AbstractFilterSelectorListItemComponent, AbstractForgottenPasswordComponent, AbstractFulltextSearchComponent, AbstractGroupNavigationComponentResolverComponent, AbstractHeaderComponent, AbstractHeaderService, AbstractHtmlTextareaFieldComponent, AbstractI18nDividerFieldComponent, AbstractI18nErrorsComponent, AbstractI18nFieldComponent, AbstractI18nTextFieldComponent, AbstractIframeCardComponent, AbstractImmediateFilterTextComponent, AbstractImmediateFilterTextContentComponent, AbstractImportNetComponent, AbstractInternalLinkComponent, AbstractLanguageSelectorComponent, AbstractLdapGroupRoleAssignmentComponent, AbstractLegalNoticeComponent, AbstractLoadFilterComponent, AbstractLoadingModeComponent, AbstractLoggerService, AbstractLoginFormComponent, AbstractLogoutShortcutComponent, AbstractMultiUserAssignComponent, AbstractMultiUserAssignItemComponent, AbstractMultiUserAssignListComponent, AbstractMultichoiceAutocompleteFieldComponentComponent, AbstractMultichoiceCaseRefComponent, AbstractMultichoiceFieldComponent, AbstractMultichoiceListFieldComponent, AbstractMultichoiceSelectFieldComponent, AbstractNavigationDoubleDrawerComponent, AbstractNavigationDrawerComponent, AbstractNavigationRailComponent, AbstractNavigationTreeComponent, AbstractNewCaseComponent, AbstractNumberDecimalFieldComponent, AbstractNumberErrorsComponent, AbstractNumberFieldComponent, AbstractOptionSelectorComponent, AbstractPanelComponent, AbstractPanelItemComponent, AbstractPasswordTextFieldComponent, AbstractProfileComponent, AbstractQuickPanelComponent, AbstractRegistrationComponent, AbstractRegistrationFormComponent, AbstractRemoveNodeComponent, AbstractResourceProvider, AbstractResourceService, AbstractRichTextareaFieldComponent, AbstractRoleAssignmentComponent, AbstractSaveFilterComponent, AbstractSearchClauseComponent, AbstractSearchComponent, AbstractSearchConfigurationInputComponent, AbstractSearchModeComponent, AbstractSearchOperandInputComponent, AbstractSearchPredicateComponent, AbstractSessionIdleComponent, AbstractSideMenuContainerComponent, AbstractSimpleTextFieldComponent, AbstractSingleTaskComponent, AbstractSingleTaskViewComponent, AbstractSortModeComponent, AbstractSortableViewComponent, AbstractStringCollectionDefaultFieldComponent, AbstractTabCreationDetectorComponent, AbstractTabViewComponent, AbstractTabbedCaseViewComponent, AbstractTabbedTaskViewComponent, AbstractTaskContentComponent, AbstractTaskListComponent, AbstractTaskListPaginationComponent, AbstractTaskPanelComponent, AbstractTaskRefDashboardFieldComponent, AbstractTaskRefDashboardTileComponent, AbstractTaskRefFieldComponent, AbstractTaskRefListFieldComponent, AbstractTaskViewComponent, AbstractTextErrorsComponent, AbstractTextFieldComponent, AbstractTextareaFieldComponent, AbstractToolbarComponent, AbstractTreeComponent, AbstractTreeTaskContentComponent, AbstractUserAssignComponent, AbstractUserAssignItemComponent, AbstractUserAssignListComponent, AbstractUserCardComponent, AbstractUserDefaultFieldComponent, AbstractUserFieldComponent, AbstractUserImpersonateComponent, AbstractUserInviteComponent, AbstractUserListDefaultFieldComponent, AbstractUserListFieldComponent, AbstractViewWithHeadersComponent, AbstractWorkflowPanelComponent, AbstractWorkflowViewComponent, AccessService, ActiveGroupService, AdvancedSearchComponentInitializationService, AfterAction, AlertDialogComponent, AlertDialogModule, AllowedNetsService, AllowedNetsServiceFactory, AnonymousAuthenticationInterceptor, AnonymousService, AssignPolicy, AssignPolicyService, AssignTaskService, AuthenticationGuardService, AuthenticationInterceptor, AuthenticationMethodService, AuthenticationModule, AuthenticationService, AuthorityGuardService, AutocompleteCategory, BOOLEAN_VALUE_LABEL_ENABLED, BaseAllowedNetsService, BaseFilterFactoryProvider, BasicAuthenticationService, BooleanField, BooleanFieldValidation, BooleanOperator, ButtonField, ButtonFieldValidation, CASE_ID, CONFIRM_PASSWORD, CallChainService, CancelTaskService, CaseAuthor, CaseCreationDate, CaseCreationDateTime, CaseDataset, CaseHeaderService, CaseListFontColorService, CaseMetaField, CaseNetAttributeAutocompleteCategory, CaseProcess, CaseRefField, CaseResourceService, CaseResourceServiceProvider, CaseRole, CaseSearch, CaseSimpleDataset, CaseStringId, CaseTask, CaseTitle, CaseTreeNode, CaseTreeService, CaseViewService, CaseVisualId, Categories, Category, CategoryFactory, CategoryResolverService, ChangedFieldsService, ClausePredicate, ComponentPrefixes, ComponentRegistryService, ConfigParams, ConfigurationInput, ConfigurationService, ConfirmDialogComponent, ConfirmDialogModule, ConsoleLogPublisher, ContainsPipe, CovalentModule, CurrencyModule, CustomDateAdapter, DATA_FIELD_PORTAL_DATA, DATE_FORMAT, DATE_FORMAT_STRING, DATE_TIME_FORMAT, DATE_TIME_FORMAT_STRING, DEFAULT, DEFAULT_LANGUAGE_CODE, Dashboard, DashboardCardTypes, DashboardMultiData, DashboardResourceService, DashboardSingleData, DataField, DataFieldsModule, DataFocusPolicy, DataFocusPolicyService, DataGroupAlignment, DatafieldMapKey, DateField, DateTimeField, DefaultSearchCategoriesModule, DelegateTaskService, DialogModule, DialogService, DynamicEnumerationField, DynamicNavigationRouteProviderService, EditableClausePredicate, EditableClausePredicateWithGenerators, EditableElementaryPredicate, EditablePredicate, EditablePredicateWithGenerator, ElementaryPredicate, EnumerationAutocompleteFilterProperty, EnumerationField, EnumerationFieldValidation, Equals, EqualsDate, ErrorSnackBarComponent, EventConstants, EventQueueService, EventService, FieldAlignment, FieldConverterService, FieldTypeResource, FileField, FileListField, FileListFieldValidation, FilePreviewType, FileUploadMIMEType, FileUploadModel, Filter, FilterExtractionService, FilterField, FilterRepository, FilterType, FilteredArray, FinishPolicy, FinishPolicyService, FinishTaskService, FrontActionModule, FrontActionRegistryService, FrontActionService, GenericSnackBarComponent, GroupGuardService, GroupNavigationComponentResolverService, GroupNavigationConstants, HeaderColumn, HeaderColumnType, HeaderMode, HeaderSearchService, HeaderType, HttpLoaderFactory, I18nField, I18nFieldValidation, ImpersonationService, ImpersonationUserListService, ImpersonationUserResourceService, ImpersonationUserSelectService, InRange, InRangeDate, IncrementingCounter, IsEmptyPipe, IsNonEmptyPipe, IsNull, LEFT_DRAWER_DEFAULT_WIDTH, LanguageIconsService, LanguageService, LdapGroupListService, LdapGroupResourceService, LessThan, LessThanDate, LessThanDateTime, LetContext, LetDirective, Like, LoadingEmitter, LoadingWithFilterEmitter, LocalStorageLogPublisher, LogEntry, LogLevel, LogPublisher, LogPublisherService, LoggerService, MENU_IDENTIFIERS, MaterialAppearance, MaterialModule, MenuOrder, MergeOperator, MergedFilter, MockAuthenticationMethodService, MockAuthenticationService, MockEndpoint, MockProfileService, MockSignUpService, MockUserPreferenceService, MockUserResourceService, MockUserService, MoreThan, MoreThanDate, MoreThanDateTime, MultichoiceAutocompleteFilterProperty, MultichoiceField, NAE_ADMIN_IMPERSONATE_COMPONENT, NAE_ADMIN_IMPERSONATE_DIALOG_COMPONENT, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_AUTOSWITCH_TAB_TOKEN, NAE_BASE_FILTER, NAE_CASE_REF_CREATE_CASE, NAE_CASE_REF_DATAFIELD, NAE_CASE_REF_SEARCH, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_LANGUAGE, NAE_DEFAULT_MIN_PASSWORD_LENGTH, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_FILTERS_FILTER, NAE_FILTER_FIELD, NAE_FILTER_TEXT, NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, NAE_IMPORT_NET_COMPONENT, NAE_IMPORT_NET_DIALOG_COMPONENT, NAE_INFORM_ABOUT_INVALID_DATA, NAE_LOAD_FILTER_COMPONENT, NAE_LOAD_FILTER_DIALOG_COMPONENT, NAE_MIN_PASSWORD_LENGTH, NAE_MULTI_USER_ASSIGN_COMPONENT, NAE_MULTI_USER_ASSIGN_DIALOG_COMPONENT, NAE_NAVIGATION_ITEM_TASK_DATA, NAE_NET_ALL_VERSIONS, NAE_NET_VERSION_VISIBLE, NAE_NEW_CASE_COMPONENT, NAE_NEW_CASE_CONFIGURATION, NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, NAE_NEW_CASE_DIALOG_COMPONENT, NAE_OPEN_EXISTING_TAB, NAE_OPTION_SELECTOR_COMPONENT, NAE_OPTION_SELECTOR_DIALOG_COMPONENT, NAE_PREFERRED_TASK_ENDPOINT, NAE_ROUTING_CONFIGURATION_PATH, NAE_SAVE_FILTER_COMPONENT, NAE_SAVE_FILTER_DIALOG_COMPONENT, NAE_SEARCH_CATEGORIES, NAE_SEARCH_COMPONENT_CONFIGURATION, NAE_SIDE_MENU_CONTROL, NAE_SNACKBAR_HORIZONTAL_POSITION, NAE_SNACKBAR_VERTICAL_POSITION, NAE_TAB_DATA, NAE_TASK_FORCE_OPEN, NAE_TASK_OPERATIONS, NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, NAE_TASK_VIEW_COMPONENT, NAE_TASK_VIEW_CONFIGURATION, NAE_TREE_CASE_VIEW_CONFIGURATION, NAE_URI_NODE_CASES_PAGE_SIZE, NAE_USER_ASSIGN_COMPONENT, NAE_USER_ASSIGN_DIALOG_COMPONENT, NAE_USER_IMPERSONATE_COMPONENT, NAE_USER_IMPERSONATE_DIALOG_COMPONENT, NAE_VIEW_ID, NAE_VIEW_ID_SEGMENT, NAE_WORKFLOW_SERVICE_CONFIRM_DELETE, NAE_WORKFLOW_SERVICE_FILTER, Net, NetAttributeAutocompleteCategory, NetgrifPaginatorIntl, NextGroupService, NoConfigurationAutocompleteCategory, NoConfigurationCategory, NoConfigurationUserAutocompleteCategory, NotEquals, NotEqualsDate, NotEqualsDateTime, NullAuthenticationService, NullTaskOperations, NumberField, NumberFieldValidation, OLD_PASSWORD, OpenedTab, Operator, OperatorResolverService, OperatorService, OperatorTemplatePart, OperatorTemplatePartType, Operators, OrganizationListService, OverflowService, PASSWORD, PETRI_NET_ID, PUBLISHERS, PageLoadRequestContext, PaginationParams, PaginationSort, PaperViewService, PermissionService, PermissionType, PetriNetResourceService, PetriNetResourceServiceProvider, Predicate, PredicateWithGenerator, ProcessList, ProcessService, ProcessServiceProvider, ProfileModule, ProfileService, ProgressType, PromptDialogComponent, PromptDialogModule, PublicCaseResourceService, PublicPetriNetResourceService, PublicProcessService, PublicTaskLoadingService, PublicTaskResourceService, PublicUrlResolverService, Query, QueuedEvent, RIGHT_DRAWER_DEFAULT_MIN_WIDTH, RIGHT_DRAWER_DEFAULT_WIDTH, RIGHT_DRAWER_MAX_WIDTH, RIGHT_SIDE_INIT_PAGE_SIZE, RIGHT_SIDE_NEW_PAGE_SIZE, RedirectService, ResourceProvider, ResultWithAfterActions, RoleAssignmentLdapGroupService, RoleAssignmentService, RoleGuardService, RoutingBuilderService, SETTINGS_TRANSITION_ID, SearchIndex, SearchIndexResolverService, SearchInputType, SearchMode, SearchService, SelectedCaseService, SessionIdleTimerService, SessionService, SideMenuControl, SideMenuRef, SideMenuService, SideMenuSize, SignUpModule, SignUpService, SimpleFilter, SingleTaskContentService, SnackBarComponent, SnackBarHorizontalPosition, SnackBarModule, SnackBarService, SnackBarVerticalPosition, SpinnerOverlayService, StringCollectionField, Subgrid, SubjectTaskOperations, Substring, SuccessSnackBarComponent, TRANSITION_ID, TabLabelStream, TabView, TabbedVirtualScrollComponent, TaskAssignee, TaskConst, TaskContentService, TaskDataService, TaskElementType, TaskEndpoint, TaskEvent, TaskEventService, TaskHandlingService, TaskHeaderService, TaskMetaField, TaskNetAttributeAutocompleteCategory, TaskProcess, TaskRefComponents, TaskRefDashboardConstants, TaskRefDashboardTileConstants, TaskRefField, TaskRequestStateService, TaskResourceService, TaskResourceServiceProvider, TaskRole, TaskTask, TaskViewService, TemplateAppearance, TestCaseBaseFilterProvider, TestCaseViewAllowedNetsFactory, TestConfigurationService, TestMockDependenciesModule, TestNoAllowedNetsFactory, TestTaskBaseFilterProvider, TestTaskViewAllowedNetsFactory, TestViewService, TextAreaField, TextAreaHeight, TextField, TextFieldComponent, TextFieldValidation, TextFieldView, TranslateLibModule, TreeCaseViewService, TreePetriflowIdentifiers, TreeTaskContentService, UnlimitedTaskContentService, UriContentType, UriResourceService, UriService, User, UserAutocomplete, UserComparatorService, UserField, UserFilterConstants, UserFiltersService, UserImpersonationConstants, UserInviteService, UserListField, UserListService, UserListValue, UserPreferenceService, UserResourceService, UserService, UserTransformer, UserValue, UtilityModule, ViewIdService, ViewService, WarningSnackBarComponent, WorkflowHeaderService, WorkflowMetaField, WorkflowViewService, WrappedBoolean, arrayToObservable, authenticationServiceFactory, clearTimeInformation, configureCategory, createMockCase, createMockCaseOutcome, createMockDataGroup, createMockDependencies, createMockField, createMockGetDataOutcome, createMockImmediateData, createMockNet, createMockPage, createMockPetriNetOutcome, createMockSetDataOutcome, createMockTask, createMockTaskOutcome, createSortParam, createTaskEventNotification, decodeBase64, defaultCaseSearchCategoriesFactory, defaultTaskSearchCategoriesFactory, destroySubscription, encodeBase64, extractFieldValueFromData, extractFilterFieldFromData, extractFilterFromData, extractFilterFromFilterField, extractIconAndTitle, extractRoles, extractSearchTypeFromData, getField, getFieldFromDataGroups, getFieldIndex, getFieldIndexFromDataGroups, getImmediateData, getNetAndCreateCase, groupNavigationViewIdSegmentFactory, hasContent, loadAllPages, mockUserAutocompleteValue, navigationItemCaseViewDefaultHeadersFactory, navigationItemTaskAllowedNetsServiceFactory, navigationItemTaskCategoryFactory, navigationItemTaskFilterFactory, navigationItemTaskViewDefaultHeadersFactory, ofVoid, processMessageResponse, publicBaseFilterFactory, publicFactoryResolver, redirectAction, refreshTree, reloadTaskAction, tabbedAllowedNetsServiceFactory, tabbedTaskViewConfigurationFactory, toMoment, validateTaskAction };
36964
+ export { AbstractAddChildNodeComponent, AbstractAdvancedSearchComponent, AbstractAuthenticationOverlayComponent, AbstractBaseDataFieldComponent, AbstractBooleanDefaultFieldComponent, AbstractBooleanFieldComponent, AbstractBreadcrumbsComponent, AbstractButtonDefaultFieldComponent, AbstractButtonFieldComponent, AbstractCaseListComponent, AbstractCaseListPaginatorComponent, AbstractCasePanelComponent, AbstractCaseRefDefaultComponent, AbstractCaseViewComponent, AbstractChangePasswordComponent, AbstractCountCardComponent, AbstractCurrencyNumberFieldComponent, AbstractCustomCardComponent, AbstractDashboardBarChartTextFieldComponent, AbstractDashboardComponent, AbstractDashboardContentComponent, AbstractDashboardIframeTextFieldComponent, AbstractDashboardLineChartTextFieldComponent, AbstractDashboardPieChartTextFieldComponent, AbstractDashboardPortalTextFieldComponent, AbstractDashboardTextFieldComponent, AbstractDataFieldTemplateComponent, AbstractDateDefaultFieldComponent, AbstractDateFieldComponent, AbstractDateTimeDefaultFieldComponent, AbstractDateTimeFieldComponent, AbstractDefaultNumberFieldComponent, AbstractEditModeComponent, AbstractEmailSubmissionFormComponent, AbstractEnumerationAutocompleteDynamicFieldComponent, AbstractEnumerationAutocompleteSelectFieldComponent, AbstractEnumerationCaseRefComponent, AbstractEnumerationFieldComponent, AbstractEnumerationIconFieldComponent, AbstractEnumerationListFieldComponent, AbstractEnumerationSelectFieldComponent, AbstractEnumerationStepperFieldComponent, AbstractFieldComponentResolverComponent, AbstractFileDefaultFieldComponent, AbstractFileFieldComponent, AbstractFileListDefaultFieldComponent, AbstractFileListFieldComponent, AbstractFilterDefaultFieldComponent, AbstractFilterFieldComponent, AbstractFilterFieldContentComponent, AbstractFilterFieldTabViewComponent, AbstractFilterFieldTabViewContentComponent, AbstractFilterSelectorComponent, AbstractFilterSelectorListItemComponent, AbstractForgottenPasswordComponent, AbstractFulltextSearchComponent, AbstractGroupNavigationComponentResolverComponent, AbstractHeaderComponent, AbstractHeaderService, AbstractHtmlTextareaFieldComponent, AbstractI18nDividerFieldComponent, AbstractI18nErrorsComponent, AbstractI18nFieldComponent, AbstractI18nTextFieldComponent, AbstractIframeCardComponent, AbstractImmediateFilterTextComponent, AbstractImmediateFilterTextContentComponent, AbstractImportNetComponent, AbstractInternalLinkComponent, AbstractLanguageSelectorComponent, AbstractLdapGroupRoleAssignmentComponent, AbstractLegalNoticeComponent, AbstractLoadFilterComponent, AbstractLoadingModeComponent, AbstractLoggerService, AbstractLoginFormComponent, AbstractLogoutShortcutComponent, AbstractMultiUserAssignComponent, AbstractMultiUserAssignItemComponent, AbstractMultiUserAssignListComponent, AbstractMultichoiceAutocompleteFieldComponentComponent, AbstractMultichoiceCaseRefComponent, AbstractMultichoiceFieldComponent, AbstractMultichoiceListFieldComponent, AbstractMultichoiceSelectFieldComponent, AbstractNavigationDoubleDrawerComponent, AbstractNavigationDrawerComponent, AbstractNavigationRailComponent, AbstractNavigationTreeComponent, AbstractNewCaseComponent, AbstractNumberDecimalFieldComponent, AbstractNumberErrorsComponent, AbstractNumberFieldComponent, AbstractOptionSelectorComponent, AbstractPanelComponent, AbstractPanelItemComponent, AbstractPasswordTextFieldComponent, AbstractProfileComponent, AbstractQuickPanelComponent, AbstractRegistrationComponent, AbstractRegistrationFormComponent, AbstractRemoveNodeComponent, AbstractResourceProvider, AbstractResourceService, AbstractRichTextareaFieldComponent, AbstractRoleAssignmentComponent, AbstractSaveFilterComponent, AbstractSearchClauseComponent, AbstractSearchComponent, AbstractSearchConfigurationInputComponent, AbstractSearchModeComponent, AbstractSearchOperandInputComponent, AbstractSearchPredicateComponent, AbstractSessionIdleComponent, AbstractSideMenuContainerComponent, AbstractSimpleTextFieldComponent, AbstractSingleTaskComponent, AbstractSingleTaskViewComponent, AbstractSortModeComponent, AbstractSortableViewComponent, AbstractStringCollectionDefaultFieldComponent, AbstractTabCreationDetectorComponent, AbstractTabViewComponent, AbstractTabbedCaseViewComponent, AbstractTabbedSingleTaskViewComponent, AbstractTabbedTaskViewComponent, AbstractTaskContentComponent, AbstractTaskListComponent, AbstractTaskListPaginationComponent, AbstractTaskPanelComponent, AbstractTaskRefDashboardFieldComponent, AbstractTaskRefDashboardTileComponent, AbstractTaskRefFieldComponent, AbstractTaskRefListFieldComponent, AbstractTaskViewComponent, AbstractTextErrorsComponent, AbstractTextFieldComponent, AbstractTextareaFieldComponent, AbstractToolbarComponent, AbstractTreeComponent, AbstractTreeTaskContentComponent, AbstractUserAssignComponent, AbstractUserAssignItemComponent, AbstractUserAssignListComponent, AbstractUserCardComponent, AbstractUserDefaultFieldComponent, AbstractUserFieldComponent, AbstractUserImpersonateComponent, AbstractUserInviteComponent, AbstractUserListDefaultFieldComponent, AbstractUserListFieldComponent, AbstractViewWithHeadersComponent, AbstractWorkflowPanelComponent, AbstractWorkflowViewComponent, AccessService, ActiveGroupService, AdvancedSearchComponentInitializationService, AfterAction, AlertDialogComponent, AlertDialogModule, AllowedNetsService, AllowedNetsServiceFactory, AnonymousAuthenticationInterceptor, AnonymousService, AssignPolicy, AssignPolicyService, AssignTaskService, AuthenticationGuardService, AuthenticationInterceptor, AuthenticationMethodService, AuthenticationModule, AuthenticationService, AuthorityGuardService, AutocompleteCategory, BOOLEAN_VALUE_LABEL_ENABLED, BaseAllowedNetsService, BaseFilterFactoryProvider, BasicAuthenticationService, BooleanField, BooleanFieldValidation, BooleanOperator, ButtonField, ButtonFieldValidation, CASE_ID, CONFIRM_PASSWORD, CallChainService, CancelTaskService, CaseAuthor, CaseCreationDate, CaseCreationDateTime, CaseDataset, CaseHeaderService, CaseListFontColorService, CaseMetaField, CaseNetAttributeAutocompleteCategory, CaseProcess, CaseRefField, CaseResourceService, CaseResourceServiceProvider, CaseRole, CaseSearch, CaseSimpleDataset, CaseStringId, CaseTask, CaseTitle, CaseTreeNode, CaseTreeService, CaseViewService, CaseVisualId, Categories, Category, CategoryFactory, CategoryResolverService, ChangedFieldsService, ClausePredicate, ComponentPrefixes, ComponentRegistryService, ConfigParams, ConfigurationInput, ConfigurationService, ConfirmDialogComponent, ConfirmDialogModule, ConsoleLogPublisher, ContainsPipe, CovalentModule, CurrencyModule, CustomDateAdapter, DATA_FIELD_PORTAL_DATA, DATE_FORMAT, DATE_FORMAT_STRING, DATE_TIME_FORMAT, DATE_TIME_FORMAT_STRING, DEFAULT, DEFAULT_LANGUAGE_CODE, Dashboard, DashboardCardTypes, DashboardMultiData, DashboardResourceService, DashboardSingleData, DataField, DataFieldsModule, DataFocusPolicy, DataFocusPolicyService, DataGroupAlignment, DatafieldMapKey, DateField, DateTimeField, DefaultSearchCategoriesModule, DelegateTaskService, DialogModule, DialogService, DoubleDrawerNavigationService, DoubleDrawerUtils, DynamicEnumerationField, DynamicNavigationRouteProviderService, EditableClausePredicate, EditableClausePredicateWithGenerators, EditableElementaryPredicate, EditablePredicate, EditablePredicateWithGenerator, ElementaryPredicate, EnumerationAutocompleteFilterProperty, EnumerationField, EnumerationFieldValidation, Equals, EqualsDate, ErrorSnackBarComponent, EventConstants, EventQueueService, EventService, FieldAlignment, FieldConverterService, FieldTypeResource, FileField, FileListField, FileListFieldValidation, FilePreviewType, FileUploadMIMEType, FileUploadModel, Filter, FilterExtractionService, FilterField, FilterRepository, FilterType, FilteredArray, FinishPolicy, FinishPolicyService, FinishTaskService, FrontActionModule, FrontActionRegistryService, FrontActionService, GenericSnackBarComponent, GroupGuardService, GroupNavigationComponentResolverService, GroupNavigationConstants, HeaderColumn, HeaderColumnType, HeaderMode, HeaderSearchService, HeaderType, HttpLoaderFactory, I18nField, I18nFieldValidation, ImpersonationService, ImpersonationUserListService, ImpersonationUserResourceService, ImpersonationUserSelectService, InRange, InRangeDate, IncrementingCounter, IsEmptyPipe, IsNonEmptyPipe, IsNull, LEFT_DRAWER_DEFAULT_WIDTH, LanguageIconsService, LanguageService, LdapGroupListService, LdapGroupResourceService, LessThan, LessThanDate, LessThanDateTime, LetContext, LetDirective, Like, LoadingEmitter, LoadingWithFilterEmitter, LocalStorageLogPublisher, LogEntry, LogLevel, LogPublisher, LogPublisherService, LoggerService, MENU_IDENTIFIERS, MaterialAppearance, MaterialModule, MenuOrder, MergeOperator, MergedFilter, MockAuthenticationMethodService, MockAuthenticationService, MockEndpoint, MockProfileService, MockSignUpService, MockUserPreferenceService, MockUserResourceService, MockUserService, MoreThan, MoreThanDate, MoreThanDateTime, MultichoiceAutocompleteFilterProperty, MultichoiceField, NAE_ADMIN_IMPERSONATE_COMPONENT, NAE_ADMIN_IMPERSONATE_DIALOG_COMPONENT, NAE_ASYNC_RENDERING_CONFIGURATION, NAE_AUTOSWITCH_TAB_TOKEN, NAE_BASE_FILTER, NAE_CASE_REF_CREATE_CASE, NAE_CASE_REF_DATAFIELD, NAE_CASE_REF_SEARCH, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_LANGUAGE, NAE_DEFAULT_MIN_PASSWORD_LENGTH, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_FILTERS_FILTER, NAE_FILTER_FIELD, NAE_FILTER_TEXT, NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, NAE_IMPORT_NET_COMPONENT, NAE_IMPORT_NET_DIALOG_COMPONENT, NAE_INFORM_ABOUT_INVALID_DATA, NAE_LOAD_FILTER_COMPONENT, NAE_LOAD_FILTER_DIALOG_COMPONENT, NAE_MIN_PASSWORD_LENGTH, NAE_MULTI_USER_ASSIGN_COMPONENT, NAE_MULTI_USER_ASSIGN_DIALOG_COMPONENT, NAE_NAVIGATION_ITEM_TASK_DATA, NAE_NET_ALL_VERSIONS, NAE_NET_VERSION_VISIBLE, NAE_NEW_CASE_COMPONENT, NAE_NEW_CASE_CONFIGURATION, NAE_NEW_CASE_CREATION_CONFIGURATION_DATA, NAE_NEW_CASE_DIALOG_COMPONENT, NAE_OPEN_EXISTING_TAB, NAE_OPTION_SELECTOR_COMPONENT, NAE_OPTION_SELECTOR_DIALOG_COMPONENT, NAE_PREFERRED_TASK_ENDPOINT, NAE_ROUTING_CONFIGURATION_PATH, NAE_SAVE_FILTER_COMPONENT, NAE_SAVE_FILTER_DIALOG_COMPONENT, NAE_SEARCH_CATEGORIES, NAE_SEARCH_COMPONENT_CONFIGURATION, NAE_SIDE_MENU_CONTROL, NAE_SNACKBAR_HORIZONTAL_POSITION, NAE_SNACKBAR_VERTICAL_POSITION, NAE_TAB_DATA, NAE_TASK_FORCE_OPEN, NAE_TASK_OPERATIONS, NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, NAE_TASK_VIEW_COMPONENT, NAE_TASK_VIEW_CONFIGURATION, NAE_TREE_CASE_VIEW_CONFIGURATION, NAE_URI_NODE_CASES_PAGE_SIZE, NAE_USER_ASSIGN_COMPONENT, NAE_USER_ASSIGN_DIALOG_COMPONENT, NAE_USER_IMPERSONATE_COMPONENT, NAE_USER_IMPERSONATE_DIALOG_COMPONENT, NAE_VIEW_ID, NAE_VIEW_ID_SEGMENT, NAE_WORKFLOW_SERVICE_CONFIRM_DELETE, NAE_WORKFLOW_SERVICE_FILTER, Net, NetAttributeAutocompleteCategory, NetgrifPaginatorIntl, NextGroupService, NoConfigurationAutocompleteCategory, NoConfigurationCategory, NoConfigurationUserAutocompleteCategory, NotEquals, NotEqualsDate, NotEqualsDateTime, NullAuthenticationService, NullTaskOperations, NumberField, NumberFieldValidation, OLD_PASSWORD, OpenedTab, Operator, OperatorResolverService, OperatorService, OperatorTemplatePart, OperatorTemplatePartType, Operators, OrganizationListService, OverflowService, PASSWORD, PETRI_NET_ID, PUBLISHERS, PageLoadRequestContext, PaginationParams, PaginationSort, PaperViewService, PermissionService, PermissionType, PetriNetResourceService, PetriNetResourceServiceProvider, Predicate, PredicateWithGenerator, ProcessList, ProcessService, ProcessServiceProvider, ProfileModule, ProfileService, ProgressType, PromptDialogComponent, PromptDialogModule, PublicCaseResourceService, PublicPetriNetResourceService, PublicProcessService, PublicTaskLoadingService, PublicTaskResourceService, PublicUrlResolverService, Query, QueuedEvent, RIGHT_DRAWER_DEFAULT_MIN_WIDTH, RIGHT_DRAWER_DEFAULT_WIDTH, RIGHT_DRAWER_MAX_WIDTH, RIGHT_SIDE_INIT_PAGE_SIZE, RIGHT_SIDE_NEW_PAGE_SIZE, RedirectService, ResourceProvider, ResultWithAfterActions, RoleAssignmentLdapGroupService, RoleAssignmentService, RoleGuardService, RoutingBuilderService, SETTINGS_TRANSITION_ID, SearchIndex, SearchIndexResolverService, SearchInputType, SearchMode, SearchService, SelectedCaseService, SessionIdleTimerService, SessionService, SideMenuControl, SideMenuRef, SideMenuService, SideMenuSize, SignUpModule, SignUpService, SimpleFilter, SingleTaskContentService, SnackBarComponent, SnackBarHorizontalPosition, SnackBarModule, SnackBarService, SnackBarVerticalPosition, SpinnerOverlayService, StringCollectionField, Subgrid, SubjectTaskOperations, Substring, SuccessSnackBarComponent, TRANSITION_ID, TabLabelStream, TabView, TabbedVirtualScrollComponent, TaskAssignee, TaskContentService, TaskDataService, TaskElementType, TaskEndpoint, TaskEvent, TaskEventService, TaskHandlingService, TaskHeaderService, TaskMetaField, TaskNetAttributeAutocompleteCategory, TaskProcess, TaskRefComponents, TaskRefDashboardConstants, TaskRefDashboardTileConstants, TaskRefField, TaskRequestStateService, TaskResourceService, TaskResourceServiceProvider, TaskRole, TaskTask, TaskViewService, TemplateAppearance, TestCaseBaseFilterProvider, TestCaseViewAllowedNetsFactory, TestConfigurationService, TestMockDependenciesModule, TestNoAllowedNetsFactory, TestTaskBaseFilterProvider, TestTaskViewAllowedNetsFactory, TestViewService, TextAreaField, TextAreaHeight, TextField, TextFieldComponent, TextFieldValidation, TextFieldView, TranslateLibModule, TreeCaseViewService, TreePetriflowIdentifiers, TreeTaskContentService, UnlimitedTaskContentService, UriContentType, UriResourceService, UriService, User, UserAutocomplete, UserComparatorService, UserField, UserFilterConstants, UserFiltersService, UserImpersonationConstants, UserInviteService, UserListField, UserListService, UserListValue, UserPreferenceService, UserResourceService, UserService, UserTransformer, UserValue, UtilityModule, ViewIdService, ViewService, WarningSnackBarComponent, WorkflowHeaderService, WorkflowMetaField, WorkflowViewService, WrappedBoolean, arrayToObservable, authenticationServiceFactory, clearTimeInformation, configureCategory, createMockCase, createMockCaseOutcome, createMockDataGroup, createMockDependencies, createMockField, createMockGetDataOutcome, createMockImmediateData, createMockNet, createMockPage, createMockPetriNetOutcome, createMockSetDataOutcome, createMockTask, createMockTaskOutcome, createSortParam, createTaskEventNotification, decodeBase64, defaultCaseSearchCategoriesFactory, defaultTaskSearchCategoriesFactory, destroySubscription, encodeBase64, extractFieldValueFromData, extractFilterFieldFromData, extractFilterFromData, extractFilterFromFilterField, extractIconAndTitle, extractRoles, extractSearchTypeFromData, getField, getFieldFromDataGroups, getFieldIndex, getFieldIndexFromDataGroups, getImmediateData, getNetAndCreateCase, groupNavigationViewIdSegmentFactory, hasContent, hasView, loadAllPages, mockUserAutocompleteValue, navigationItemCaseViewDefaultHeadersFactory, navigationItemTaskAllowedNetsServiceFactory, navigationItemTaskCategoryFactory, navigationItemTaskFilterFactory, navigationItemTaskViewDefaultHeadersFactory, ofVoid, processMessageResponse, publicBaseFilterFactory, publicFactoryResolver, redirectAction, refreshTree, reloadTaskAction, tabbedAllowedNetsServiceFactory, tabbedTaskViewConfigurationFactory, toMoment, validateTaskAction };
36407
36965
  //# sourceMappingURL=netgrif-components-core.mjs.map