@netgrif/components-core 6.4.0 → 6.5.0-rc.1

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 (90) 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/dialog/components/confirm-dialog/confirm-dialog.component.mjs +2 -2
  14. package/esm2020/lib/event/public-api.mjs +2 -1
  15. package/esm2020/lib/event/services/event.service.mjs +4 -4
  16. package/esm2020/lib/header/services/overflow.service.mjs +2 -2
  17. package/esm2020/lib/logger/services/log-publisher.service.mjs +2 -2
  18. package/esm2020/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.mjs +3 -3
  19. package/esm2020/lib/navigation/dashboard/abstract-dashboard.component.mjs +228 -0
  20. package/esm2020/lib/navigation/model/group-navigation-constants.mjs +27 -19
  21. package/esm2020/lib/navigation/model/navigation-configs.mjs +2 -2
  22. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +104 -348
  23. package/esm2020/lib/navigation/navigation-double-drawer/service/double-drawer-navigation.service.mjs +458 -0
  24. package/esm2020/lib/navigation/navigation-double-drawer/util/double-drawer-utils.mjs +43 -0
  25. package/esm2020/lib/navigation/public-api.mjs +4 -1
  26. package/esm2020/lib/navigation/service/uri.service.mjs +2 -2
  27. package/esm2020/lib/navigation/utility/filter-extraction.service.mjs +16 -5
  28. package/esm2020/lib/navigation/utility/navigation-item-task-utility-methods.mjs +13 -1
  29. package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +3 -3
  30. package/esm2020/lib/resources/engine-endpoint/petri-net-resource.service.mjs +12 -1
  31. package/esm2020/lib/resources/interface/petri-net-request-body.mjs +1 -1
  32. package/esm2020/lib/resources/resource-provider.service.mjs +6 -6
  33. package/esm2020/lib/routing/redirect-service/redirect.service.mjs +6 -3
  34. package/esm2020/lib/search/models/category/case/case-dataset.mjs +2 -2
  35. package/esm2020/lib/search/models/operator/operator.mjs +2 -2
  36. package/esm2020/lib/search/models/operator/substring.mjs +2 -2
  37. package/esm2020/lib/search/search-service/search.service.mjs +2 -2
  38. package/esm2020/lib/task/services/task-data.service.mjs +4 -4
  39. package/esm2020/lib/task-content/model/subgrid.mjs +2 -2
  40. package/esm2020/lib/task-content/services/field-converter.service.mjs +2 -2
  41. package/esm2020/lib/task-content/services/task-content.service.mjs +4 -4
  42. package/esm2020/lib/toolbar/abstract-toolbar.component.mjs +48 -11
  43. package/esm2020/lib/toolbar/public-api.mjs +2 -1
  44. package/esm2020/lib/toolbar/toolbar-config.mjs +2 -0
  45. package/esm2020/lib/user/services/user-comparator.service.mjs +2 -2
  46. package/esm2020/lib/utility/contains.pipe.mjs +2 -2
  47. package/esm2020/lib/utility/navigation-item-task-filter-factory.mjs +4 -3
  48. package/esm2020/lib/utility/navigation-item-task-search-categories-factory.mjs +4 -1
  49. package/esm2020/lib/view/abstract/view-with-headers.mjs +1 -1
  50. package/esm2020/lib/view/public-api.mjs +2 -1
  51. package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +9 -26
  52. package/esm2020/lib/view/task-view/abstract-tabbed-single-task-view.component.mjs +32 -0
  53. package/esm2020/lib/view/workflow-view/abstract-workflow-view.component.mjs +14 -1
  54. package/esm2020/lib/view/workflow-view/workflow-view.service.mjs +17 -2
  55. package/fesm2015/netgrif-components-core.mjs +1064 -434
  56. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  57. package/fesm2020/netgrif-components-core.mjs +1041 -426
  58. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  59. package/lib/admin/role-assignment/abstract-role-assignment.component.d.ts +4 -1
  60. package/lib/admin/role-assignment/services/ProcessList.d.ts +1 -1
  61. package/lib/admin/role-assignment-ldap-group/abstract-ldap-group-role-assignment.component.d.ts +4 -1
  62. package/lib/admin/user-invite/abstract-user-invite.component.d.ts +9 -3
  63. package/lib/allowed-nets/services/factory/allowed-nets-service-factory.d.ts +1 -1
  64. package/lib/event/public-api.d.ts +1 -0
  65. package/lib/navigation/dashboard/abstract-dashboard.component.d.ts +73 -0
  66. package/lib/navigation/model/group-navigation-constants.d.ts +27 -19
  67. package/lib/navigation/model/navigation-configs.d.ts +1 -0
  68. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +22 -57
  69. package/lib/navigation/navigation-double-drawer/service/double-drawer-navigation.service.d.ts +137 -0
  70. package/lib/navigation/navigation-double-drawer/util/double-drawer-utils.d.ts +16 -0
  71. package/lib/navigation/public-api.d.ts +3 -0
  72. package/lib/navigation/utility/filter-extraction.service.d.ts +3 -2
  73. package/lib/navigation/utility/navigation-item-task-utility-methods.d.ts +6 -0
  74. package/lib/resources/engine-endpoint/petri-net-resource.service.d.ts +8 -0
  75. package/lib/resources/interface/petri-net-request-body.d.ts +1 -0
  76. package/lib/toolbar/abstract-toolbar.component.d.ts +16 -6
  77. package/lib/toolbar/public-api.d.ts +1 -0
  78. package/lib/toolbar/toolbar-config.d.ts +11 -0
  79. package/lib/utility/navigation-item-task-filter-factory.d.ts +3 -1
  80. package/lib/utility/navigation-item-task-search-categories-factory.d.ts +1 -1
  81. package/lib/view/abstract/view-with-headers.d.ts +1 -1
  82. package/lib/view/public-api.d.ts +1 -0
  83. package/lib/view/task-view/abstract-single-task-view.component.d.ts +5 -16
  84. package/lib/view/task-view/abstract-tabbed-single-task-view.component.d.ts +15 -0
  85. package/lib/view/workflow-view/abstract-workflow-view.component.d.ts +5 -2
  86. package/lib/view/workflow-view/workflow-view.service.d.ts +2 -0
  87. package/package.json +1 -1
  88. package/src/assets/i18n/de.json +4 -2
  89. package/src/assets/i18n/en.json +4 -2
  90. 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('');
@@ -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
  }
@@ -15758,11 +15780,11 @@ class TaskContentService {
15758
15780
  }
15759
15781
  getReferencedTaskId(changedField, chFields) {
15760
15782
  return !!this.taskFieldsIndex ?
15761
- (Object.keys(this.taskFieldsIndex).find(taskId => taskId !== this.task.stringId && taskId === chFields.taskId && Object.keys(this.taskFieldsIndex[taskId].fields).includes(changedField))
15762
- || 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;
15763
15785
  }
15764
15786
  findTaskRefId(taskId, fields) {
15765
- 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)); });
15766
15788
  if (!taskRefId) {
15767
15789
  const referencedTaskIds = Object.values(fields).filter(f => f instanceof TaskRefField).map(tr => tr.value);
15768
15790
  referencedTaskIds.forEach(id => {
@@ -16132,9 +16154,10 @@ class UserComparatorService {
16132
16154
  this._userService = _userService;
16133
16155
  }
16134
16156
  compareUsers(user, acceptImpersonator = true) {
16157
+ var _a, _b;
16135
16158
  const loggedUser = acceptImpersonator ? this._userService.user.getSelfOrImpersonated() : this._userService.user;
16136
16159
  return user.email === loggedUser.email ||
16137
- 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'));
16138
16161
  }
16139
16162
  }
16140
16163
  UserComparatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UserComparatorService, deps: [{ token: UserService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -16164,7 +16187,7 @@ class ChangedFieldsService {
16164
16187
  }
16165
16188
  parseChangedFieldsByCaseAndTaskIds(caseId, taskIds, changedFieldsMap) {
16166
16189
  const changedFields = [];
16167
- 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));
16168
16191
  filteredTaskIds.forEach(taskId => {
16169
16192
  changedFields.push(changedFieldsMap[caseId][taskId]);
16170
16193
  });
@@ -16350,6 +16373,7 @@ class TaskDataService extends TaskHandlingService {
16350
16373
  else {
16351
16374
  this._taskContentService.referencedTaskAndCaseIds[this._safeTask.caseId] = [this._safeTask.stringId];
16352
16375
  dataGroups.forEach(group => {
16376
+ var _a;
16353
16377
  const dataGroupParentCaseId = group.parentCaseId === undefined ? this._safeTask.caseId : group.parentCaseId;
16354
16378
  const parentTaskId = group.parentTaskId === undefined ? this._safeTask.stringId : group.parentTaskId;
16355
16379
  const parentTransitionId = group.parentTransitionId === undefined ?
@@ -16364,7 +16388,7 @@ class TaskDataService extends TaskHandlingService {
16364
16388
  }
16365
16389
  else if (dataGroupParentCaseId === this._safeTask.caseId
16366
16390
  && parentTaskId !== this._safeTask.stringId
16367
- && !this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId].includes(parentTaskId)) {
16391
+ && !((_a = this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId]) === null || _a === void 0 ? void 0 : _a.includes(parentTaskId))) {
16368
16392
  this._taskContentService.referencedTaskAndCaseIds[dataGroupParentCaseId].push(group.parentTaskId);
16369
16393
  }
16370
16394
  if (group.fields.length > 0 && !this._taskContentService.taskFieldsIndex[parentTaskId]) {
@@ -16524,6 +16548,7 @@ class TaskDataService extends TaskHandlingService {
16524
16548
  * @param request
16525
16549
  */
16526
16550
  isSetDataRequestStillValid(request) {
16551
+ var _a;
16527
16552
  if (!this.isTaskPresent()) {
16528
16553
  return false;
16529
16554
  }
@@ -16535,7 +16560,7 @@ class TaskDataService extends TaskHandlingService {
16535
16560
  }
16536
16561
  const taskIdsInRequest = Object.keys(request);
16537
16562
  for (const taskId of taskIdsInRequest) {
16538
- 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))) {
16539
16564
  this._log.error(`Task id ${taskId} is not present in task fields index`);
16540
16565
  return false;
16541
16566
  }
@@ -16740,7 +16765,8 @@ class TaskDataService extends TaskHandlingService {
16740
16765
  revertToPreviousValue(context) {
16741
16766
  this._safeTask.dataGroups.forEach(dataGroup => {
16742
16767
  dataGroup.fields.forEach(field => {
16743
- 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))) {
16744
16770
  field.revertToPreviousValue();
16745
16771
  }
16746
16772
  });
@@ -17268,24 +17294,27 @@ class RedirectService {
17268
17294
  }
17269
17295
  parseRedirectPath(url) {
17270
17296
  let path;
17271
- if (url.includes('?')) {
17297
+ if (url === undefined || url === null) {
17298
+ return '';
17299
+ }
17300
+ if (url === null || url === void 0 ? void 0 : url.includes('?')) {
17272
17301
  path = url.slice(0, url.indexOf('?'));
17273
17302
  }
17274
17303
  else {
17275
17304
  path = url;
17276
17305
  }
17277
- return path.replace('/redirect', '');
17306
+ return path === null || path === void 0 ? void 0 : path.replace('/redirect', '');
17278
17307
  }
17279
17308
  }
17280
17309
  RedirectService.LOGIN_COMPONENT = 'login';
17281
- 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 });
17282
17311
  RedirectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RedirectService, providedIn: 'root' });
17283
17312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RedirectService, decorators: [{
17284
17313
  type: Injectable,
17285
17314
  args: [{
17286
17315
  providedIn: 'root'
17287
17316
  }]
17288
- }], 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 }]; } });
17289
17318
 
17290
17319
  class AuthenticationInterceptor {
17291
17320
  constructor(_session, _redirect, _anonymousService, idleTimerService) {
@@ -17485,14 +17514,14 @@ class AuthenticationGuardService {
17485
17514
  return this._session.sessionToken && this._session.verified ? true : this._router.parseUrl(this._loginUrl);
17486
17515
  }
17487
17516
  }
17488
- 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 });
17489
17518
  AuthenticationGuardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationGuardService, providedIn: AuthenticationModule });
17490
17519
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthenticationGuardService, decorators: [{
17491
17520
  type: Injectable,
17492
17521
  args: [{
17493
17522
  providedIn: AuthenticationModule
17494
17523
  }]
17495
- }], ctorParameters: function () { return [{ type: SessionService }, { type: RedirectService }, { type: i3$1.Router }]; } });
17524
+ }], ctorParameters: function () { return [{ type: SessionService }, { type: RedirectService }, { type: i2$5.Router }]; } });
17496
17525
 
17497
17526
  /* SERVICES */
17498
17527
 
@@ -17732,7 +17761,7 @@ class AbstractAuthenticationOverlayComponent {
17732
17761
  }
17733
17762
  }
17734
17763
  }
17735
- 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 });
17736
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 });
17737
17766
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractAuthenticationOverlayComponent, decorators: [{
17738
17767
  type: Component,
@@ -17740,7 +17769,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17740
17769
  selector: 'ncc-abstract-auth-overlay',
17741
17770
  template: ''
17742
17771
  }]
17743
- }], 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 }]; } });
17744
17773
 
17745
17774
  class AbstractSessionIdleComponent {
17746
17775
  constructor(sessionTimer, _user, _log, _config, _router) {
@@ -17794,7 +17823,7 @@ class AbstractSessionIdleComponent {
17794
17823
  }
17795
17824
  }
17796
17825
  }
17797
- 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 });
17798
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 });
17799
17828
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSessionIdleComponent, decorators: [{
17800
17829
  type: Component,
@@ -17802,7 +17831,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
17802
17831
  selector: 'ncc-abstract-session-idle',
17803
17832
  template: ''
17804
17833
  }]
17805
- }], 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: [{
17806
17835
  type: Input
17807
17836
  }] } });
17808
17837
 
@@ -18181,7 +18210,7 @@ class AbstractPanelComponent {
18181
18210
  return this._caseListFontColorService.computeCaseFontColor(this.caseColor);
18182
18211
  }
18183
18212
  }
18184
- 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 });
18185
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 });
18186
18215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractPanelComponent, decorators: [{
18187
18216
  type: Component,
@@ -18189,7 +18218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18189
18218
  selector: 'ncc-abstract-panel',
18190
18219
  template: ''
18191
18220
  }]
18192
- }], ctorParameters: function () { return [{ type: CaseListFontColorService }, { type: i3$1.ActivatedRoute }]; }, propDecorators: { expansionDisabled: [{
18221
+ }], ctorParameters: function () { return [{ type: CaseListFontColorService }, { type: i2$5.ActivatedRoute }]; }, propDecorators: { expansionDisabled: [{
18193
18222
  type: Input
18194
18223
  }], preventExpand: [{
18195
18224
  type: Input
@@ -18311,7 +18340,7 @@ class OverflowService {
18311
18340
  }
18312
18341
  const item = localStorage.getItem(viewId + '-' + id);
18313
18342
  if (item !== null) {
18314
- if (id.includes('columnCount')) {
18343
+ if (id === null || id === void 0 ? void 0 : id.includes('columnCount')) {
18315
18344
  this._initializedCount = true;
18316
18345
  }
18317
18346
  return item;
@@ -20720,7 +20749,7 @@ class AbstractTaskPanelComponent extends AbstractPanelWithImmediateDataComponent
20720
20749
  this.taskEvent.emit(event);
20721
20750
  });
20722
20751
  this._subTaskData = _changedFieldsService.changedFields$.subscribe((changedFieldsMap) => {
20723
- 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); });
20724
20753
  const changedFields = [];
20725
20754
  filteredCaseIds.forEach(caseId => {
20726
20755
  const taskIds = this._taskContentService.referencedTaskAndCaseIds[caseId];
@@ -20734,7 +20763,7 @@ class AbstractTaskPanelComponent extends AbstractPanelWithImmediateDataComponent
20734
20763
  this.expand();
20735
20764
  });
20736
20765
  _taskOperations.close$.subscribe(() => {
20737
- if (!this._taskForceOpen) {
20766
+ if (!(this._taskForceOpen || this.preventCollapse)) {
20738
20767
  this.collapse();
20739
20768
  }
20740
20769
  });
@@ -21149,7 +21178,7 @@ class AbstractDefaultTaskListComponent extends TabbedVirtualScrollComponent {
21149
21178
  });
21150
21179
  }
21151
21180
  }
21152
- 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 });
21153
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 });
21154
21183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDefaultTaskListComponent, decorators: [{
21155
21184
  type: Component,
@@ -21163,7 +21192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21163
21192
  }, {
21164
21193
  type: Inject,
21165
21194
  args: [NAE_TAB_DATA]
21166
- }] }, { type: i3$1.ActivatedRoute }];
21195
+ }] }, { type: i2$5.ActivatedRoute }];
21167
21196
  }, propDecorators: { loading$: [{
21168
21197
  type: Input
21169
21198
  }], selectedHeaders$: [{
@@ -21202,7 +21231,7 @@ class AbstractTaskListComponent extends AbstractDefaultTaskListComponent {
21202
21231
  this._taskViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
21203
21232
  }
21204
21233
  }
21205
- 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 });
21206
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 });
21207
21236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskListComponent, decorators: [{
21208
21237
  type: Component,
@@ -21216,7 +21245,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21216
21245
  }, {
21217
21246
  type: Inject,
21218
21247
  args: [NAE_TAB_DATA]
21219
- }] }, { type: i3$1.ActivatedRoute }];
21248
+ }] }, { type: i2$5.ActivatedRoute }];
21220
21249
  }, propDecorators: { tasks$: [{
21221
21250
  type: Input
21222
21251
  }], viewport: [{
@@ -21249,7 +21278,7 @@ class AbstractTaskListPaginationComponent extends AbstractDefaultTaskListCompone
21249
21278
  this._taskViewService.nextPagePagination(this.pageSize, this.pageIndex);
21250
21279
  }
21251
21280
  }
21252
- 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 });
21253
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 });
21254
21283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskListPaginationComponent, decorators: [{
21255
21284
  type: Component,
@@ -21263,7 +21292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21263
21292
  }, {
21264
21293
  type: Inject,
21265
21294
  args: [NAE_TAB_DATA]
21266
- }] }, { type: i3$1.ActivatedRoute }];
21295
+ }] }, { type: i2$5.ActivatedRoute }];
21267
21296
  }, propDecorators: { disabled: [{
21268
21297
  type: Input
21269
21298
  }], tasks$: [{
@@ -21350,6 +21379,14 @@ class WorkflowViewService extends AbstractSortableViewComponent {
21350
21379
  get workflows$() {
21351
21380
  return this._workflows$;
21352
21381
  }
21382
+ setSearchTitle(title) {
21383
+ this._baseFilter.title = title;
21384
+ this.reload();
21385
+ }
21386
+ clearSearchTitle() {
21387
+ this._baseFilter.title = undefined;
21388
+ this.reload();
21389
+ }
21353
21390
  loadPage(pageRequest) {
21354
21391
  if (pageRequest.number < 0) {
21355
21392
  return of([]);
@@ -21358,7 +21395,14 @@ class WorkflowViewService extends AbstractSortableViewComponent {
21358
21395
  params = this.addSortParams(params);
21359
21396
  params = this.addPageParams(params, pageRequest);
21360
21397
  this._loading$.on();
21361
- 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 => {
21362
21406
  this._log.error('Loading Petri nets has failed!', err);
21363
21407
  return of({ content: [], pagination: Object.assign({}, this._pagination) });
21364
21408
  }), tap(res => {
@@ -21742,7 +21786,7 @@ class AbstractSingleTaskComponent {
21742
21786
  this.taskEvent.emit(event);
21743
21787
  }
21744
21788
  }
21745
- 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 });
21746
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 });
21747
21791
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskComponent, decorators: [{
21748
21792
  type: Component,
@@ -21751,7 +21795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21751
21795
  template: ''
21752
21796
  }]
21753
21797
  }], ctorParameters: function () {
21754
- return [{ type: LoggerService }, { type: i3$1.ActivatedRoute }, { type: undefined, decorators: [{
21798
+ return [{ type: LoggerService }, { type: i2$5.ActivatedRoute }, { type: undefined, decorators: [{
21755
21799
  type: Optional
21756
21800
  }, {
21757
21801
  type: Inject,
@@ -22236,9 +22280,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22236
22280
  }] } });
22237
22281
 
22238
22282
  class AbstractToolbarComponent {
22239
- constructor(translate, selectLangService) {
22283
+ constructor(translate, selectLangService, userService, router, redirectService) {
22240
22284
  this.translate = translate;
22241
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
+ };
22242
22302
  }
22243
22303
  setLang(lang) {
22244
22304
  this.selectLangService.setLanguage(lang);
@@ -22246,22 +22306,40 @@ class AbstractToolbarComponent {
22246
22306
  activeLang(lang) {
22247
22307
  return this.translate.currentLang === lang;
22248
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
+ }
22249
22333
  }
22250
- 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 });
22251
- 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 });
22252
22336
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractToolbarComponent, decorators: [{
22253
22337
  type: Component,
22254
22338
  args: [{
22255
22339
  selector: 'ncc-abstract-toolbar',
22256
22340
  template: ''
22257
22341
  }]
22258
- }], ctorParameters: function () { return [{ type: i1$2.TranslateService }, { type: LanguageService }]; }, propDecorators: { loggedUser: [{
22259
- type: Input
22260
- }], appName: [{
22261
- type: Input
22262
- }], logoSrc: [{
22263
- type: Input
22264
- }], logoAlt: [{
22342
+ }], ctorParameters: function () { return [{ type: i1$2.TranslateService }, { type: LanguageService }, { type: UserService }, { type: i2$5.Router }, { type: RedirectService }]; }, propDecorators: { toolbarConfig: [{
22265
22343
  type: Input
22266
22344
  }] } });
22267
22345
 
@@ -22779,11 +22857,11 @@ var GroupNavigationConstants;
22779
22857
  /**
22780
22858
  * EnumerationMap field, that contains selected search type for case view
22781
22859
  * */
22782
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_VIEW_SEARCH_TYPE"] = "case_view_search_type";
22860
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_VIEW_SEARCH_TYPE"] = "view_search_type";
22783
22861
  /**
22784
22862
  * EnumerationMap field, that contains selected search type for task view
22785
22863
  * */
22786
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_VIEW_SEARCH_TYPE"] = "task_view_search_type";
22864
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_VIEW_SEARCH_TYPE"] = "view_search_type";
22787
22865
  /**
22788
22866
  * Boolean field, that is true if user wants to merge base filter and custom filter
22789
22867
  * */
@@ -22795,67 +22873,67 @@ var GroupNavigationConstants;
22795
22873
  /**
22796
22874
  * Boolean field, that is true if the user wants to see more menu for case item in case view
22797
22875
  * */
22798
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_SHOW_MORE_MENU"] = "case_show_more_menu";
22876
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_SHOW_MORE_MENU"] = "show_more_menu";
22799
22877
  /**
22800
22878
  * Boolean field, that is true if no input for title in case creation is shown
22801
22879
  * */
22802
- 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";
22803
22881
  /**
22804
22882
  * Text field, that contains banned processes in case creation as a value
22805
22883
  * */
22806
- 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";
22807
22885
  /**
22808
22886
  * Boolean field, that is true if the user wants to see more menu for task item in task view
22809
22887
  * */
22810
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_SHOW_MORE_MENU"] = "task_show_more_menu";
22888
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_SHOW_MORE_MENU"] = "show_more_menu";
22811
22889
  /**
22812
22890
  * MultichoiceMap field, that contains selected header modes for case view as a value
22813
22891
  * */
22814
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_HEADERS_MODE"] = "case_headers_mode";
22892
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_HEADERS_MODE"] = "headers_mode";
22815
22893
  /**
22816
22894
  * Boolean field, that is true if table mode can be applied in case view
22817
22895
  * */
22818
- 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";
22819
22897
  /**
22820
22898
  * EnumerationMap field, that contains selected default header mode for case view as a value
22821
22899
  * */
22822
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_DEFAULT_HEADERS_MODE"] = "case_headers_default_mode";
22900
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_DEFAULT_HEADERS_MODE"] = "headers_default_mode";
22823
22901
  /**
22824
22902
  * Boolean field, that is true to make mode menu in case view visible
22825
22903
  * */
22826
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_HEADERS_CHANGEABLE"] = "case_is_header_mode_changeable";
22904
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_HEADERS_CHANGEABLE"] = "is_header_mode_changeable";
22827
22905
  /**
22828
22906
  * MultichoiceMap field, that contains selected header modes for task view as a value
22829
22907
  * */
22830
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_HEADERS_MODE"] = "task_headers_mode";
22908
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_HEADERS_MODE"] = "headers_mode";
22831
22909
  /**
22832
22910
  * Boolean field, that is true if table mode can be applied in task view
22833
22911
  * */
22834
- 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";
22835
22913
  /**
22836
22914
  * EnumerationMap field, that contains selected default header mode for task view as a value
22837
22915
  * */
22838
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_DEFAULT_HEADERS_MODE"] = "task_headers_default_mode";
22916
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_DEFAULT_HEADERS_MODE"] = "headers_default_mode";
22839
22917
  /**
22840
22918
  * Boolean field, that is true to make mode menu in task view visible
22841
22919
  * */
22842
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_HEADERS_CHANGEABLE"] = "task_is_header_mode_changeable";
22920
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_HEADERS_CHANGEABLE"] = "is_header_mode_changeable";
22843
22921
  /**
22844
22922
  * Boolean field, that is true to use default headers configuration for case view
22845
22923
  * */
22846
- GroupNavigationConstants["ITEM_FIELD_ID_USE_CASE_DEFAULT_HEADERS"] = "use_case_default_headers";
22924
+ GroupNavigationConstants["ITEM_FIELD_ID_USE_CASE_DEFAULT_HEADERS"] = "use_default_headers";
22847
22925
  /**
22848
22926
  * Text field, that contains default header metadata separated by comma for case view as a value
22849
22927
  * */
22850
- GroupNavigationConstants["ITEM_FIELD_ID_CASE_DEFAULT_HEADERS"] = "case_default_headers";
22928
+ GroupNavigationConstants["ITEM_FIELD_ID_CASE_DEFAULT_HEADERS"] = "default_headers";
22851
22929
  /**
22852
22930
  * Boolean field, that is true to use default headers configuration for task view
22853
22931
  * */
22854
- GroupNavigationConstants["ITEM_FIELD_ID_USE_TASK_DEFAULT_HEADERS"] = "use_task_default_headers";
22932
+ GroupNavigationConstants["ITEM_FIELD_ID_USE_TASK_DEFAULT_HEADERS"] = "use_default_headers";
22855
22933
  /**
22856
22934
  * Text field, that contains default header metadata separated by comma for task view as a value
22857
22935
  * */
22858
- GroupNavigationConstants["ITEM_FIELD_ID_TASK_DEFAULT_HEADERS"] = "task_default_headers";
22936
+ GroupNavigationConstants["ITEM_FIELD_ID_TASK_DEFAULT_HEADERS"] = "default_headers";
22859
22937
  /**
22860
22938
  * MultichoiceMap field, that contains allowed roles as value
22861
22939
  * */
@@ -22884,6 +22962,14 @@ var GroupNavigationConstants;
22884
22962
  * CaseField containing stringIds of child instances of process preference_item
22885
22963
  * */
22886
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";
22887
22973
  })(GroupNavigationConstants || (GroupNavigationConstants = {}));
22888
22974
 
22889
22975
  /**
@@ -23224,7 +23310,7 @@ class UriService {
23224
23310
  data: {
23225
23311
  [GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH]: node.uriPath
23226
23312
  },
23227
- process: { identifier: "preference_item" }
23313
+ process: { identifier: "menu_item" }
23228
23314
  };
23229
23315
  let httpParams = new HttpParams()
23230
23316
  .set(PaginationParams.PAGE_SIZE, 1)
@@ -24476,7 +24562,7 @@ class AbstractViewWithHeadersComponent {
24476
24562
  return !(((_a = this.config) === null || _a === void 0 ? void 0 : _a[ConfigParams.PANEL_HEADER]) === 'false');
24477
24563
  }
24478
24564
  }
24479
- 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 });
24480
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 });
24481
24567
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractViewWithHeadersComponent, decorators: [{
24482
24568
  type: Component,
@@ -24484,7 +24570,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24484
24570
  selector: 'ncc-abstract-view-with-headers',
24485
24571
  template: ''
24486
24572
  }]
24487
- }], ctorParameters: function () { return [{ type: AbstractSortableViewComponent }, { type: i3$1.ActivatedRoute }]; } });
24573
+ }], ctorParameters: function () { return [{ type: AbstractSortableViewComponent }, { type: i2$5.ActivatedRoute }]; } });
24488
24574
 
24489
24575
  class AbstractTaskViewComponent extends AbstractViewWithHeadersComponent {
24490
24576
  constructor(taskViewService, _activatedRoute) {
@@ -24497,7 +24583,7 @@ class AbstractTaskViewComponent extends AbstractViewWithHeadersComponent {
24497
24583
  super.ngOnDestroy();
24498
24584
  }
24499
24585
  }
24500
- 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 });
24501
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 });
24502
24588
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskViewComponent, decorators: [{
24503
24589
  type: Component,
@@ -24505,7 +24591,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24505
24591
  selector: 'ncc-abstract-task-view',
24506
24592
  template: ''
24507
24593
  }]
24508
- }], ctorParameters: function () { return [{ type: TaskViewService }, { type: i3$1.ActivatedRoute }]; } });
24594
+ }], ctorParameters: function () { return [{ type: TaskViewService }, { type: i2$5.ActivatedRoute }]; } });
24509
24595
 
24510
24596
  /**
24511
24597
  * Holds all identifiers of the Filter process in an accessible manner
@@ -24931,7 +25017,7 @@ class AbstractSaveFilterComponent extends AbstractTaskViewComponent {
24931
25017
  }
24932
25018
  }
24933
25019
  }
24934
- 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 });
24935
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 });
24936
25022
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSaveFilterComponent, decorators: [{
24937
25023
  type: Component,
@@ -24943,7 +25029,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
24943
25029
  return [{ type: SideMenuControl, decorators: [{
24944
25030
  type: Inject,
24945
25031
  args: [NAE_SIDE_MENU_CONTROL]
24946
- }] }, { type: UserFiltersService }, { type: LoggerService }, { type: TaskViewService }, { type: i3$1.ActivatedRoute }];
25032
+ }] }, { type: UserFiltersService }, { type: LoggerService }, { type: TaskViewService }, { type: i2$5.ActivatedRoute }];
24947
25033
  } });
24948
25034
 
24949
25035
  var HeaderType;
@@ -24997,7 +25083,7 @@ class AbstractCaseViewComponent extends AbstractViewWithHeadersComponent {
24997
25083
  }
24998
25084
  }
24999
25085
  }
25000
- 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 });
25001
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 });
25002
25088
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseViewComponent, decorators: [{
25003
25089
  type: Component,
@@ -25011,7 +25097,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
25011
25097
  }, {
25012
25098
  type: Inject,
25013
25099
  args: [NAE_NEW_CASE_CREATION_CONFIGURATION_DATA]
25014
- }] }, { type: i3$1.ActivatedRoute }];
25100
+ }] }, { type: i2$5.ActivatedRoute }];
25015
25101
  } });
25016
25102
 
25017
25103
  class AbstractLoadFilterComponent extends AbstractCaseViewComponent {
@@ -26955,7 +27041,7 @@ class AbstractLogoutShortcutComponent {
26955
27041
  });
26956
27042
  }
26957
27043
  }
26958
- 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 });
26959
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 });
26960
27046
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractLogoutShortcutComponent, decorators: [{
26961
27047
  type: Component,
@@ -26963,7 +27049,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
26963
27049
  selector: 'ncc-abstract-logout-shortcut',
26964
27050
  template: '',
26965
27051
  }]
26966
- }], 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: [{
26967
27053
  type: Output
26968
27054
  }] } });
26969
27055
 
@@ -27127,14 +27213,14 @@ class AuthorityGuardService {
27127
27213
  }
27128
27214
  }
27129
27215
  }
27130
- 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 });
27131
27217
  AuthorityGuardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthorityGuardService, providedIn: AuthenticationModule });
27132
27218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AuthorityGuardService, decorators: [{
27133
27219
  type: Injectable,
27134
27220
  args: [{
27135
27221
  providedIn: AuthenticationModule
27136
27222
  }]
27137
- }], 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 }]; } });
27138
27224
 
27139
27225
  class GroupGuardService {
27140
27226
  constructor(_redirectService, _userService, _nextGroupService, _configService, _log) {
@@ -27462,7 +27548,7 @@ class AbstractNavigationTreeComponent extends AbstractNavigationResizableDrawerC
27462
27548
  this.resolveLevels(this.dataSource.data);
27463
27549
  }
27464
27550
  }
27465
- 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 });
27466
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 });
27467
27553
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationTreeComponent, decorators: [{
27468
27554
  type: Component,
@@ -27470,7 +27556,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
27470
27556
  selector: 'ncc-abstract-navigation-tree',
27471
27557
  template: ''
27472
27558
  }]
27473
- }], 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: [{
27474
27560
  type: Input
27475
27561
  }], parentUrl: [{
27476
27562
  type: Input
@@ -28006,7 +28092,7 @@ class RoutingBuilderService {
28006
28092
  return result;
28007
28093
  }
28008
28094
  }
28009
- 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 });
28010
28096
  RoutingBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, providedIn: 'root' });
28011
28097
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, decorators: [{
28012
28098
  type: Injectable,
@@ -28014,7 +28100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28014
28100
  providedIn: 'root'
28015
28101
  }]
28016
28102
  }], ctorParameters: function () {
28017
- 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: [{
28018
28104
  type: Optional
28019
28105
  }, {
28020
28106
  type: Inject,
@@ -28023,7 +28109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28023
28109
  } });
28024
28110
 
28025
28111
  const MENU_IDENTIFIERS = [
28026
- 'preference_item',
28112
+ 'menu_item',
28027
28113
  ];
28028
28114
  const SETTINGS_TRANSITION_ID = 'item_settings';
28029
28115
  const LEFT_DRAWER_DEFAULT_WIDTH = 60;
@@ -28038,6 +28124,55 @@ var MenuOrder;
28038
28124
  MenuOrder[MenuOrder["Descending"] = 1] = "Descending";
28039
28125
  })(MenuOrder || (MenuOrder = {}));
28040
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
+
28041
28176
  /**
28042
28177
  * Holds all identifiers of the Impersonation config process in an accessible manner
28043
28178
  */
@@ -28118,14 +28253,14 @@ class ImpersonationService extends AbstractResourceService {
28118
28253
  }
28119
28254
  }
28120
28255
  }
28121
- 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 });
28122
28257
  ImpersonationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImpersonationService, providedIn: 'root' });
28123
28258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ImpersonationService, decorators: [{
28124
28259
  type: Injectable,
28125
28260
  args: [{
28126
28261
  providedIn: 'root'
28127
28262
  }]
28128
- }], 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 }]; } });
28129
28264
 
28130
28265
  class ImpersonationUserSelectService {
28131
28266
  constructor(_log, _snackBar, _impersonation, _user, _dialog, _userImpersonateComponent, _adminImpersonateComponent) {
@@ -28210,88 +28345,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28210
28345
  }] }];
28211
28346
  } });
28212
28347
 
28213
- class AbstractNavigationDoubleDrawerComponent {
28214
- constructor(_router, _activatedRoute, _breakpoint, _languageService, _translateService, _userService, _accessService, _log, _config, _uriService, _caseResourceService, _impersonationUserSelect, _impersonation, _dynamicRoutingService) {
28215
- this._router = _router;
28216
- this._activatedRoute = _activatedRoute;
28217
- this._breakpoint = _breakpoint;
28218
- this._languageService = _languageService;
28219
- this._translateService = _translateService;
28220
- this._userService = _userService;
28221
- 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;
28222
28354
  this._log = _log;
28223
28355
  this._config = _config;
28224
- this._uriService = _uriService;
28356
+ this._activatedRoute = _activatedRoute;
28225
28357
  this._caseResourceService = _caseResourceService;
28226
- this._impersonationUserSelect = _impersonationUserSelect;
28227
- this._impersonation = _impersonation;
28358
+ this._accessService = _accessService;
28359
+ this._translateService = _translateService;
28228
28360
  this._dynamicRoutingService = _dynamicRoutingService;
28229
- this.imageRouterLink = '/';
28230
- this.imageAlt = 'Logo';
28231
- this.profileRouterLink = '/profile';
28232
- this.includeUser = true;
28233
- this.includeLanguage = true;
28234
- this.includeMoreMenu = true;
28235
- this.includeImpersonation = true;
28236
- this.allClosable = true;
28237
- this.folderIcon = 'folder';
28238
- this.openedFolderIcon = 'folder_open';
28239
- this.filterIcon = 'filter_alt';
28240
- this.foldersCategoryName = 'toolbar.menu.folders';
28241
- this.viewsCategoryName = 'toolbar.menu.views';
28242
- this.loggedOut = new EventEmitter(true); // on logout
28243
- this.stateChanged = new EventEmitter(); // on menu state change
28244
- this.itemClicked = new EventEmitter(); // on item click
28245
- this.resized = new EventEmitter(true); // on menu resize
28246
- this.itemLoaded = new EventEmitter(true); // on item loaded
28247
- this._configLeftMenu = {
28248
- mode: 'side',
28249
- opened: true,
28250
- disableClose: false,
28251
- width: LEFT_DRAWER_DEFAULT_WIDTH,
28252
- };
28253
- this._configRightMenu = {
28254
- mode: 'side',
28255
- opened: true,
28256
- disableClose: false,
28257
- width: RIGHT_DRAWER_DEFAULT_WIDTH,
28258
- };
28259
- this.leftItems = new Array();
28260
- this.rightItems = new Array();
28261
- this.leftLoading$ = new LoadingEmitter();
28262
- this.rightLoading$ = new LoadingEmitter();
28263
- this.nodeLoading$ = new LoadingEmitter();
28264
- this.itemsOrder = MenuOrder.Ascending;
28265
- this.hiddenCustomItems = [];
28266
- 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([]);
28267
28367
  this._childCustomViews = {};
28268
- }
28269
- ngOnInit() {
28270
- this._breakpointSubscription = this._breakpoint.observe([Breakpoints.HandsetLandscape]).subscribe(() => {
28271
- if (this._breakpoint.isMatched('(max-width: 959.99px)')) {
28272
- this.resolveLayout(false);
28273
- }
28274
- else {
28275
- this.resolveLayout(true);
28276
- }
28277
- });
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();
28278
28377
  this._currentNodeSubscription = this._uriService.activeNode$.subscribe(node => {
28279
28378
  this.currentNode = node;
28280
28379
  });
28281
- const viewConfigurationPath = this._activatedRoute.snapshot.data[NAE_ROUTING_CONFIGURATION_PATH];
28282
- if (!!viewConfigurationPath) {
28283
- const viewConfiguration = this._config.getViewByPath(viewConfigurationPath);
28284
- Object.entries(viewConfiguration.children).forEach(([key, childView]) => {
28285
- this.resolveUriForChildViews(viewConfigurationPath + '/' + key, childView);
28286
- this.resolveHiddenMenuItemFromChildViews(viewConfigurationPath + '/' + key, childView);
28287
- });
28288
- }
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$;
28289
28392
  }
28290
28393
  get currentNode() {
28291
28394
  return this._currentNode;
28292
28395
  }
28293
28396
  set currentNode(node) {
28294
- if (node === this._currentNode || this.leftLoading$.isActive || this.rightLoading$.isActive) {
28397
+ if (node === this._currentNode || this._leftLoading$.isActive || this._rightLoading$.isActive) {
28295
28398
  return;
28296
28399
  }
28297
28400
  this._currentNode = node;
@@ -28303,126 +28406,82 @@ class AbstractNavigationDoubleDrawerComponent {
28303
28406
  node.parent = this._uriService.root;
28304
28407
  }
28305
28408
  else {
28306
- this.nodeLoading$.on();
28409
+ this._nodeLoading$.on();
28307
28410
  this._uriService.getNodeByPath(this._uriService.resolveParentPath(node)).subscribe(n => {
28308
28411
  node.parent = !n ? this._uriService.root : n;
28309
- this.nodeLoading$.off();
28412
+ this._nodeLoading$.off();
28310
28413
  }, error => {
28311
28414
  this._log.error(error);
28312
- this.nodeLoading$.off();
28415
+ this._nodeLoading$.off();
28313
28416
  });
28314
28417
  }
28315
28418
  }
28316
- if (this.nodeLoading$.isActive) {
28317
- this.nodeLoading$.subscribe(() => {
28318
- this.resolveMenuItems(node);
28419
+ if (this._nodeLoading$.isActive) {
28420
+ this._nodeLoading$.subscribe(() => {
28421
+ this.loadNavigationItems(node);
28319
28422
  });
28320
28423
  }
28321
28424
  else {
28322
- this.resolveMenuItems(node);
28425
+ this.loadNavigationItems(node);
28323
28426
  }
28324
28427
  }
28325
- resolveMenuItems(node) {
28326
- if (this._uriService.isRoot(node)) {
28327
- this.leftItems = [];
28328
- this.loadRightSide();
28329
- }
28330
- else {
28331
- 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; })) {
28332
- this.loadLeftSide();
28333
- }
28334
- this.loadRightSide();
28335
- }
28428
+ get itemClicked$() {
28429
+ return this.itemClicked;
28336
28430
  }
28337
- ngOnDestroy() {
28338
- var _a, _b;
28339
- (_a = this._breakpointSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
28340
- (_b = this._currentNodeSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
28341
- this.leftLoading$.complete();
28342
- this.rightLoading$.complete();
28343
- this.nodeLoading$.complete();
28344
- this.loggedOut.complete();
28345
- this.stateChanged.complete();
28346
- this.itemClicked.complete();
28347
- this.resized.complete();
28348
- this.itemLoaded.complete();
28431
+ get itemLoaded$() {
28432
+ return this.itemLoaded;
28349
28433
  }
28350
- get configLeftMenu() {
28351
- return this._configLeftMenu;
28434
+ get rightItems$() {
28435
+ return this._rightItems$;
28352
28436
  }
28353
- get configRightMenu() {
28354
- return this._configRightMenu;
28437
+ get leftItems$() {
28438
+ return this._leftItems$;
28355
28439
  }
28356
- toggleMenu() {
28357
- this.toggleRightMenu();
28358
- if (this.allClosable) {
28359
- this.toggleLeftMenu();
28360
- }
28440
+ get moreItems$() {
28441
+ return this._moreItems$;
28361
28442
  }
28362
- toggleLeftMenu() {
28363
- this._configLeftMenu.opened = !this._configLeftMenu.opened;
28364
- this.stateChanged.emit({ menu: 'left', isOpened: this._configLeftMenu.opened });
28443
+ get hiddenCustomItems$() {
28444
+ return this._hiddenCustomItems$;
28365
28445
  }
28366
- toggleRightMenu() {
28367
- this._configRightMenu.opened = !this._configRightMenu.opened;
28368
- this.stateChanged.emit({ menu: 'right', isOpened: this._configRightMenu.opened });
28446
+ get rightItems() {
28447
+ return this._rightItems$.getValue();
28369
28448
  }
28370
- resolveLayout(isLargeScreen) {
28371
- this._configLeftMenu = isLargeScreen ? {
28372
- mode: 'side',
28373
- opened: true,
28374
- disableClose: true,
28375
- width: this._configLeftMenu.width,
28376
- } : {
28377
- mode: 'over',
28378
- opened: false,
28379
- disableClose: false,
28380
- width: this._configLeftMenu.width,
28381
- };
28382
- this._configRightMenu = isLargeScreen ? {
28383
- mode: 'side',
28384
- opened: true,
28385
- disableClose: true,
28386
- width: this._configRightMenu.width,
28387
- } : {
28388
- mode: 'over',
28389
- opened: false,
28390
- disableClose: false,
28391
- width: this._configRightMenu.width,
28392
- };
28449
+ get leftItems() {
28450
+ return this._leftItems$.getValue();
28393
28451
  }
28394
- getLang() {
28395
- return this._languageService.getLanguage();
28452
+ get moreItems() {
28453
+ return this._moreItems$.getValue();
28396
28454
  }
28397
- logout() {
28398
- this._userService.logout().subscribe(response => {
28399
- this._log.debug('User is logged out');
28400
- this.loggedOut.emit(response);
28401
- if (this._config.get().services && this._config.get().services.auth && this._config.getOnLogoutPath()) {
28402
- const redirectPath = this._config.getOnLogoutPath();
28403
- this._log.info('Redirecting to ' + redirectPath);
28404
- this._router.navigate([redirectPath]);
28405
- }
28406
- });
28455
+ get hiddenCustomItems() {
28456
+ return this._hiddenCustomItems$.getValue();
28407
28457
  }
28408
- impersonate() {
28409
- this._impersonationUserSelect.selectImpersonate();
28458
+ get leftLoading$() {
28459
+ return this._leftLoading$;
28410
28460
  }
28411
- stopImpersonating() {
28412
- this._impersonation.cease();
28461
+ get rightLoading$() {
28462
+ return this._rightLoading$;
28413
28463
  }
28414
- get user() {
28415
- return this._userService.user;
28464
+ get nodeLoading$() {
28465
+ return this._nodeLoading$;
28416
28466
  }
28417
- get canGoBackLoading$() {
28418
- 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
+ }
28419
28478
  }
28420
28479
  /**
28421
28480
  * On home click, the current level is set to 0, and current parent is
28422
28481
  * set to root node.
28423
28482
  * */
28424
28483
  onHomeClick() {
28425
- if (this.leftLoading$.isActive || this.rightLoading$.isActive) {
28484
+ if (this._leftLoading$.isActive || this._rightLoading$.isActive) {
28426
28485
  return;
28427
28486
  }
28428
28487
  this._uriService.activeNode = this._uriService.root;
@@ -28435,14 +28494,20 @@ class AbstractNavigationDoubleDrawerComponent {
28435
28494
  * Current level is set to a lower number in order to set the left side menu.
28436
28495
  * */
28437
28496
  onBackClick() {
28438
- 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)) {
28439
28498
  return;
28440
28499
  }
28441
28500
  this._uriService.activeNode = this._currentNode.parent;
28442
28501
  this.itemClicked.emit({ uriNode: this._uriService.activeNode, isHome: false });
28443
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
+ * */
28444
28508
  onItemClick(item) {
28445
28509
  var _a;
28510
+ this._currentNavigationItem = item;
28446
28511
  if (item.resource === undefined) {
28447
28512
  // custom view represented only in nae.json
28448
28513
  if (item.processUri === this.currentNode.uriPath) {
@@ -28455,10 +28520,13 @@ class AbstractNavigationDoubleDrawerComponent {
28455
28520
  }
28456
28521
  else {
28457
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;
28458
- if (this.hasItemChildren(item) && !this.leftLoading$.isActive && !this.rightLoading$.isActive) {
28523
+ if (DoubleDrawerUtils.hasItemChildren(item) && !this._leftLoading$.isActive && !this._rightLoading$.isActive) {
28459
28524
  this._uriService.getNodeByPath(path).subscribe(node => {
28460
28525
  this._uriService.activeNode = node;
28461
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
+ });
28462
28530
  }, error => {
28463
28531
  this._log.error(error);
28464
28532
  });
@@ -28473,20 +28541,77 @@ class AbstractNavigationDoubleDrawerComponent {
28473
28541
  }
28474
28542
  }
28475
28543
  }
28476
- hasItemChildren(item) {
28477
- var _a, _b;
28478
- 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
+ }
28479
28564
  }
28480
- isItemAndNodeEqual(item, node) {
28481
- var _a, _b;
28482
- 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;
28483
28608
  }
28484
28609
  loadLeftSide() {
28485
28610
  if (this._uriService.isRoot(this._currentNode)) {
28486
- this.leftItems = [];
28611
+ this._leftItems$.next([]);
28487
28612
  return;
28488
28613
  }
28489
- this.leftLoading$.on();
28614
+ this._leftLoading$.on();
28490
28615
  this._uriService.getItemCaseByNodePath(this.currentNode.parent).subscribe(page => {
28491
28616
  var _a;
28492
28617
  let childCases$;
@@ -28497,31 +28622,31 @@ class AbstractNavigationDoubleDrawerComponent {
28497
28622
  }
28498
28623
  else {
28499
28624
  targetItem = page.content[0];
28500
- orderedChildCaseIds = this.extractChildCaseIds(targetItem);
28625
+ orderedChildCaseIds = DoubleDrawerUtils.extractChildCaseIds(targetItem);
28501
28626
  childCases$ = this.getItemCasesByIdsInOnePage(orderedChildCaseIds).pipe(map(p => p.content));
28502
28627
  }
28503
28628
  childCases$.subscribe(result => {
28504
28629
  result = result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i);
28505
- 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)));
28506
28631
  this.resolveCustomViewsInLeftSide();
28507
- this.leftLoading$.off();
28632
+ this._leftLoading$.off();
28508
28633
  this.itemLoaded.emit({ menu: 'left', items: this.leftItems });
28509
28634
  }, error => {
28510
28635
  this._log.error(error);
28511
- this.leftItems = [];
28636
+ this._leftItems$.next([]);
28512
28637
  this.resolveCustomViewsInLeftSide();
28513
- this.leftLoading$.off();
28638
+ this._leftLoading$.off();
28514
28639
  });
28515
28640
  }, error => {
28516
28641
  this._log.error(error);
28517
- this.leftItems = [];
28642
+ this._leftItems$.next([]);
28518
28643
  this.resolveCustomViewsInLeftSide();
28519
- this.leftLoading$.off();
28644
+ this._leftLoading$.off();
28520
28645
  });
28521
28646
  }
28522
28647
  loadRightSide() {
28523
- this.rightLoading$.on();
28524
- this.moreItems = [];
28648
+ this._rightLoading$.on();
28649
+ this._moreItems$.next([]);
28525
28650
  this._uriService.getItemCaseByNodePath(this.currentNode).subscribe(page => {
28526
28651
  var _a;
28527
28652
  let childCases$;
@@ -28532,41 +28657,37 @@ class AbstractNavigationDoubleDrawerComponent {
28532
28657
  }
28533
28658
  else {
28534
28659
  targetItem = page.content[0];
28535
- orderedChildCaseIds = this.extractChildCaseIds(targetItem);
28660
+ orderedChildCaseIds = DoubleDrawerUtils.extractChildCaseIds(targetItem);
28536
28661
  childCases$ = this.getItemCasesByIdsInOnePage(orderedChildCaseIds).pipe(map(p => p.content));
28537
28662
  }
28538
28663
  childCases$.subscribe(result => {
28539
28664
  result = result.sort((a, b) => orderedChildCaseIds.indexOf(a.stringId) - orderedChildCaseIds.indexOf(b.stringId));
28540
28665
  if (result.length > RIGHT_SIDE_INIT_PAGE_SIZE) {
28541
28666
  const rawRightItems = result.splice(0, RIGHT_SIDE_INIT_PAGE_SIZE);
28542
- this.rightItems = rawRightItems.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i);
28543
- 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));
28544
28669
  }
28545
28670
  else {
28546
- this.rightItems = result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i);
28671
+ this._rightItems$.next(result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i));
28547
28672
  }
28548
28673
  this.resolveCustomViewsInRightSide();
28549
- this.rightLoading$.off();
28674
+ this._rightLoading$.off();
28550
28675
  this.itemLoaded.emit({ menu: 'right', items: this.rightItems });
28551
28676
  }, error => {
28552
28677
  this._log.error(error);
28553
- this.rightItems = [];
28554
- this.moreItems = [];
28678
+ this._rightItems$.next([]);
28679
+ this._moreItems$.next([]);
28555
28680
  this.resolveCustomViewsInRightSide();
28556
- this.rightLoading$.off();
28681
+ this._rightLoading$.off();
28557
28682
  });
28558
28683
  }, error => {
28559
28684
  this._log.error(error);
28560
- this.rightItems = [];
28561
- this.moreItems = [];
28685
+ this._rightItems$.next([]);
28686
+ this._moreItems$.next([]);
28562
28687
  this.resolveCustomViewsInRightSide();
28563
- this.rightLoading$.off();
28688
+ this._rightLoading$.off();
28564
28689
  });
28565
28690
  }
28566
- extractChildCaseIds(item) {
28567
- var _a;
28568
- return (_a = item.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_CHILD_ITEM_IDS)) === null || _a === void 0 ? void 0 : _a.value;
28569
- }
28570
28691
  getItemCasesByIdsInOnePage(caseIds) {
28571
28692
  return this.getItemCasesByIds(caseIds, 0, caseIds.length);
28572
28693
  }
@@ -28580,46 +28701,15 @@ class AbstractNavigationDoubleDrawerComponent {
28580
28701
  .set(PaginationParams.PAGE_NUMBER, pageNumber);
28581
28702
  return this._caseResourceService.searchCases(SimpleFilter.fromCaseQuery(searchBody), httpParams);
28582
28703
  }
28583
- loadMoreItems() {
28584
- if (this.moreItems.length > RIGHT_SIDE_NEW_PAGE_SIZE) {
28585
- this.rightItems.push(...this.moreItems.splice(0, RIGHT_SIDE_NEW_PAGE_SIZE));
28586
- }
28587
- else {
28588
- this.rightItems.push(...this.moreItems);
28589
- this.moreItems = [];
28590
- }
28591
- }
28592
- isAscending() {
28593
- return this.itemsOrder === MenuOrder.Ascending;
28594
- }
28595
- switchOrder() {
28596
- this.itemsOrder = (this.itemsOrder + 1) % 2;
28597
- let multiplier = 1;
28598
- if (this.itemsOrder === MenuOrder.Descending) {
28599
- multiplier = -1;
28600
- }
28601
- 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)); });
28602
- 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)); });
28603
- }
28604
- resolveCustomViewsInRightSide() {
28605
- if (!!this._childCustomViews[this._currentNode.uriPath]) {
28606
- this.rightItems.push(...Object.values(this._childCustomViews[this._currentNode.uriPath]));
28607
- }
28608
- }
28609
- resolveCustomViewsInLeftSide() {
28610
- if (!!this._childCustomViews[this._currentNode.parent.uriPath]) {
28611
- this.leftItems.push(...Object.values(this._childCustomViews[this._currentNode.parent.uriPath]));
28612
- }
28613
- }
28614
28704
  resolveItemCaseToNavigationItem(itemCase) {
28615
28705
  var _a, _b;
28616
- if (this.representsRootNode(itemCase)) {
28706
+ if (DoubleDrawerUtils.representsRootNode(itemCase)) {
28617
28707
  return;
28618
28708
  }
28619
28709
  const item = {
28620
28710
  access: {},
28621
28711
  navigation: {
28622
- 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,
28623
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,
28624
28714
  },
28625
28715
  routing: {
@@ -28628,8 +28718,8 @@ class AbstractNavigationDoubleDrawerComponent {
28628
28718
  id: itemCase.stringId,
28629
28719
  resource: itemCase,
28630
28720
  };
28631
- const resolvedRoles = this.resolveAccessRoles(itemCase, GroupNavigationConstants.ITEM_FIELD_ID_ALLOWED_ROLES);
28632
- 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);
28633
28723
  if (!!resolvedRoles)
28634
28724
  item.access['role'] = resolvedRoles;
28635
28725
  if (!!resolvedBannedRoles)
@@ -28638,47 +28728,275 @@ class AbstractNavigationDoubleDrawerComponent {
28638
28728
  return;
28639
28729
  return item;
28640
28730
  }
28641
- representsRootNode(item) {
28642
- 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
+ }
28643
28767
  }
28644
28768
  getTranslation(value) {
28645
28769
  const locale = this._translateService.currentLang.split('-')[0];
28646
28770
  return locale in value.translations ? value.translations[locale] : value.defaultValue;
28647
28771
  }
28648
- resolveAccessRoles(filter, roleType) {
28649
- var _a;
28650
- const allowedRoles = (_a = filter.immediateData.find(f => f.stringId === roleType)) === null || _a === void 0 ? void 0 : _a.options;
28651
- if (!allowedRoles || Object.keys(allowedRoles).length === 0)
28652
- return undefined;
28653
- const roles = [];
28654
- Object.keys(allowedRoles).forEach(combined => {
28655
- const parts = combined.split(':');
28656
- roles.push({
28657
- processId: parts[1],
28658
- roleId: parts[0],
28659
- });
28660
- });
28661
- return roles;
28662
- }
28663
28772
  getItemRoutingPath(itemCase) {
28664
- const transId = SETTINGS_TRANSITION_ID;
28665
- const taskId = itemCase.tasks.find(taskPair => taskPair.transition === transId).task;
28773
+ const taskId = DoubleDrawerUtils.findTaskIdInCase(itemCase, SETTINGS_TRANSITION_ID);
28666
28774
  const url = this._dynamicRoutingService.route;
28667
28775
  return `/${url}/${taskId}`;
28668
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
+ }
28669
28987
  /**
28670
28988
  * Function to check whether the back button should be displayed
28671
28989
  * @returns boolean if the back button should be displayed
28672
28990
  * */
28673
28991
  isOnZeroLevel() {
28674
28992
  var _a;
28675
- 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;
28676
28994
  }
28677
28995
  isLeftItemsEmpty() {
28678
- return this.leftItems === undefined || this.leftItems.length === 0;
28996
+ return this._navigationService.leftItems === undefined || this._navigationService.leftItems.length === 0;
28679
28997
  }
28680
28998
  isRightItemsEmpty() {
28681
- return this.rightItems === undefined || this.rightItems.length === 0;
28999
+ return this._navigationService.rightItems === undefined || this._navigationService.rightItems.length === 0;
28682
29000
  }
28683
29001
  uriNodeTrackBy(index, node) {
28684
29002
  return node.id;
@@ -28701,28 +29019,41 @@ class AbstractNavigationDoubleDrawerComponent {
28701
29019
  // this.userPreferenceService._drawerWidthChanged$.next(this.width);
28702
29020
  // this.contentWidth.next(this.width);
28703
29021
  }
28704
- resolveUriForChildViews(configPath, childView) {
28705
- if (!childView.processUri)
28706
- return;
28707
- if (!this._accessService.canAccessView(childView, configPath))
28708
- return;
28709
- if (!this._childCustomViews[childView.processUri]) {
28710
- this._childCustomViews[childView.processUri] = {};
28711
- }
28712
- this._childCustomViews[childView.processUri][configPath] = Object.assign({ id: configPath }, childView);
29022
+ isItemAndNodeEqual(item, node) {
29023
+ return DoubleDrawerUtils.isItemAndNodeEqual(item, node);
28713
29024
  }
28714
- resolveHiddenMenuItemFromChildViews(configPath, childView) {
28715
- var _a;
28716
- if (!childView.navigation)
28717
- return;
28718
- if (!this._accessService.canAccessView(childView, configPath))
28719
- return;
28720
- if (!!((_a = childView === null || childView === void 0 ? void 0 : childView.navigation) === null || _a === void 0 ? void 0 : _a.hidden)) {
28721
- this.hiddenCustomItems.push(Object.assign({ id: configPath }, childView));
28722
- }
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();
28723
29054
  }
28724
29055
  }
28725
- 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 });
28726
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 });
28727
29058
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, decorators: [{
28728
29059
  type: Component,
@@ -28730,7 +29061,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28730
29061
  selector: 'ncc-abstract-navigation-double-drawer',
28731
29062
  template: '',
28732
29063
  }]
28733
- }], 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: [{
28734
29065
  type: Input
28735
29066
  }], portalRightMenu: [{
28736
29067
  type: Input
@@ -28893,7 +29224,7 @@ class AbstractGroupNavigationComponentResolverComponent {
28893
29224
  });
28894
29225
  }
28895
29226
  }
28896
- 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 });
28897
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 });
28898
29229
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractGroupNavigationComponentResolverComponent, decorators: [{
28899
29230
  type: Component,
@@ -28901,7 +29232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28901
29232
  selector: 'ncc-abstract-group-nagiation-resolver',
28902
29233
  template: ''
28903
29234
  }]
28904
- }], 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 }]; } });
28905
29236
 
28906
29237
  class AbstractBreadcrumbsComponent {
28907
29238
  constructor(_uriService, _caseResourceService, _activatedRoute, _router, _dynamicRoutingService, _translateService, _log) {
@@ -28938,7 +29269,7 @@ class AbstractBreadcrumbsComponent {
28938
29269
  }
28939
29270
  const splitPath = this._uriService.splitNodePath(this._uriService.activeNode);
28940
29271
  const fullPath = this.createFullPath(splitPath);
28941
- 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 + '\")');
28942
29273
  fullPathQueries.push('(taskMongoIds:\"' + filterId + '\")');
28943
29274
  const searchBody = {
28944
29275
  query: fullPathQueries.join(" OR ")
@@ -29022,7 +29353,7 @@ class AbstractBreadcrumbsComponent {
29022
29353
  let tmp = '';
29023
29354
  return splitPath.filter(s => s !== "").map((value) => {
29024
29355
  tmp += AbstractBreadcrumbsComponent.DELIMETER + value;
29025
- return tmp.replace("//", AbstractBreadcrumbsComponent.DELIMETER);
29356
+ return tmp === null || tmp === void 0 ? void 0 : tmp.replace("//", AbstractBreadcrumbsComponent.DELIMETER);
29026
29357
  });
29027
29358
  }
29028
29359
  immediateValue(aCase, fieldId) {
@@ -29038,7 +29369,7 @@ AbstractBreadcrumbsComponent.DOTS = '...';
29038
29369
  AbstractBreadcrumbsComponent.DELIMETER = '/';
29039
29370
  AbstractBreadcrumbsComponent.NODE_PATH = 'nodePath';
29040
29371
  AbstractBreadcrumbsComponent.ITEM_SETTINGS = 'item_settings';
29041
- 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 });
29042
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 });
29043
29374
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractBreadcrumbsComponent, decorators: [{
29044
29375
  type: Component,
@@ -29046,7 +29377,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29046
29377
  selector: 'ncc-breadcrumbs-component',
29047
29378
  template: ''
29048
29379
  }]
29049
- }], 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: [{
29050
29381
  type: Input
29051
29382
  }], showFilter: [{
29052
29383
  type: Input
@@ -29058,6 +29389,222 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29058
29389
  type: Input
29059
29390
  }] } });
29060
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
+ const dashboardMenuToItems = Object.entries(dashboardItemsOptions)
29448
+ .filter(([key, value]) => value.defaultValue != null)
29449
+ .reduce((accum, [key, value]) => {
29450
+ accum[value.defaultValue] = key;
29451
+ return accum;
29452
+ }, {});
29453
+ let dashboardItemsParams = new HttpParams()
29454
+ .set(PaginationParams.PAGE_SIZE, 100);
29455
+ this.getDashboardItems(dashboardItemsOptions, dashboardItemsParams);
29456
+ this.getMenuItems(dashboardMenuToItems, dashboardItemsParams);
29457
+ });
29458
+ }
29459
+ getMenuItems(dashboardMenuToItems, dashboardItemsParams) {
29460
+ let menuItemsSearchBody = {
29461
+ stringId: Object.keys(dashboardMenuToItems)
29462
+ };
29463
+ this._caseResource.searchCases(SimpleFilter.fromCaseQuery(menuItemsSearchBody), dashboardItemsParams).subscribe(resultItems => {
29464
+ const itemsContent = resultItems.content;
29465
+ itemsContent.forEach(menuItemCase => {
29466
+ const navigationItem = this._doubleDrawerNavigationService.resolveItemCaseToNavigationItem(menuItemCase);
29467
+ const dashboardItemId = dashboardMenuToItems[menuItemCase.stringId];
29468
+ if (!navigationItem) {
29469
+ this.dashboardItems = this.dashboardItems.filter(dashItem => dashItem.stringId !== dashboardItemId);
29470
+ return;
29471
+ }
29472
+ this.dashboardItemsMapping[dashboardItemId] = menuItemCase;
29473
+ });
29474
+ this.itemsLoaded += 1;
29475
+ if (this.itemsLoaded == 2) {
29476
+ this.loading$.off();
29477
+ }
29478
+ });
29479
+ }
29480
+ getDashboardItems(dashboardItemsOptions, dashboardItemsParams) {
29481
+ const itemsOrder = this.getManagementItemsOrder(this.dashboardCase).split(",");
29482
+ let dashboardItemsSearchBody = {
29483
+ stringId: Object.keys(dashboardItemsOptions)
29484
+ };
29485
+ this._caseResource.searchCases(SimpleFilter.fromCaseQuery(dashboardItemsSearchBody), dashboardItemsParams).subscribe(resultItems => {
29486
+ const itemsContent = resultItems.content;
29487
+ if (!itemsContent || !itemsContent.length || itemsContent.length < 1) {
29488
+ this.loading$.off();
29489
+ this._log.error('No dashboard items found.');
29490
+ }
29491
+ itemsContent.forEach(item => {
29492
+ const itemIndex = itemsOrder.indexOf(item.stringId);
29493
+ this.dashboardItems[itemIndex] = item;
29494
+ });
29495
+ this.itemsLoaded += 1;
29496
+ if (this.itemsLoaded == 2) {
29497
+ this.loading$.off();
29498
+ }
29499
+ });
29500
+ }
29501
+ // GET item fields
29502
+ getItemName(itemCase) {
29503
+ const i18nFieldValue = this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_NAME_DATAFIELD);
29504
+ return this._languageService.getLanguage() in i18nFieldValue.translations
29505
+ ? i18nFieldValue.translations[this._languageService.getLanguage()]
29506
+ : i18nFieldValue.defaultValue;
29507
+ }
29508
+ getItemIcon(itemCase) {
29509
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_ICON_DATAFIELD);
29510
+ }
29511
+ getItemInternal(itemCase) {
29512
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_INTERNAL_DATAFIELD);
29513
+ }
29514
+ getItemExternalIcon(itemCase) {
29515
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_EXTERNAL_ICON_DATAFIELD);
29516
+ }
29517
+ getItemURL(itemCase) {
29518
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_URL_DATAFIELD);
29519
+ }
29520
+ getItemFontColor(itemCase) {
29521
+ const fontColor = this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_FONT_COLOR_DATAFIELD);
29522
+ return !!fontColor && fontColor !== '' ? fontColor : 'black';
29523
+ }
29524
+ getItemFontWeight(itemCase) {
29525
+ const fontWeight = this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_FONT_WEIGHT_DATAFIELD);
29526
+ return !!fontWeight && fontWeight !== '' ? fontWeight : 'normal';
29527
+ }
29528
+ getItemIconColor(itemCase) {
29529
+ const iconColor = this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_ITEM_ICON_COLOR_DATAFIELD);
29530
+ return !!iconColor && iconColor !== '' ? iconColor : 'black';
29531
+ }
29532
+ // GET management fields
29533
+ getManagementSimpleToolbar(itemCase) {
29534
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_SIMPLE_TOOLBAR_DATAFIELD);
29535
+ }
29536
+ getManagementProfileToolbar(itemCase) {
29537
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_PROFILE_TOOLBAR_DATAFIELD);
29538
+ }
29539
+ getManagementLanguageToolbar(itemCase) {
29540
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LANGUAGE_TOOLBAR_DATAFIELD);
29541
+ }
29542
+ getManagementLogoutToolbar(itemCase) {
29543
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGOUT_TOOLBAR_DATAFIELD);
29544
+ }
29545
+ getManagementName(itemCase) {
29546
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_NAME_DATAFIELD);
29547
+ }
29548
+ getManagementLogo(itemCase) {
29549
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGO_DATAFIELD);
29550
+ }
29551
+ getManagementItemsOrder(itemCase) {
29552
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ITEMS_ORDER_DATAFIELD);
29553
+ }
29554
+ getManagementProfileUrl(itemCase) {
29555
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_PROFILE_URL_DATAFIELD);
29556
+ }
29557
+ getManagementLoginUrl(itemCase) {
29558
+ return this.getFieldValue(itemCase, AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGIN_URL_DATAFIELD);
29559
+ }
29560
+ getFieldValue(itemCase, fieldId) {
29561
+ return itemCase.immediateData.find(immediateField => immediateField["importId"] === fieldId).value;
29562
+ }
29563
+ navigate(itemCase) {
29564
+ if (this.getItemInternal(itemCase)) {
29565
+ const itemPath = this._doubleDrawerNavigationService.getItemRoutingPath(this.dashboardItemsMapping[itemCase.stringId]);
29566
+ const nodePath = this.getFieldValue(this.dashboardItemsMapping[itemCase.stringId], 'nodePath');
29567
+ this._uriService.getNodeByPath(nodePath).subscribe(uriResource => {
29568
+ this._uriService.activeNode = uriResource;
29569
+ this._router.navigate([itemPath]);
29570
+ });
29571
+ }
29572
+ else {
29573
+ window.open(this.getItemURL(itemCase), "_blank");
29574
+ }
29575
+ }
29576
+ }
29577
+ AbstractDashboardComponent.MAIN_DASHBOARD = 'main_dashboard';
29578
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_IDENTIFIER = 'dashboard_management';
29579
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ID_DATAFIELD = 'dashboard_id';
29580
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ITEM_TO_MENU_ITEM_DATAFIELD = 'dashboard_item_to_menu_item';
29581
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_SIMPLE_TOOLBAR_DATAFIELD = 'simple_dashboard_toolbar';
29582
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_PROFILE_TOOLBAR_DATAFIELD = 'profile_dashboard_toolbar';
29583
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LANGUAGE_TOOLBAR_DATAFIELD = 'language_dashboard_toolbar';
29584
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGOUT_TOOLBAR_DATAFIELD = 'logout_dashboard_toolbar';
29585
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_NAME_DATAFIELD = 'dashboard_name';
29586
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGO_DATAFIELD = 'dashboard_logo';
29587
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_ITEMS_ORDER_DATAFIELD = "items_order";
29588
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_PROFILE_URL_DATAFIELD = "profile_url";
29589
+ AbstractDashboardComponent.DASHBOARD_MANAGEMENT_LOGIN_URL_DATAFIELD = "login_url";
29590
+ AbstractDashboardComponent.DASHBOARD_ITEM_ICON_DATAFIELD = 'item_icon';
29591
+ AbstractDashboardComponent.DASHBOARD_ITEM_NAME_DATAFIELD = 'item_name';
29592
+ AbstractDashboardComponent.DASHBOARD_ITEM_URL_DATAFIELD = 'external_url';
29593
+ AbstractDashboardComponent.DASHBOARD_ITEM_INTERNAL_DATAFIELD = 'is_internal';
29594
+ AbstractDashboardComponent.DASHBOARD_ITEM_EXTERNAL_ICON_DATAFIELD = 'external_icon';
29595
+ AbstractDashboardComponent.DASHBOARD_ITEM_FONT_COLOR_DATAFIELD = 'font_color';
29596
+ AbstractDashboardComponent.DASHBOARD_ITEM_FONT_WEIGHT_DATAFIELD = 'font_weight';
29597
+ AbstractDashboardComponent.DASHBOARD_ITEM_ICON_COLOR_DATAFIELD = 'icon_color';
29598
+ 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 });
29599
+ AbstractDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractDashboardComponent, selector: "ncc-dashboard", ngImport: i0, template: '', isInline: true });
29600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDashboardComponent, decorators: [{
29601
+ type: Component,
29602
+ args: [{
29603
+ selector: 'ncc-dashboard',
29604
+ template: ''
29605
+ }]
29606
+ }], ctorParameters: function () { return [{ type: CaseResourceService }, { type: LoggerService }, { type: UriService }, { type: i2$5.Router }, { type: LanguageService }, { type: DoubleDrawerNavigationService }]; } });
29607
+
29061
29608
  /**
29062
29609
  * Search component search mode
29063
29610
  */
@@ -29172,6 +29719,18 @@ function extractFieldValueFromData(dataSection, fieldId) {
29172
29719
  }
29173
29720
  return field.value;
29174
29721
  }
29722
+ /**
29723
+ * Checks if the data groups contain view
29724
+ * @returns true if the data contains filter
29725
+ * @throws Error if filter field is not found
29726
+ * */
29727
+ function hasView(dataSection) {
29728
+ const field = getFieldFromDataGroups(dataSection, 'view_configuration_form');
29729
+ if (field === undefined) {
29730
+ throw new Error(`Field view_configuration_form could not be resolved`);
29731
+ }
29732
+ return field.value !== null && field.value !== undefined && field.value.length > 0;
29733
+ }
29175
29734
 
29176
29735
  function addAllowedNets(allowedNets, existingAllowedNets) {
29177
29736
  if (!!allowedNets && allowedNets.length > 0) {
@@ -29192,6 +29751,9 @@ function tabbedAllowedNetsServiceFactory(factory, tabData) {
29192
29751
  * It has a dependency on this class and {@link NAE_NAVIGATION_ITEM_TASK_DATA} injection token.
29193
29752
  */
29194
29753
  function navigationItemTaskAllowedNetsServiceFactory(factory, baseAllowedNets, navigationItemTaskData) {
29754
+ if (!navigationItemTaskData) {
29755
+ return factory.createWithAllNets();
29756
+ }
29195
29757
  const filterField = getFieldFromDataGroups(navigationItemTaskData, UserFilterConstants.FILTER_FIELD_ID);
29196
29758
  const allowedNetsField = getFieldFromDataGroups(navigationItemTaskData, UserFilterConstants.ALLOWED_NETS_FIELD_ID);
29197
29759
  if (filterField === undefined) {
@@ -29365,14 +29927,24 @@ class FilterExtractionService {
29365
29927
  }
29366
29928
  return navigationItemTaskAllowedNetsServiceFactory(this._factory, this.baseAllowedNets, sliced);
29367
29929
  }
29368
- extractCompleteAdditionalFilterFromData(dataSection) {
29930
+ extractCompleteAdditionalFilterFromData(dataSection, activatedRoute) {
29369
29931
  const taskRefIndex = getFieldIndexFromDataGroups(dataSection, GroupNavigationConstants.ITEM_FIELD_ID_ADDITIONAL_FILTER_TASKREF);
29370
29932
  if (taskRefIndex === undefined) {
29371
29933
  return undefined;
29372
29934
  }
29373
- return this.extractCompleteFilterFromData(dataSection.slice(taskRefIndex.dataGroupIndex + 1));
29935
+ return this.extractCompleteFilterFromData(dataSection.slice(taskRefIndex.dataGroupIndex + 1), activatedRoute);
29374
29936
  }
29375
- extractCompleteFilterFromData(dataSection, fieldId = UserFilterConstants.FILTER_FIELD_ID) {
29937
+ extractCompleteFilterFromData(dataSection, activatedRoute, fieldId = UserFilterConstants.FILTER_FIELD_ID) {
29938
+ if (!dataSection) {
29939
+ if (!activatedRoute) {
29940
+ throw new Error('ActivatedRoute not provided.');
29941
+ }
29942
+ const singleCaseId = activatedRoute.snapshot.paramMap.get('singleCaseId');
29943
+ if (!singleCaseId) {
29944
+ throw new Error('Case ID not found in route.');
29945
+ }
29946
+ return SimpleFilter.fromTaskQuery({ case: { id: singleCaseId } });
29947
+ }
29376
29948
  const filterIndex = getFieldIndexFromDataGroups(dataSection, fieldId);
29377
29949
  if (filterIndex === undefined) {
29378
29950
  return undefined;
@@ -29384,7 +29956,7 @@ class FilterExtractionService {
29384
29956
  catch (e) {
29385
29957
  throw new Error('Filter segment could not be extracted from filter field');
29386
29958
  }
29387
- const parentFilter = this.extractCompleteFilterFromData(dataSection.slice(filterIndex.dataGroupIndex + 1));
29959
+ const parentFilter = this.extractCompleteFilterFromData(dataSection.slice(filterIndex.dataGroupIndex + 1), activatedRoute);
29388
29960
  if (parentFilter !== undefined && parentFilter.type === filterSegment.type) {
29389
29961
  return filterSegment.merge(parentFilter, MergeOperator.AND);
29390
29962
  }
@@ -29661,7 +30233,7 @@ class AbstractTabbedCaseViewComponent extends AbstractCaseViewComponent {
29661
30233
  }, this._autoswitchToTaskTab, this._openExistingTab);
29662
30234
  }
29663
30235
  }
29664
- 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 });
30236
+ 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 });
29665
30237
  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 });
29666
30238
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedCaseViewComponent, decorators: [{
29667
30239
  type: Component,
@@ -29688,7 +30260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29688
30260
  }, {
29689
30261
  type: Inject,
29690
30262
  args: [NAE_NEW_CASE_CREATION_CONFIGURATION_DATA]
29691
- }] }, { type: i3$1.ActivatedRoute }];
30263
+ }] }, { type: i2$5.ActivatedRoute }];
29692
30264
  } });
29693
30265
 
29694
30266
  class AbstractTabbedTaskViewComponent extends AbstractTaskViewComponent {
@@ -29704,7 +30276,7 @@ class AbstractTabbedTaskViewComponent extends AbstractTaskViewComponent {
29704
30276
  this.subTaskView.unsubscribe();
29705
30277
  }
29706
30278
  }
29707
- 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 });
30279
+ 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 });
29708
30280
  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 });
29709
30281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedTaskViewComponent, decorators: [{
29710
30282
  type: Component,
@@ -29716,7 +30288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29716
30288
  return [{ type: TaskViewService }, { type: undefined, decorators: [{
29717
30289
  type: Inject,
29718
30290
  args: [NAE_TAB_DATA]
29719
- }] }, { type: i3$1.ActivatedRoute }];
30291
+ }] }, { type: i2$5.ActivatedRoute }];
29720
30292
  } });
29721
30293
 
29722
30294
  const NAE_TREE_CASE_VIEW_CONFIGURATION = new InjectionToken('NaeTreeCaseViewConfiguration');
@@ -30869,6 +31441,17 @@ class AbstractWorkflowViewComponent extends AbstractViewWithHeadersComponent {
30869
31441
  this.workflows$ = this._workflowViewService.workflows$;
30870
31442
  this.loading$ = this._workflowViewService.loading$;
30871
31443
  this.footerSize = 0;
31444
+ this.fullTextFormControl = new FormControl();
31445
+ }
31446
+ ngOnInit() {
31447
+ this.fullTextFormControl.valueChanges.pipe(debounceTime(600), filter(newValue => typeof newValue === 'string'), map((newValue) => newValue.trim())).subscribe((fulltext) => {
31448
+ if (fulltext.length === 0) {
31449
+ this._workflowViewService.clearSearchTitle();
31450
+ }
31451
+ else {
31452
+ this._workflowViewService.setSearchTitle(fulltext);
31453
+ }
31454
+ });
30872
31455
  }
30873
31456
  ngAfterViewInit() {
30874
31457
  this.initializeHeader(this.workflowHeader);
@@ -30918,7 +31501,7 @@ class AbstractWorkflowViewComponent extends AbstractViewWithHeadersComponent {
30918
31501
  }
30919
31502
  }
30920
31503
  }
30921
- 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 });
31504
+ 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 });
30922
31505
  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 });
30923
31506
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractWorkflowViewComponent, decorators: [{
30924
31507
  type: Component,
@@ -30926,7 +31509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
30926
31509
  selector: 'ncc-abstract-workflow-view',
30927
31510
  template: ''
30928
31511
  }]
30929
- }], ctorParameters: function () { return [{ type: i1$3.MatDialog }, { type: WorkflowViewService }, { type: LoggerService }, { type: ProcessService }, { type: i3$1.ActivatedRoute }]; }, propDecorators: { footerSize: [{
31512
+ }], ctorParameters: function () { return [{ type: i1$3.MatDialog }, { type: WorkflowViewService }, { type: LoggerService }, { type: ProcessService }, { type: i2$5.ActivatedRoute }]; }, propDecorators: { footerSize: [{
30930
31513
  type: Input
30931
31514
  }], showDeleteMenu: [{
30932
31515
  type: Input
@@ -30992,7 +31575,7 @@ class AbstractDefaultCaseListComponent extends TabbedVirtualScrollComponent {
30992
31575
  });
30993
31576
  }
30994
31577
  }
30995
- 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 });
31578
+ 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 });
30996
31579
  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 });
30997
31580
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractDefaultCaseListComponent, decorators: [{
30998
31581
  type: Component,
@@ -31006,7 +31589,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31006
31589
  }, {
31007
31590
  type: Inject,
31008
31591
  args: [NAE_TAB_DATA]
31009
- }] }, { type: i3$1.ActivatedRoute }];
31592
+ }] }, { type: i2$5.ActivatedRoute }];
31010
31593
  }, propDecorators: { selectedHeaders$: [{
31011
31594
  type: Input
31012
31595
  }], responsiveBody: [{
@@ -31047,7 +31630,7 @@ class AbstractCaseListComponent extends AbstractDefaultCaseListComponent {
31047
31630
  this._caseViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
31048
31631
  }
31049
31632
  }
31050
- 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 });
31633
+ 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 });
31051
31634
  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 });
31052
31635
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseListComponent, decorators: [{
31053
31636
  type: Component,
@@ -31061,7 +31644,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31061
31644
  }, {
31062
31645
  type: Inject,
31063
31646
  args: [NAE_TAB_DATA]
31064
- }] }, { type: i3$1.ActivatedRoute }];
31647
+ }] }, { type: i2$5.ActivatedRoute }];
31065
31648
  }, propDecorators: { viewport: [{
31066
31649
  type: ViewChild,
31067
31650
  args: [CdkVirtualScrollViewport]
@@ -31093,7 +31676,7 @@ class AbstractCaseListPaginatorComponent extends AbstractDefaultCaseListComponen
31093
31676
  return caze.stringId;
31094
31677
  }
31095
31678
  }
31096
- 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 });
31679
+ 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 });
31097
31680
  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 });
31098
31681
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractCaseListPaginatorComponent, decorators: [{
31099
31682
  type: Component,
@@ -31107,7 +31690,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31107
31690
  }, {
31108
31691
  type: Inject,
31109
31692
  args: [NAE_TAB_DATA]
31110
- }] }, { type: i3$1.ActivatedRoute }];
31693
+ }] }, { type: i2$5.ActivatedRoute }];
31111
31694
  }, propDecorators: { approval: [{
31112
31695
  type: Input
31113
31696
  }], disabled: [{
@@ -31369,41 +31952,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31369
31952
  type: Input
31370
31953
  }] } });
31371
31954
 
31372
- class TaskConst {
31373
- }
31374
- TaskConst.TRANSITION_ID = 'transitionId';
31375
31955
  class AbstractSingleTaskViewComponent extends AbstractViewWithHeadersComponent {
31376
- constructor(taskViewService, activatedRoute, baseFilter) {
31956
+ constructor(taskViewService, activatedRoute) {
31377
31957
  super(taskViewService, activatedRoute);
31378
31958
  this.taskViewService = taskViewService;
31379
- this.baseFilter = baseFilter;
31380
31959
  this.initiallyExpanded = true;
31381
31960
  this.preventCollapse = true;
31382
31961
  this.noTaskPresent = new EventEmitter();
31383
- this.taskPanelData = this.taskViewService.tasks$.pipe(map(tasks => tasks.find(panelData => this.isTaskMatchingFilter(panelData, baseFilter.filter.getRequestBody())))).pipe(tap(panelData => {
31962
+ this.taskPanelData = this.taskViewService.tasks$.pipe(map(tasks => (tasks === null || tasks === void 0 ? void 0 : tasks.length) > 0 ? tasks[0] : undefined), tap(panelData => {
31384
31963
  if (!!panelData) {
31385
31964
  panelData.initiallyExpanded = true;
31965
+ panelData.task.assignPolicy = AssignPolicy.auto;
31966
+ this.finishTitle = panelData.task.finishTitle;
31386
31967
  }
31387
31968
  }));
31388
31969
  this.loading$ = this.taskViewService.loading$;
31389
31970
  }
31390
- ngOnDestroy() {
31391
- super.ngOnDestroy();
31392
- if (!!this.subRoute) {
31393
- this.subRoute.unsubscribe();
31394
- }
31395
- if (!!this.subPanelData) {
31396
- this.subPanelData.unsubscribe();
31397
- }
31398
- }
31399
31971
  get task$() {
31400
31972
  return this.taskPanelData;
31401
31973
  }
31402
- isTaskMatchingFilter(panelData, taskSearchRequestBody) {
31403
- return panelData.task.stringId === taskSearchRequestBody.stringId || panelData.task.transitionId === taskSearchRequestBody.transitionId;
31404
- }
31405
31974
  }
31406
- 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 });
31975
+ 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 });
31407
31976
  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 });
31408
31977
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskViewComponent, decorators: [{
31409
31978
  type: Component,
@@ -31411,12 +31980,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31411
31980
  selector: 'ncc-abstract-single-task-view',
31412
31981
  template: ''
31413
31982
  }]
31414
- }], ctorParameters: function () {
31415
- return [{ type: TaskViewService }, { type: i3$1.ActivatedRoute }, { type: undefined, decorators: [{
31416
- type: Inject,
31417
- args: [NAE_BASE_FILTER]
31418
- }] }];
31419
- }, propDecorators: { initiallyExpanded: [{
31983
+ }], ctorParameters: function () { return [{ type: TaskViewService }, { type: i2$5.ActivatedRoute }]; }, propDecorators: { initiallyExpanded: [{
31420
31984
  type: Input
31421
31985
  }], preventCollapse: [{
31422
31986
  type: Input
@@ -31424,6 +31988,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
31424
31988
  type: Output
31425
31989
  }] } });
31426
31990
 
31991
+ class AbstractTabbedSingleTaskViewComponent extends AbstractSingleTaskViewComponent {
31992
+ constructor(taskViewService, _injectedTabData, _activatedRoute) {
31993
+ super(taskViewService, _activatedRoute);
31994
+ this._injectedTabData = _injectedTabData;
31995
+ this.subTaskView = taskViewService.closeTab.subscribe(() => {
31996
+ _injectedTabData.tabViewRef.closeTabIndex(_injectedTabData.tabViewRef.currentlySelectedTab());
31997
+ });
31998
+ }
31999
+ ngOnDestroy() {
32000
+ super.ngOnDestroy();
32001
+ this.subTaskView.unsubscribe();
32002
+ }
32003
+ }
32004
+ 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 });
32005
+ 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 });
32006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTabbedSingleTaskViewComponent, decorators: [{
32007
+ type: Component,
32008
+ args: [{
32009
+ selector: 'ncc-abstract-tabbed-single-task-view',
32010
+ template: ''
32011
+ }]
32012
+ }], ctorParameters: function () {
32013
+ return [{ type: TaskViewService }, { type: undefined, decorators: [{
32014
+ type: Inject,
32015
+ args: [NAE_TAB_DATA]
32016
+ }] }, { type: i2$5.ActivatedRoute }];
32017
+ } });
32018
+
31427
32019
  /* INTERFACES */
31428
32020
 
31429
32021
  class PublicProcessService extends ProcessService {
@@ -32731,6 +33323,7 @@ class ProcessList {
32731
33323
  if (this.loading) {
32732
33324
  return;
32733
33325
  }
33326
+ const processes = new Subject();
32734
33327
  this._loading$.on();
32735
33328
  this._resources.getAll().pipe(catchError(err => {
32736
33329
  this._log.error('Failed to load Petri nets', err);
@@ -32759,8 +33352,10 @@ class ProcessList {
32759
33352
  cache[net.identifier].newestVersion = cache[net.identifier].processes[0].version;
32760
33353
  });
32761
33354
  this._processes = Object.values(cache).sort();
33355
+ processes.next(this._processes);
32762
33356
  this._loading$.off();
32763
33357
  });
33358
+ return processes.asObservable();
32764
33359
  }
32765
33360
  prepareToTryAgainToLoadRoles(item) {
32766
33361
  if (!item || !item.emptyRoles) {
@@ -32882,17 +33477,24 @@ class AbstractRoleAssignmentComponent {
32882
33477
  constructor(_service, _userService) {
32883
33478
  this._service = _service;
32884
33479
  this._userService = _userService;
33480
+ this.filteredProcesses = [];
32885
33481
  this.searchUserControl = new FormControl();
33482
+ this.searchNetControl = new FormControl();
32886
33483
  this.SEARCH_DEBOUNCE_TIME = 600;
32887
33484
  this.users = this._service.userList;
32888
33485
  this.nets = this._service.processList;
32889
33486
  this.userMultiSelect = true;
32890
33487
  }
32891
33488
  ngOnInit() {
32892
- this.nets.loadProcesses();
33489
+ this.nets.loadProcesses().subscribe(processes => {
33490
+ this.filteredProcesses = processes;
33491
+ });
32893
33492
  this.subValueChanges = this.searchUserControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
32894
33493
  this.users.reload(searchText);
32895
33494
  });
33495
+ this.subNetValueChanges = this.searchNetControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
33496
+ this.filteredProcesses = this.nets.processes.filter(itm => itm.title.toLowerCase().includes(searchText.toLowerCase()));
33497
+ });
32896
33498
  }
32897
33499
  ngAfterViewInit() {
32898
33500
  this.subUsers = this.users.usersReload$.subscribe(() => {
@@ -32904,9 +33506,11 @@ class AbstractRoleAssignmentComponent {
32904
33506
  ngOnDestroy() {
32905
33507
  this._userService.reload();
32906
33508
  this.subValueChanges.unsubscribe();
33509
+ this.subNetValueChanges.unsubscribe();
32907
33510
  this.subUsers.unsubscribe();
32908
33511
  this.users = undefined;
32909
33512
  this.nets = undefined;
33513
+ this.filteredProcesses = undefined;
32910
33514
  }
32911
33515
  loadNextUserPage() {
32912
33516
  if (!this.viewport) {
@@ -33035,6 +33639,9 @@ class AbstractUserInviteComponent {
33035
33639
  this._signUpService = _signUpService;
33036
33640
  this._snackBar = _snackBar;
33037
33641
  this._translate = _translate;
33642
+ this.filteredProcesses = [];
33643
+ this.SEARCH_DEBOUNCE_TIME = 600;
33644
+ this.searchNetControl = new FormControl();
33038
33645
  this.nets = this._userInviteService.processList;
33039
33646
  this.loading = new LoadingEmitter();
33040
33647
  this.invitedEmailControl = new FormControl('', [Validators.email, Validators.required]);
@@ -33045,8 +33652,18 @@ class AbstractUserInviteComponent {
33045
33652
  return this._orgList.groups;
33046
33653
  }
33047
33654
  ngOnInit() {
33048
- this.nets.loadProcesses();
33655
+ this.nets.loadProcesses().subscribe(processes => {
33656
+ this.filteredProcesses = processes;
33657
+ });
33049
33658
  this._orgList.loadGroups();
33659
+ this.subNetValueChanges = this.searchNetControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
33660
+ this.filteredProcesses = this.nets.processes.filter(itm => itm.title.toLowerCase().includes(searchText.toLowerCase()));
33661
+ });
33662
+ }
33663
+ ngOnDestroy() {
33664
+ this.subNetValueChanges.unsubscribe();
33665
+ this.nets = undefined;
33666
+ this.filteredProcesses = undefined;
33050
33667
  }
33051
33668
  removeGroup(org) {
33052
33669
  const itemIndex = this.invitedGroups.findIndex(g => g.id === org.id);
@@ -33303,17 +33920,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
33303
33920
  class AbstractLdapGroupRoleAssignmentComponent {
33304
33921
  constructor(_service) {
33305
33922
  this._service = _service;
33923
+ this.filteredProcesses = [];
33306
33924
  this.searchLdapGroupControl = new FormControl();
33925
+ this.searchNetControl = new FormControl();
33307
33926
  this.SEARCH_DEBOUNCE_TIME = 600;
33308
33927
  this.ldapGroup = this._service.ldapGroupList;
33309
33928
  this.nets = this._service.processList;
33310
33929
  this.ldapGroupMultiSelect = true;
33311
33930
  }
33312
33931
  ngOnInit() {
33313
- this.nets.loadProcesses();
33932
+ this.nets.loadProcesses().subscribe(processes => {
33933
+ this.filteredProcesses = processes;
33934
+ });
33314
33935
  this.subValueChanges = this.searchLdapGroupControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
33315
33936
  this.ldapGroup.reload(searchText);
33316
33937
  });
33938
+ this.subNetValueChanges = this.searchNetControl.valueChanges.pipe(debounceTime(this.SEARCH_DEBOUNCE_TIME)).subscribe(searchText => {
33939
+ this.filteredProcesses = this.nets.processes.filter(itm => itm.title.toLowerCase().includes(searchText.toLowerCase()));
33940
+ });
33317
33941
  }
33318
33942
  ngAfterViewInit() {
33319
33943
  this.subLdapGroup = this.ldapGroup.ldapGroupsReload$.subscribe(() => {
@@ -33326,7 +33950,9 @@ class AbstractLdapGroupRoleAssignmentComponent {
33326
33950
  this.subValueChanges.unsubscribe();
33327
33951
  this.subLdapGroup.unsubscribe();
33328
33952
  this.ldapGroup = undefined;
33953
+ this.subNetValueChanges.unsubscribe();
33329
33954
  this.nets = undefined;
33955
+ this.filteredProcesses = undefined;
33330
33956
  }
33331
33957
  loadNextLdapGroupPage() {
33332
33958
  if (!this.viewport) {
@@ -33429,11 +34055,12 @@ function mapToContent(source, filter, pagination) {
33429
34055
  /**
33430
34056
  * Converts an {@link NAE_NAVIGATION_ITEM_TASK_DATA} injection token into {@link NAE_BASE_FILTER}
33431
34057
  * @param extractionService
34058
+ * @param activatedRoute
33432
34059
  * @param navigationItemTaskData a navigation item task containing the aggregated data representing a navigation item
33433
34060
  */
33434
- function navigationItemTaskFilterFactory(extractionService, navigationItemTaskData) {
34061
+ function navigationItemTaskFilterFactory(extractionService, activatedRoute, navigationItemTaskData) {
33435
34062
  return {
33436
- filter: extractionService.extractCompleteFilterFromData(navigationItemTaskData)
34063
+ filter: extractionService.extractCompleteFilterFromData(navigationItemTaskData, activatedRoute)
33437
34064
  };
33438
34065
  }
33439
34066
 
@@ -33448,6 +34075,9 @@ function navigationItemTaskFilterFactory(extractionService, navigationItemTaskDa
33448
34075
  * field, if the filter metadata allow it and the filter is a task filter
33449
34076
  */
33450
34077
  function navigationItemTaskCategoryFactory(categoryResolverService, navigationItemTaskData, defaultCaseSearchCategories, defaultTaskSearchCategories) {
34078
+ if (!navigationItemTaskData) {
34079
+ return [];
34080
+ }
33451
34081
  const filterField = getFieldFromDataGroups(navigationItemTaskData, UserFilterConstants.FILTER_FIELD_ID);
33452
34082
  if (filterField === undefined) {
33453
34083
  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!`);
@@ -33575,7 +34205,7 @@ class ContainsPipe {
33575
34205
  if (value === null || value === undefined)
33576
34206
  return false;
33577
34207
  if (Array.isArray(value))
33578
- return value.includes(toCheck);
34208
+ return value === null || value === void 0 ? void 0 : value.includes(toCheck);
33579
34209
  if (value instanceof Set || value instanceof Map)
33580
34210
  return value.has(toCheck);
33581
34211
  return false;
@@ -34679,11 +35309,11 @@ class TestViewService extends ViewService {
34679
35309
  super([], config, router, logger);
34680
35310
  }
34681
35311
  }
34682
- 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 });
35312
+ 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 });
34683
35313
  TestViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TestViewService });
34684
35314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TestViewService, decorators: [{
34685
35315
  type: Injectable
34686
- }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: i3$1.Router }, { type: LoggerService }]; } });
35316
+ }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: i2$5.Router }, { type: LoggerService }]; } });
34687
35317
 
34688
35318
  /**
34689
35319
  * A utility class that mock any pageable endpoint that takes one parameter
@@ -35051,7 +35681,7 @@ class Subgrid {
35051
35681
  * @returns the base identifier, if it already is unique. A unique variation on the base identifier if it is already in use.
35052
35682
  */
35053
35683
  assureUniqueness(identifier) {
35054
- const alphaNumIdentifier = 'x' + identifier.replace(/[^0-9a-z]/gi, '');
35684
+ const alphaNumIdentifier = 'x' + (identifier === null || identifier === void 0 ? void 0 : identifier.replace(/[^0-9a-z]/gi, ''));
35055
35685
  if (!this._existingIdentifiers.has(alphaNumIdentifier)) {
35056
35686
  this._existingIdentifiers.add(alphaNumIdentifier);
35057
35687
  return alphaNumIdentifier;
@@ -36326,5 +36956,5 @@ const BaseFilterFactoryProvider = {
36326
36956
  * Generated bundle index. Do not edit.
36327
36957
  */
36328
36958
 
36329
- 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 };
36959
+ 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 };
36330
36960
  //# sourceMappingURL=netgrif-components-core.mjs.map