@netgrif/components-core 6.4.0-beta.3 → 6.4.0-beta.5

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 (57) hide show
  1. package/esm2020/lib/actions/front-action.module.mjs +28 -0
  2. package/esm2020/lib/actions/model/front-action-definition.mjs +2 -0
  3. package/esm2020/lib/actions/model/router-action-definitions.mjs +8 -0
  4. package/esm2020/lib/actions/model/task-action-definitions.mjs +16 -0
  5. package/esm2020/lib/actions/public-api.mjs +6 -0
  6. package/esm2020/lib/actions/services/front-action.service.mjs +27 -0
  7. package/esm2020/lib/data-fields/data-fields.module.mjs +1 -1
  8. package/esm2020/lib/data-fields/models/changed-fields.mjs +1 -1
  9. package/esm2020/lib/event/model/event-constants.mjs +5 -1
  10. package/esm2020/lib/event/services/event.service.mjs +23 -1
  11. package/esm2020/lib/filter/user-filters.service.mjs +1 -1
  12. package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +45 -1
  13. package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +5 -2
  14. package/esm2020/lib/panel/task-panel-single/abstract-single-task.component.mjs +11 -5
  15. package/esm2020/lib/public/factories/public-search-factory.mjs +15 -4
  16. package/esm2020/lib/registry/front-action-registry.service.mjs +34 -0
  17. package/esm2020/lib/registry/public-api.mjs +2 -1
  18. package/esm2020/lib/resources/interface/event-outcome.mjs +1 -1
  19. package/esm2020/lib/side-menu/content-components/injection-tokens.mjs +2 -1
  20. package/esm2020/lib/side-menu/content-components/public-api.mjs +2 -1
  21. package/esm2020/lib/side-menu/content-components/task-view/model/task-view-injection-data.mjs +2 -0
  22. package/esm2020/lib/task/services/task-data.service.mjs +11 -9
  23. package/esm2020/lib/task-content/services/single-task-content.service.mjs +4 -4
  24. package/esm2020/lib/task-content/services/task-content.service.mjs +6 -21
  25. package/esm2020/lib/task-content/services/unlimited-task-content.service.mjs +4 -4
  26. package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +18 -34
  27. package/esm2020/public-api.mjs +2 -1
  28. package/fesm2015/netgrif-components-core.mjs +623 -469
  29. package/fesm2015/netgrif-components-core.mjs.map +1 -1
  30. package/fesm2020/netgrif-components-core.mjs +623 -465
  31. package/fesm2020/netgrif-components-core.mjs.map +1 -1
  32. package/lib/actions/front-action.module.d.ts +9 -0
  33. package/lib/actions/model/front-action-definition.d.ts +5 -0
  34. package/lib/actions/model/router-action-definitions.d.ts +2 -0
  35. package/lib/actions/model/task-action-definitions.d.ts +3 -0
  36. package/lib/actions/public-api.d.ts +5 -0
  37. package/lib/actions/services/front-action.service.d.ts +15 -0
  38. package/lib/data-fields/models/changed-fields.d.ts +7 -6
  39. package/lib/event/model/event-constants.d.ts +5 -1
  40. package/lib/event/services/event.service.d.ts +3 -0
  41. package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +12 -0
  42. package/lib/panel/task-panel/abstract-task-panel.component.d.ts +2 -1
  43. package/lib/panel/task-panel-single/abstract-single-task.component.d.ts +5 -3
  44. package/lib/public/factories/public-search-factory.d.ts +3 -0
  45. package/lib/registry/front-action-registry.service.d.ts +13 -0
  46. package/lib/registry/public-api.d.ts +1 -0
  47. package/lib/resources/interface/event-outcome.d.ts +5 -0
  48. package/lib/side-menu/content-components/injection-tokens.d.ts +1 -0
  49. package/lib/side-menu/content-components/public-api.d.ts +1 -0
  50. package/lib/side-menu/content-components/task-view/model/task-view-injection-data.d.ts +4 -0
  51. package/lib/task/services/task-data.service.d.ts +4 -2
  52. package/lib/task-content/services/single-task-content.service.d.ts +2 -2
  53. package/lib/task-content/services/task-content.service.d.ts +6 -16
  54. package/lib/task-content/services/unlimited-task-content.service.d.ts +2 -2
  55. package/lib/view/task-view/abstract-single-task-view.component.d.ts +6 -5
  56. package/package.json +1 -1
  57. package/public-api.d.ts +1 -0
@@ -75,7 +75,7 @@ import moment from 'moment';
75
75
  import * as Buffer from 'buffer';
76
76
  import { ENTER, COMMA } from '@angular/cdk/keycodes';
77
77
  import * as i2$3 from '@angular/router';
78
- import { NavigationEnd } from '@angular/router';
78
+ import { NavigationEnd, Router } from '@angular/router';
79
79
  import * as i1$6 from '@angular/cdk/overlay';
80
80
  import { OverlayModule } from '@angular/cdk/overlay';
81
81
  import { orderBy } from 'natural-orderby';
@@ -7155,6 +7155,10 @@ var EventConstants;
7155
7155
  * Changed fields parameter of {@link SetDataEventOutcome}
7156
7156
  */
7157
7157
  EventConstants["CHANGED_FIELDS"] = "changedFields";
7158
+ /**
7159
+ * Front actions parameter of {@link EventOutcome}
7160
+ */
7161
+ EventConstants["FRONT_ACTIONS"] = "frontActions";
7158
7162
  })(EventConstants || (EventConstants = {}));
7159
7163
 
7160
7164
  class EventService {
@@ -7202,6 +7206,28 @@ class EventService {
7202
7206
  });
7203
7207
  return changedFieldsMap;
7204
7208
  }
7209
+ parseFrontActionsFromOutcomeTree(outcome) {
7210
+ const frontActions = [];
7211
+ if (!!outcome.outcomes && outcome.outcomes.length > 0) {
7212
+ return this.parseFrontActionsFromOutcomeTreeRecursive(outcome.outcomes, frontActions);
7213
+ }
7214
+ else
7215
+ return frontActions;
7216
+ }
7217
+ parseFrontActionsFromOutcomeTreeRecursive(outcomes, frontActions) {
7218
+ outcomes.forEach(childOutcome => {
7219
+ if (EventConstants.FRONT_ACTIONS in childOutcome) {
7220
+ const childFrontActions = childOutcome.frontActions;
7221
+ if (!!childFrontActions) {
7222
+ frontActions.push(...childFrontActions);
7223
+ }
7224
+ }
7225
+ if (!!childOutcome.outcomes && childOutcome.outcomes.length > 0) {
7226
+ this.parseFrontActionsFromOutcomeTreeRecursive(childOutcome.outcomes, frontActions);
7227
+ }
7228
+ });
7229
+ return frontActions;
7230
+ }
7205
7231
  }
7206
7232
  EventService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7207
7233
  EventService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: EventService, providedIn: 'root' });
@@ -15063,12 +15089,12 @@ class TaskContentService {
15063
15089
  * A snackbar will also be displayed to the user, informing them of the fact that the fields are invalid.
15064
15090
  * @returns whether the task is valid or not
15065
15091
  */
15066
- validateTaskData() {
15092
+ validateTaskData(taskId) {
15067
15093
  if (!this._task || !this._task.dataGroups) {
15068
15094
  return false;
15069
15095
  }
15070
- const valid = !this._task.dataGroups.some(group => group.fields.some(field => !field.valid && !field.disabled));
15071
- const validDisabled = !this._task.dataGroups.some(group => group.fields.some(field => !field.validRequired && field.disabled));
15096
+ const valid = !this._task.dataGroups.filter(group => !!group.parentTaskId && !!taskId ? group.parentTaskId === taskId : true).some(group => group.fields.some(field => !field.valid && !field.disabled));
15097
+ const validDisabled = !this._task.dataGroups.filter(group => !!group.parentTaskId && !!taskId ? group.parentTaskId === taskId : true).some(group => group.fields.some(field => !field.validRequired && field.disabled));
15072
15098
  if (!valid) {
15073
15099
  this._snackBarService.openErrorSnackBar(this._translate.instant('tasks.snackbar.invalidData'));
15074
15100
  this._task.dataGroups.forEach(group => group.fields.forEach(field => field.touch = true));
@@ -15158,7 +15184,6 @@ class TaskContentService {
15158
15184
  }
15159
15185
  });
15160
15186
  this.$shouldCreate.next(this._task.dataGroups);
15161
- this.performFrontendAction(frontendActions);
15162
15187
  }
15163
15188
  updateField(chFields, field, frontendActions) {
15164
15189
  if (this._fieldConverterService.resolveType(field) === FieldTypeResource.TASK_REF) {
@@ -15240,20 +15265,6 @@ class TaskContentService {
15240
15265
  field.update();
15241
15266
  });
15242
15267
  }
15243
- /**
15244
- * Performs the specific frontend action.
15245
- *
15246
- * A prototype implementation of frontend actions.
15247
- *
15248
- * The specifics are subject to change. It is very likely that this method will be moved to a different service.
15249
- *
15250
- * @param frontendAction the action that should be performed.
15251
- */
15252
- performFrontendAction(frontendAction) {
15253
- if (frontendAction && frontendAction.type === TaskContentService.VALIDATE_FRONTEND_ACTION) {
15254
- timer().subscribe(() => this.validateTaskData());
15255
- }
15256
- }
15257
15268
  isFieldInTask(taskId, changedField) {
15258
15269
  return !!taskId
15259
15270
  && !!this.taskFieldsIndex[taskId]
@@ -15275,7 +15286,7 @@ class TaskContentService {
15275
15286
  }
15276
15287
  }
15277
15288
  TaskContentService.FRONTEND_ACTIONS_KEY = '_frontend_actions';
15278
- TaskContentService.VALIDATE_FRONTEND_ACTION = 'validate';
15289
+ TaskContentService.ACTION = 'action';
15279
15290
  TaskContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskContentService, deps: [{ token: FieldConverterService }, { token: SnackBarService }, { token: i1$2.TranslateService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
15280
15291
  TaskContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskContentService });
15281
15292
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskContentService, decorators: [{
@@ -15676,12 +15687,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
15676
15687
  type: Injectable
15677
15688
  }], ctorParameters: function () { return []; } });
15678
15689
 
15690
+ class FrontActionRegistryService {
15691
+ constructor() {
15692
+ this._registry = new Map();
15693
+ }
15694
+ get registry() {
15695
+ return this._registry;
15696
+ }
15697
+ set registry(value) {
15698
+ this._registry = value;
15699
+ }
15700
+ register(key, fn) {
15701
+ this._registry.set(key, fn);
15702
+ }
15703
+ contains(key) {
15704
+ return this._registry.has(key);
15705
+ }
15706
+ get(key) {
15707
+ if (this._registry.has(key)) {
15708
+ return this._registry.get(key);
15709
+ }
15710
+ return undefined;
15711
+ }
15712
+ }
15713
+ FrontActionRegistryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15714
+ FrontActionRegistryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionRegistryService, providedIn: 'root' });
15715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionRegistryService, decorators: [{
15716
+ type: Injectable,
15717
+ args: [{
15718
+ providedIn: 'root'
15719
+ }]
15720
+ }], ctorParameters: function () { return []; } });
15721
+
15722
+ class FrontActionService {
15723
+ constructor(_injector, _frontActionRegistry, _log) {
15724
+ this._injector = _injector;
15725
+ this._frontActionRegistry = _frontActionRegistry;
15726
+ this._log = _log;
15727
+ }
15728
+ run(frontAction) {
15729
+ const fn = this._frontActionRegistry.get(frontAction.id);
15730
+ if (!fn) {
15731
+ this._log.error("Frontend action is not defined for ID [" + frontAction.id + "]");
15732
+ }
15733
+ fn.call(this._injector, frontAction);
15734
+ }
15735
+ runAll(frontAction) {
15736
+ frontAction.forEach(a => this.run(a));
15737
+ }
15738
+ }
15739
+ FrontActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionService, deps: [{ token: i0.Injector }, { token: FrontActionRegistryService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
15740
+ FrontActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionService });
15741
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionService, decorators: [{
15742
+ type: Injectable
15743
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: FrontActionRegistryService }, { type: LoggerService }]; } });
15744
+
15679
15745
  /**
15680
15746
  * Handles the loading and updating of data fields and behaviour of
15681
15747
  * a single Task object managed by a {@link TaskContentService} instance.
15682
15748
  */
15683
15749
  class TaskDataService extends TaskHandlingService {
15684
- constructor(_taskState, _translate, _log, _snackBar, _taskResourceService, _fieldConverterService, _taskEvent, _taskOperations, _selectedCaseService, _taskContentService, _afterActionFactory, _eventQueue, _userComparator, _eventService, _changedFieldsService) {
15750
+ constructor(_taskState, _translate, _log, _snackBar, _taskResourceService, _fieldConverterService, _taskEvent, _taskOperations, _selectedCaseService, _taskContentService, _afterActionFactory, _eventQueue, _userComparator, _eventService, _changedFieldsService, _frontActionService) {
15685
15751
  super(_taskContentService, _selectedCaseService);
15686
15752
  this._taskState = _taskState;
15687
15753
  this._translate = _translate;
@@ -15696,13 +15762,10 @@ class TaskDataService extends TaskHandlingService {
15696
15762
  this._userComparator = _userComparator;
15697
15763
  this._eventService = _eventService;
15698
15764
  this._changedFieldsService = _changedFieldsService;
15765
+ this._frontActionService = _frontActionService;
15699
15766
  this._updateSuccess$ = new Subject();
15700
15767
  this._dataReloadSubscription = this._taskContentService.taskDataReloadRequest$.subscribe(queuedFrontendAction => {
15701
- this.initializeTaskDataFields(this._afterActionFactory.create(success => {
15702
- if (success && queuedFrontendAction) {
15703
- this._taskContentService.performFrontendAction(queuedFrontendAction);
15704
- }
15705
- }), true);
15768
+ this.initializeTaskDataFields(new AfterAction(), true);
15706
15769
  });
15707
15770
  }
15708
15771
  ngOnDestroy() {
@@ -16077,9 +16140,13 @@ class TaskDataService extends TaskHandlingService {
16077
16140
  processSuccessfulSetDataRequest(setTaskId, response, afterAction, nextEvent, body) {
16078
16141
  const outcome = response.outcome;
16079
16142
  const changedFieldsMap = this._eventService.parseChangedFieldsFromOutcomeTree(outcome);
16143
+ const frontActions = this._eventService.parseFrontActionsFromOutcomeTree(outcome);
16080
16144
  if (Object.keys(changedFieldsMap).length > 0) {
16081
16145
  this._changedFieldsService.emitChangedFields(changedFieldsMap);
16082
16146
  }
16147
+ if (!!frontActions && frontActions.length > 0) {
16148
+ this._frontActionService.runAll(frontActions);
16149
+ }
16083
16150
  this.clearWaitingForResponseFlag(body);
16084
16151
  this._snackBar.openSuccessSnackBar(!!outcome.message ? outcome.message : this._translate.instant('tasks.snackbar.dataSaved'));
16085
16152
  this.updateStateInfo(afterAction, true, setTaskId);
@@ -16197,7 +16264,7 @@ class TaskDataService extends TaskHandlingService {
16197
16264
  });
16198
16265
  }
16199
16266
  }
16200
- TaskDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskDataService, deps: [{ token: TaskRequestStateService }, { token: i1$2.TranslateService }, { token: LoggerService }, { token: SnackBarService }, { token: TaskResourceService }, { token: FieldConverterService }, { token: TaskEventService }, { token: NAE_TASK_OPERATIONS }, { token: SelectedCaseService, optional: true }, { token: TaskContentService }, { token: CallChainService }, { token: EventQueueService }, { token: UserComparatorService }, { token: EventService }, { token: ChangedFieldsService }], target: i0.ɵɵFactoryTarget.Injectable });
16267
+ TaskDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskDataService, deps: [{ token: TaskRequestStateService }, { token: i1$2.TranslateService }, { token: LoggerService }, { token: SnackBarService }, { token: TaskResourceService }, { token: FieldConverterService }, { token: TaskEventService }, { token: NAE_TASK_OPERATIONS }, { token: SelectedCaseService, optional: true }, { token: TaskContentService }, { token: CallChainService }, { token: EventQueueService }, { token: UserComparatorService }, { token: EventService }, { token: ChangedFieldsService }, { token: FrontActionService }], target: i0.ɵɵFactoryTarget.Injectable });
16201
16268
  TaskDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskDataService });
16202
16269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TaskDataService, decorators: [{
16203
16270
  type: Injectable
@@ -16207,7 +16274,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
16207
16274
  args: [NAE_TASK_OPERATIONS]
16208
16275
  }] }, { type: SelectedCaseService, decorators: [{
16209
16276
  type: Optional
16210
- }] }, { type: TaskContentService }, { type: CallChainService }, { type: EventQueueService }, { type: UserComparatorService }, { type: EventService }, { type: ChangedFieldsService }];
16277
+ }] }, { type: TaskContentService }, { type: CallChainService }, { type: EventQueueService }, { type: UserComparatorService }, { type: EventService }, { type: ChangedFieldsService }, { type: FrontActionService }];
16211
16278
  } });
16212
16279
 
16213
16280
  class AbstractTaskRefDashboardTileComponent {
@@ -19088,6 +19155,7 @@ const NAE_SAVE_FILTER_COMPONENT = new InjectionToken('NaeSaveFilterComponent');
19088
19155
  const NAE_LOAD_FILTER_COMPONENT = new InjectionToken('NaeLoadFilterComponent');
19089
19156
  const NAE_USER_IMPERSONATE_COMPONENT = new InjectionToken('NaeUserImpersonateComponent');
19090
19157
  const NAE_ADMIN_IMPERSONATE_COMPONENT = new InjectionToken('NaeAdminImpersonateComponent');
19158
+ const NAE_TASK_VIEW_COMPONENT = new InjectionToken('NaeTaskViewComponent');
19091
19159
 
19092
19160
  const NAE_SIDE_MENU_CONTROL = new InjectionToken('NaeSideMenuControl');
19093
19161
 
@@ -20043,6 +20111,7 @@ class AbstractTaskPanelComponent extends AbstractPanelWithImmediateDataComponent
20043
20111
  this.responsiveBody = true;
20044
20112
  this.preventCollapse = false;
20045
20113
  this.hidePanelHeader = false;
20114
+ this.hideActionRow = false;
20046
20115
  this.showMoreMenu = true;
20047
20116
  this.thisContext = {
20048
20117
  canAssign: () => this.canAssign(),
@@ -20312,7 +20381,7 @@ class AbstractTaskPanelComponent extends AbstractPanelWithImmediateDataComponent
20312
20381
  }
20313
20382
  }
20314
20383
  AbstractTaskPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskPanelComponent, deps: [{ token: TaskContentService }, { token: LoggerService }, { token: TaskViewService }, { token: PaperViewService }, { token: TaskEventService }, { token: AssignTaskService }, { token: DelegateTaskService }, { token: CancelTaskService }, { token: FinishTaskService }, { token: TaskRequestStateService }, { token: TaskDataService }, { token: AssignPolicyService }, { token: FinishPolicyService }, { token: CallChainService }, { token: SubjectTaskOperations }, { token: NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS, optional: true }, { token: i1$2.TranslateService }, { token: i5.CurrencyPipe }, { token: ChangedFieldsService }, { token: PermissionService }, { token: OverflowService, optional: true }, { token: NAE_TASK_FORCE_OPEN, optional: true }], target: i0.ɵɵFactoryTarget.Component });
20315
- AbstractTaskPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractTaskPanelComponent, selector: "ncc-abstract-legal-notice", inputs: { taskListVirtualScroll: "taskListVirtualScroll", panelContentComponent: "panelContentComponent", selectedHeaders$: "selectedHeaders$", first: "first", last: "last", responsiveBody: "responsiveBody", preventCollapse: "preventCollapse", hidePanelHeader: "hidePanelHeader", actionButtonTemplates: "actionButtonTemplates", actionRowJustifyContent: "actionRowJustifyContent", showMoreMenu: "showMoreMenu", forceLoadDataOnOpen: "forceLoadDataOnOpen", textEllipsis: "textEllipsis", taskPanelData: "taskPanelData" }, outputs: { taskEvent: "taskEvent", panelRefOutput: "panelRefOutput" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
20384
+ AbstractTaskPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AbstractTaskPanelComponent, selector: "ncc-abstract-legal-notice", inputs: { taskListVirtualScroll: "taskListVirtualScroll", panelContentComponent: "panelContentComponent", selectedHeaders$: "selectedHeaders$", first: "first", last: "last", responsiveBody: "responsiveBody", preventCollapse: "preventCollapse", hidePanelHeader: "hidePanelHeader", hideActionRow: "hideActionRow", actionButtonTemplates: "actionButtonTemplates", actionRowJustifyContent: "actionRowJustifyContent", showMoreMenu: "showMoreMenu", forceLoadDataOnOpen: "forceLoadDataOnOpen", textEllipsis: "textEllipsis", taskPanelData: "taskPanelData" }, outputs: { taskEvent: "taskEvent", panelRefOutput: "panelRefOutput" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
20316
20385
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractTaskPanelComponent, decorators: [{
20317
20386
  type: Component,
20318
20387
  args: [{
@@ -20349,6 +20418,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
20349
20418
  type: Input
20350
20419
  }], hidePanelHeader: [{
20351
20420
  type: Input
20421
+ }], hideActionRow: [{
20422
+ type: Input
20352
20423
  }], actionButtonTemplates: [{
20353
20424
  type: Input
20354
20425
  }], actionRowJustifyContent: [{
@@ -21038,12 +21109,13 @@ class AbstractSingleTaskComponent {
21038
21109
  this.textEllipsis = false;
21039
21110
  this.preventCollapse = true;
21040
21111
  this.hidePanelHeader = true;
21112
+ this.hideActionRow = true;
21113
+ this.showPageHeader = true;
21114
+ this.showPageFooter = true;
21041
21115
  this.taskEvent = new EventEmitter();
21042
- this._unsubscribe$ = new Subject();
21043
21116
  }
21044
21117
  ngOnDestroy() {
21045
21118
  this.taskEvent.complete();
21046
- this._unsubscribe$.complete();
21047
21119
  }
21048
21120
  setPanelRef(panelRef) {
21049
21121
  this._taskPanelRef = panelRef;
@@ -21060,7 +21132,7 @@ class AbstractSingleTaskComponent {
21060
21132
  }
21061
21133
  }
21062
21134
  AbstractSingleTaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskComponent, deps: [{ token: LoggerService }, { token: i2$3.ActivatedRoute }, { token: NAE_TAB_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
21063
- 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", noTaskSection: "noTaskSection", pageHeader: "pageHeader", pageFooter: "pageFooter", headerTitle: "headerTitle", footerText: "footerText", actionButtonTemplates: "actionButtonTemplates", actionRowJustifyContent: "actionRowJustifyContent" }, outputs: { taskEvent: "taskEvent" }, ngImport: i0, template: '', isInline: true });
21135
+ 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 });
21064
21136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskComponent, decorators: [{
21065
21137
  type: Component,
21066
21138
  args: [{
@@ -21090,12 +21162,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21090
21162
  type: Input
21091
21163
  }], hidePanelHeader: [{
21092
21164
  type: Input
21165
+ }], hideActionRow: [{
21166
+ type: Input
21093
21167
  }], noTaskSection: [{
21094
21168
  type: Input
21095
21169
  }], pageHeader: [{
21096
21170
  type: Input
21097
21171
  }], pageFooter: [{
21098
21172
  type: Input
21173
+ }], showPageHeader: [{
21174
+ type: Input
21175
+ }], showPageFooter: [{
21176
+ type: Input
21099
21177
  }], headerTitle: [{
21100
21178
  type: Input
21101
21179
  }], footerText: [{
@@ -26772,6 +26850,228 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
26772
26850
  type: Input
26773
26851
  }] } });
26774
26852
 
26853
+ class ImportToAdd {
26854
+ constructor(className, fileImportPath) {
26855
+ this.className = className;
26856
+ this.fileImportPath = fileImportPath;
26857
+ }
26858
+ }
26859
+
26860
+ /**
26861
+ * @license
26862
+ * Copyright Google Inc. All Rights Reserved.
26863
+ *
26864
+ * Use of this source code is governed by an MIT-style license that can be
26865
+ * found in the LICENSE file at https://angular.io/license
26866
+ *
26867
+ * File copied from: angular_devkit/core/src/utils/strings.ts
26868
+ */
26869
+ const STRING_DASHERIZE_REGEXP = (/[ _]/g);
26870
+ const STRING_DECAMELIZE_REGEXP = (/([a-z\d])([A-Z])/g);
26871
+ const STRING_CAMELIZE_REGEXP = (/(-|_|\.|\s)+(.)?/g);
26872
+ const STRING_UNDERSCORE_REGEXP_1 = (/([a-z\d])([A-Z]+)/g);
26873
+ const STRING_UNDERSCORE_REGEXP_2 = (/-|\s+/g);
26874
+ /**
26875
+ * Converts a camelized string into all lower case separated by underscores.
26876
+ *
26877
+ * ```javascript
26878
+ * decamelize('innerHTML'); // 'inner_html'
26879
+ * decamelize('action_name'); // 'action_name'
26880
+ * decamelize('css-class-name'); // 'css-class-name'
26881
+ * decamelize('my favorite items'); // 'my favorite items'
26882
+ * ```
26883
+ * @method decamelize
26884
+ * @param str The string to decamelize.
26885
+ * @return the decamelized string.
26886
+ */
26887
+ function decamelize(str) {
26888
+ return str.replace(STRING_DECAMELIZE_REGEXP, '$1_$2').toLowerCase();
26889
+ }
26890
+ /**
26891
+ * Replaces underscores, spaces, or camelCase with dashes.
26892
+ * ```javascript
26893
+ * dasherize('innerHTML'); // 'inner-html'
26894
+ * dasherize('action_name'); // 'action-name'
26895
+ * dasherize('css-class-name'); // 'css-class-name'
26896
+ * dasherize('my favorite items'); // 'my-favorite-items'
26897
+ * ```
26898
+ * @method dasherize
26899
+ * @param str The string to dasherize.
26900
+ * @return the dasherized string.
26901
+ */
26902
+ function dasherize(str) {
26903
+ return decamelize(str).replace(STRING_DASHERIZE_REGEXP, '-');
26904
+ }
26905
+ /**
26906
+ * Returns the lowerCamelCase form of a string.
26907
+ * ```javascript
26908
+ * camelize('innerHTML'); // 'innerHTML'
26909
+ * camelize('action_name'); // 'actionName'
26910
+ * camelize('css-class-name'); // 'cssClassName'
26911
+ * camelize('my favorite items'); // 'myFavoriteItems'
26912
+ * camelize('My Favorite Items'); // 'myFavoriteItems'
26913
+ * ```
26914
+ * @method camelize
26915
+ * @param str The string to camelize.
26916
+ * @return the camelized string.
26917
+ */
26918
+ function camelize(str) {
26919
+ return str
26920
+ .replace(STRING_CAMELIZE_REGEXP, (_match, _separator, chr) => {
26921
+ return chr ? chr.toUpperCase() : '';
26922
+ })
26923
+ .replace(/^([A-Z])/, (match) => match.toLowerCase());
26924
+ }
26925
+ /**
26926
+ * Returns the UpperCamelCase form of a string.
26927
+ * ```javascript
26928
+ * 'innerHTML'.classify(); // 'InnerHTML'
26929
+ * 'action_name'.classify(); // 'ActionName'
26930
+ * 'css-class-name'.classify(); // 'CssClassName'
26931
+ * 'my favorite items'.classify(); // 'MyFavoriteItems'
26932
+ * ```
26933
+ * @method classify
26934
+ * @param str the string to classify
26935
+ * @return the classified string
26936
+ */
26937
+ function classify(str) {
26938
+ return str.split('.').map(part => capitalize(camelize(part))).join('.');
26939
+ }
26940
+ /**
26941
+ * More general than decamelize. Returns the lower\_case\_and\_underscored
26942
+ * form of a string.
26943
+ * ```javascript
26944
+ * 'innerHTML'.underscore(); // 'inner_html'
26945
+ * 'action_name'.underscore(); // 'action_name'
26946
+ * 'css-class-name'.underscore(); // 'css_class_name'
26947
+ * 'my favorite items'.underscore(); // 'my_favorite_items'
26948
+ * ```
26949
+ * @method underscore
26950
+ * @param str The string to underscore.
26951
+ * @return the underscored string.
26952
+ */
26953
+ function underscore(str) {
26954
+ return str
26955
+ .replace(STRING_UNDERSCORE_REGEXP_1, '$1_$2')
26956
+ .replace(STRING_UNDERSCORE_REGEXP_2, '_')
26957
+ .toLowerCase();
26958
+ }
26959
+ /**
26960
+ * Returns the Capitalized form of a string
26961
+ * ```javascript
26962
+ * 'innerHTML'.capitalize() // 'InnerHTML'
26963
+ * 'action_name'.capitalize() // 'Action_name'
26964
+ * 'css-class-name'.capitalize() // 'Css-class-name'
26965
+ * 'my favorite items'.capitalize() // 'My favorite items'
26966
+ * ```
26967
+ * @method capitalize
26968
+ * @param str The string to capitalize.
26969
+ * @return The capitalized string.
26970
+ */
26971
+ function capitalize(str) {
26972
+ return str.charAt(0).toUpperCase() + str.substr(1);
26973
+ }
26974
+ /**
26975
+ * Calculate the levenshtein distance of two strings.
26976
+ * See https://en.wikipedia.org/wiki/Levenshtein_distance.
26977
+ * Based off https://gist.github.com/andrei-m/982927 (for using the faster dynamic programming
26978
+ * version).
26979
+ *
26980
+ * @param a String a.
26981
+ * @param b String b.
26982
+ * @returns A number that represents the distance between the two strings. The greater the number
26983
+ * the more distant the strings are from each others.
26984
+ */
26985
+ function levenshtein(a, b) {
26986
+ if (a.length === 0) {
26987
+ return b.length;
26988
+ }
26989
+ if (b.length === 0) {
26990
+ return a.length;
26991
+ }
26992
+ const matrix = [];
26993
+ // increment along the first column of each row
26994
+ for (let i = 0; i <= b.length; i++) {
26995
+ matrix[i] = [i];
26996
+ }
26997
+ // increment each column in the first row
26998
+ for (let j = 0; j <= a.length; j++) {
26999
+ matrix[0][j] = j;
27000
+ }
27001
+ // Fill in the rest of the matrix
27002
+ for (let i = 1; i <= b.length; i++) {
27003
+ for (let j = 1; j <= a.length; j++) {
27004
+ if (b.charAt(i - 1) === a.charAt(j - 1)) {
27005
+ matrix[i][j] = matrix[i - 1][j - 1];
27006
+ }
27007
+ else {
27008
+ matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
27009
+ matrix[i][j - 1] + 1, // insertion
27010
+ matrix[i - 1][j] + 1);
27011
+ }
27012
+ }
27013
+ }
27014
+ return matrix[b.length][a.length];
27015
+ }
27016
+
27017
+ class ViewClassInfo extends ImportToAdd {
27018
+ constructor(path, viewType, customComponentName) {
27019
+ super('', '');
27020
+ if (!customComponentName) {
27021
+ this.prefix = ViewClassInfo.convertPathToClassNamePrefix(path);
27022
+ const classSuffix = ViewClassInfo.resolveClassSuffixForView(viewType);
27023
+ this.nameWithoutComponent = `${classify(this.prefix)}${classSuffix}`;
27024
+ this.fileImportPath = `./views/${path}/${this.prefix}-${dasherize(classSuffix)}.component`;
27025
+ }
27026
+ else {
27027
+ this.prefix = '';
27028
+ this.nameWithoutComponent = classify(customComponentName);
27029
+ this.fileImportPath = `./views/${path}/${dasherize(customComponentName)}.component`;
27030
+ }
27031
+ this.className = `${this.nameWithoutComponent}Component`;
27032
+ }
27033
+ static convertPathToClassNamePrefix(path) {
27034
+ const regexDash = /-/g;
27035
+ return path.replace(regexDash, '_').replace(/\//g, '-').toLocaleLowerCase();
27036
+ }
27037
+ static resolveClassSuffixForView(view) {
27038
+ switch (view) {
27039
+ case 'login':
27040
+ return 'Login';
27041
+ case 'tabView':
27042
+ return 'TabView';
27043
+ case 'taskView':
27044
+ return 'TaskView';
27045
+ case 'caseView':
27046
+ return 'CaseView';
27047
+ case 'emptyView':
27048
+ return 'EmptyView';
27049
+ case 'sidenavView':
27050
+ return 'SidenavView';
27051
+ case 'doubleDrawerView':
27052
+ return 'DoubleDrawerView';
27053
+ case 'toolbarView':
27054
+ return 'ToolbarView';
27055
+ case 'sidenavAndToolbarView':
27056
+ return 'SidenavAndToolbarView';
27057
+ case 'groupView':
27058
+ return 'GroupView';
27059
+ case 'dashboard':
27060
+ return 'Dashboard';
27061
+ case 'treeCaseView':
27062
+ return 'TreeCaseView';
27063
+ case 'workflowView':
27064
+ return 'WorkflowView';
27065
+ case 'roleAssignmentView':
27066
+ return 'RoleAssignmentView';
27067
+ case 'ldapRoleAssignmentView':
27068
+ return 'LdapRoleAssignmentView';
27069
+ default:
27070
+ throw new Error(`Unknown view type '${view}'`);
27071
+ }
27072
+ }
27073
+ }
27074
+
26775
27075
  var GroupNavigationConstants;
26776
27076
  (function (GroupNavigationConstants) {
26777
27077
  /**
@@ -26912,6 +27212,180 @@ var GroupNavigationConstants;
26912
27212
  GroupNavigationConstants["ITEM_FIELD_ID_HAS_CHILDREN"] = "hasChildren";
26913
27213
  })(GroupNavigationConstants || (GroupNavigationConstants = {}));
26914
27214
 
27215
+ /**
27216
+ * Holds component for dynamic routing resolution of group navigation component resolver component by the {@link RoutingBuilderService}.
27217
+ */
27218
+ const NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT = new InjectionToken('NaeGroupNavigationComponentResolverComponent');
27219
+
27220
+ const NAE_ROUTING_CONFIGURATION_PATH = "configPath";
27221
+ /**
27222
+ * Uses the information from nae.json to construct the application's routing
27223
+ */
27224
+ class RoutingBuilderService {
27225
+ constructor(router, _configService, _viewService, _logger, _dynamicNavigationRouteService, _groupNavigationComponentResolverComponent) {
27226
+ this._configService = _configService;
27227
+ this._viewService = _viewService;
27228
+ this._logger = _logger;
27229
+ this._dynamicNavigationRouteService = _dynamicNavigationRouteService;
27230
+ this._groupNavigationComponentResolverComponent = _groupNavigationComponentResolverComponent;
27231
+ this._groupNavigationRouteGenerated = false;
27232
+ router.relativeLinkResolution = 'legacy';
27233
+ router.config.splice(0, router.config.length);
27234
+ for (const [pathSegment, view] of Object.entries(_configService.get().views)) {
27235
+ const route = this.constructRouteObject(view, pathSegment);
27236
+ if (route !== undefined) {
27237
+ router.config.push(route);
27238
+ }
27239
+ }
27240
+ router.config.push(...this.defaultRoutesRedirects());
27241
+ }
27242
+ constructRouteObject(view, configPath, ancestors = []) {
27243
+ var _a, _b;
27244
+ const component = this.resolveComponentClass(view, configPath);
27245
+ if (component === undefined) {
27246
+ return undefined;
27247
+ }
27248
+ if (!view.routing) {
27249
+ this._logger.warn(`nae.json configuration is invalid. View at path '${configPath}'` +
27250
+ ` must define a 'routing' attribute. Skipping this view for routing generation.`);
27251
+ return undefined;
27252
+ }
27253
+ const route = {
27254
+ path: view.routing.path,
27255
+ data: {
27256
+ [NAE_ROUTING_CONFIGURATION_PATH]: configPath
27257
+ },
27258
+ component
27259
+ };
27260
+ if (((_a = view === null || view === void 0 ? void 0 : view.layout) === null || _a === void 0 ? void 0 : _a.name) === GroupNavigationConstants.GROUP_NAVIGATION_OUTLET) {
27261
+ if (this._groupNavigationRouteGenerated) {
27262
+ this._logger.warn(`Multiple groupNavigationOutlets are present in nae.json. Duplicate entry found at path ${configPath}`);
27263
+ }
27264
+ else {
27265
+ this._logger.debug(`GroupNavigationOutlet found in nae.json at path '${configPath}'`);
27266
+ }
27267
+ const pathNoParams = route.path;
27268
+ route.path = `${pathNoParams}/:${GroupNavigationConstants.GROUP_NAVIGATION_ROUTER_PARAM}`;
27269
+ route.canActivate = [AuthenticationGuardService];
27270
+ const parentPathSegments = ancestors.map(a => a.path);
27271
+ parentPathSegments.push(pathNoParams);
27272
+ this._dynamicNavigationRouteService.route = parentPathSegments.join('/');
27273
+ this._groupNavigationRouteGenerated = true;
27274
+ return route;
27275
+ }
27276
+ if (view.routing.match !== undefined && view.routing.match) {
27277
+ route['pathMatch'] = 'full';
27278
+ }
27279
+ route['canActivate'] = [];
27280
+ if (view.access === 'private'
27281
+ || view.access.hasOwnProperty('role')
27282
+ || view.access.hasOwnProperty('group')
27283
+ || view.access.hasOwnProperty('authority')) {
27284
+ route['canActivate'].push(AuthenticationGuardService);
27285
+ }
27286
+ if (view.access.hasOwnProperty('role')) {
27287
+ route['canActivate'].push(RoleGuardService);
27288
+ }
27289
+ if (view.access.hasOwnProperty('authority')) {
27290
+ route['canActivate'].push(AuthorityGuardService);
27291
+ }
27292
+ if (view.access.hasOwnProperty('group')) {
27293
+ route['canActivate'].push(GroupGuardService);
27294
+ }
27295
+ if (!!view.children) {
27296
+ route['children'] = [];
27297
+ Object.entries(view.children).forEach(([configPathSegment, childView]) => {
27298
+ // TODO check if routes are constructed correctly regarding empty route segments
27299
+ const childRoute = this.constructRouteObject(childView, `${configPath}/${configPathSegment}`, [...ancestors, route]);
27300
+ if (childRoute !== undefined) {
27301
+ route['children'].push(childRoute);
27302
+ }
27303
+ });
27304
+ }
27305
+ if (((_b = view === null || view === void 0 ? void 0 : view.layout) === null || _b === void 0 ? void 0 : _b.name) === 'tabView') {
27306
+ if (!view.children) {
27307
+ route['children'] = [];
27308
+ }
27309
+ route['children'].push({
27310
+ path: '**',
27311
+ component
27312
+ });
27313
+ }
27314
+ return route;
27315
+ }
27316
+ resolveComponentClass(view, configPath) {
27317
+ let result;
27318
+ if (!!view.component) {
27319
+ result = this._viewService.resolveNameToClass(view.component.class);
27320
+ }
27321
+ else if (!!view.layout) {
27322
+ result = this.resolveComponentClassFromLayout(view, configPath);
27323
+ }
27324
+ else {
27325
+ this._logger.warn(`nae.json configuration is invalid. View at path '${configPath}'` +
27326
+ ` must define either a 'layout' or a 'component' attribute. Skipping this view for routing generation.`);
27327
+ return undefined;
27328
+ }
27329
+ if (result === undefined) {
27330
+ this._logger.warn(`Some views from nae.json configuration have not been created in the project.` +
27331
+ ` Run create-view schematic to rectify this. Skipping this view for routing generation.`);
27332
+ return undefined;
27333
+ }
27334
+ return result;
27335
+ }
27336
+ resolveComponentClassFromLayout(view, configPath) {
27337
+ if (view.layout.name === GroupNavigationConstants.GROUP_NAVIGATION_OUTLET) {
27338
+ return this._groupNavigationComponentResolverComponent;
27339
+ }
27340
+ const className = RoutingBuilderService.parseClassNameFromView(view, configPath);
27341
+ return this._viewService.resolveNameToClass(className);
27342
+ }
27343
+ static parseClassNameFromView(view, configPath) {
27344
+ if (!!view.layout.componentName) {
27345
+ return `${classify(view.layout.componentName)}Component`;
27346
+ }
27347
+ else {
27348
+ const classInfo = new ViewClassInfo(configPath, view.layout.name, view.layout.componentName);
27349
+ return classInfo.className;
27350
+ }
27351
+ }
27352
+ defaultRoutesRedirects() {
27353
+ const result = [];
27354
+ const servicesConfig = this._configService.getServicesConfiguration();
27355
+ if (!!servicesConfig && !!servicesConfig.routing) {
27356
+ if (!!servicesConfig.routing.defaultRedirect) {
27357
+ result.push({
27358
+ path: '',
27359
+ redirectTo: servicesConfig.routing.defaultRedirect,
27360
+ pathMatch: 'full'
27361
+ });
27362
+ }
27363
+ if (!!servicesConfig.routing.wildcardRedirect) {
27364
+ result.push({
27365
+ path: '**',
27366
+ redirectTo: servicesConfig.routing.wildcardRedirect
27367
+ });
27368
+ }
27369
+ }
27370
+ return result;
27371
+ }
27372
+ }
27373
+ RoutingBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, deps: [{ token: i2$3.Router }, { token: ConfigurationService }, { token: ViewService }, { token: LoggerService }, { token: DynamicNavigationRouteProviderService }, { token: NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
27374
+ RoutingBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, providedIn: 'root' });
27375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, decorators: [{
27376
+ type: Injectable,
27377
+ args: [{
27378
+ providedIn: 'root'
27379
+ }]
27380
+ }], ctorParameters: function () {
27381
+ return [{ type: i2$3.Router }, { type: ConfigurationService }, { type: ViewService }, { type: LoggerService }, { type: DynamicNavigationRouteProviderService }, { type: i0.Type, decorators: [{
27382
+ type: Optional
27383
+ }, {
27384
+ type: Inject,
27385
+ args: [NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT]
27386
+ }] }];
27387
+ } });
27388
+
26915
27389
  /**
26916
27390
  * Holds all identifiers of the Impersonation config process in an accessible manner
26917
27391
  */
@@ -27145,6 +27619,8 @@ class AbstractNavigationDoubleDrawerComponent {
27145
27619
  this.rightLoading$ = new LoadingEmitter();
27146
27620
  this.nodeLoading$ = new LoadingEmitter();
27147
27621
  this.itemsOrder = MenuOrder.Ascending;
27622
+ this.hiddenCustomItems = [];
27623
+ this._childCustomViews = {};
27148
27624
  }
27149
27625
  ngOnInit() {
27150
27626
  this._breakpointSubscription = this._breakpoint.observe([Breakpoints.HandsetLandscape]).subscribe(() => {
@@ -27162,6 +27638,14 @@ class AbstractNavigationDoubleDrawerComponent {
27162
27638
  this._currentNodeSubscription = this._uriService.activeNode$.subscribe(node => {
27163
27639
  this.currentNode = node;
27164
27640
  });
27641
+ const viewConfigurationPath = this._activatedRoute.snapshot.data[NAE_ROUTING_CONFIGURATION_PATH];
27642
+ if (!!viewConfigurationPath) {
27643
+ const viewConfiguration = this._config.getViewByPath(viewConfigurationPath);
27644
+ Object.entries(viewConfiguration.children).forEach(([key, childView]) => {
27645
+ this.resolveUriForChildViews(viewConfigurationPath + '/' + key, childView);
27646
+ this.resolveHiddenMenuItemFromChildViews(viewConfigurationPath + '/' + key, childView);
27647
+ });
27648
+ }
27165
27649
  }
27166
27650
  get currentNode() {
27167
27651
  return this._currentNode;
@@ -27353,17 +27837,20 @@ class AbstractNavigationDoubleDrawerComponent {
27353
27837
  else {
27354
27838
  this.rightItems = result.map(folder => this.resolveItemCaseToNavigationItem(folder)).filter(i => !!i);
27355
27839
  }
27840
+ this.resolveCustomViewsInRightSide();
27356
27841
  this.rightLoading$.off();
27357
27842
  }, error => {
27358
27843
  this._log.error(error);
27359
27844
  this.rightItems = [];
27360
27845
  this.moreItems = [];
27846
+ this.resolveCustomViewsInRightSide();
27361
27847
  this.rightLoading$.off();
27362
27848
  });
27363
27849
  }, error => {
27364
27850
  this._log.error(error);
27365
27851
  this.rightItems = [];
27366
27852
  this.moreItems = [];
27853
+ this.resolveCustomViewsInRightSide();
27367
27854
  this.rightLoading$.off();
27368
27855
  });
27369
27856
  }
@@ -27389,6 +27876,11 @@ class AbstractNavigationDoubleDrawerComponent {
27389
27876
  this.leftItems = 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)); });
27390
27877
  this.moreItems = this.moreItems.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)); });
27391
27878
  }
27879
+ resolveCustomViewsInRightSide() {
27880
+ if (!!this._childCustomViews[this._currentNode.uriPath]) {
27881
+ this.rightItems.push(...Object.values(this._childCustomViews[this._currentNode.uriPath]));
27882
+ }
27883
+ }
27392
27884
  resolveItemCaseToNavigationItem(itemCase) {
27393
27885
  var _a, _b;
27394
27886
  const item = {
@@ -27472,6 +27964,26 @@ class AbstractNavigationDoubleDrawerComponent {
27472
27964
  // this.userPreferenceService._drawerWidthChanged$.next(this.width);
27473
27965
  // this.contentWidth.next(this.width);
27474
27966
  }
27967
+ resolveUriForChildViews(configPath, childView) {
27968
+ if (!childView.processUri)
27969
+ return;
27970
+ if (!this._accessService.canAccessView(childView, configPath))
27971
+ return;
27972
+ if (!this._childCustomViews[childView.processUri]) {
27973
+ this._childCustomViews[childView.processUri] = {};
27974
+ }
27975
+ this._childCustomViews[childView.processUri][configPath] = Object.assign({ id: configPath }, childView);
27976
+ }
27977
+ resolveHiddenMenuItemFromChildViews(configPath, childView) {
27978
+ var _a;
27979
+ if (!childView.navigation)
27980
+ return;
27981
+ if (!this._accessService.canAccessView(childView, configPath))
27982
+ return;
27983
+ if (!!((_a = childView === null || childView === void 0 ? void 0 : childView.navigation) === null || _a === void 0 ? void 0 : _a.hidden)) {
27984
+ this.hiddenCustomItems.push(Object.assign({ id: configPath }, childView));
27985
+ }
27986
+ }
27475
27987
  }
27476
27988
  AbstractNavigationDoubleDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractNavigationDoubleDrawerComponent, deps: [{ token: i2$3.Router }, { token: i2$3.ActivatedRoute }, { token: i1$7.BreakpointObserver }, { token: LanguageService }, { token: i1$2.TranslateService }, { token: UserService }, { token: AccessService }, { token: LoggerService }, { token: ConfigurationService }, { token: UriService }, { token: ImpersonationUserSelectService }, { token: ImpersonationService }, { token: DynamicNavigationRouteProviderService }], target: i0.ɵɵFactoryTarget.Component });
27477
27989
  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" }, ngImport: i0, template: '', isInline: true });
@@ -28083,11 +28595,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
28083
28595
  }]
28084
28596
  }], ctorParameters: function () { return [{ type: FilterRepository }, { type: TaskResourceService }, { type: AllowedNetsServiceFactory }, { type: BaseAllowedNetsService }, { type: LoggerService }]; } });
28085
28597
 
28086
- /**
28087
- * Holds component for dynamic routing resolution of group navigation component resolver component by the {@link RoutingBuilderService}.
28088
- */
28089
- const NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT = new InjectionToken('NaeGroupNavigationComponentResolverComponent');
28090
-
28091
28598
  var UriContentType;
28092
28599
  (function (UriContentType) {
28093
28600
  UriContentType[UriContentType["PROCESS"] = 0] = "PROCESS";
@@ -29982,31 +30489,18 @@ class TaskConst {
29982
30489
  }
29983
30490
  TaskConst.TRANSITION_ID = 'transitionId';
29984
30491
  class AbstractSingleTaskViewComponent extends AbstractViewWithHeadersComponent {
29985
- constructor(taskViewService, activatedRoute, async) {
30492
+ constructor(taskViewService, activatedRoute, baseFilter) {
29986
30493
  super(taskViewService, activatedRoute);
29987
30494
  this.taskViewService = taskViewService;
30495
+ this.baseFilter = baseFilter;
29988
30496
  this.initiallyExpanded = true;
29989
30497
  this.preventCollapse = true;
29990
30498
  this.noTaskPresent = new EventEmitter();
29991
- this.taskPanelData = new ReplaySubject(1);
29992
- this.subRoute = this._activatedRoute.paramMap.subscribe(paramMap => {
29993
- var _a;
29994
- if (!!((_a = paramMap === null || paramMap === void 0 ? void 0 : paramMap['params']) === null || _a === void 0 ? void 0 : _a[TaskConst.TRANSITION_ID])) {
29995
- this.transitionId = paramMap['params'][TaskConst.TRANSITION_ID];
29996
- this.subPanelData = this.taskViewService.tasks$.subscribe(tasks => {
29997
- if (!!tasks && tasks.length > 0) {
29998
- this.taskPanelData.next(this.resolveTransitionTask(tasks));
29999
- }
30000
- else {
30001
- const isLoading = async.transform(this.loading$);
30002
- if (!isLoading) {
30003
- this.taskPanelData.next(undefined);
30004
- this.noTaskPresent.next();
30005
- }
30006
- }
30007
- });
30499
+ this.taskPanelData = this.taskViewService.tasks$.pipe(map(tasks => tasks.find(panelData => this.isTaskMatchingFilter(panelData, baseFilter.filter.getRequestBody())))).pipe(tap(panelData => {
30500
+ if (!!panelData) {
30501
+ panelData.initiallyExpanded = true;
30008
30502
  }
30009
- });
30503
+ }));
30010
30504
  this.loading$ = this.taskViewService.loading$;
30011
30505
  }
30012
30506
  ngOnDestroy() {
@@ -30017,22 +30511,15 @@ class AbstractSingleTaskViewComponent extends AbstractViewWithHeadersComponent {
30017
30511
  if (!!this.subPanelData) {
30018
30512
  this.subPanelData.unsubscribe();
30019
30513
  }
30020
- if (!!this.taskPanelData) {
30021
- this.taskPanelData.complete();
30022
- }
30023
30514
  }
30024
30515
  get task$() {
30025
- return this.taskPanelData.asObservable();
30516
+ return this.taskPanelData;
30026
30517
  }
30027
- resolveTransitionTask(tasks) {
30028
- const transitionTask = tasks.find(t => t.task.transitionId === this.transitionId);
30029
- if (!!transitionTask) {
30030
- transitionTask.initiallyExpanded = transitionTask.task.finishDate === undefined;
30031
- }
30032
- return transitionTask;
30518
+ isTaskMatchingFilter(panelData, taskSearchRequestBody) {
30519
+ return panelData.task.stringId === taskSearchRequestBody.stringId || panelData.task.transitionId === taskSearchRequestBody.transitionId;
30033
30520
  }
30034
30521
  }
30035
- AbstractSingleTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskViewComponent, deps: [{ token: TaskViewService }, { token: i2$3.ActivatedRoute }, { token: i5.AsyncPipe }], target: i0.ɵɵFactoryTarget.Component });
30522
+ AbstractSingleTaskViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskViewComponent, deps: [{ token: TaskViewService }, { token: i2$3.ActivatedRoute }, { token: NAE_BASE_FILTER }], target: i0.ɵɵFactoryTarget.Component });
30036
30523
  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 });
30037
30524
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AbstractSingleTaskViewComponent, decorators: [{
30038
30525
  type: Component,
@@ -30040,7 +30527,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
30040
30527
  selector: 'ncc-abstract-single-task-view',
30041
30528
  template: ''
30042
30529
  }]
30043
- }], ctorParameters: function () { return [{ type: TaskViewService }, { type: i2$3.ActivatedRoute }, { type: i5.AsyncPipe }]; }, propDecorators: { initiallyExpanded: [{
30530
+ }], ctorParameters: function () {
30531
+ return [{ type: TaskViewService }, { type: i2$3.ActivatedRoute }, { type: undefined, decorators: [{
30532
+ type: Inject,
30533
+ args: [NAE_BASE_FILTER]
30534
+ }] }];
30535
+ }, propDecorators: { initiallyExpanded: [{
30044
30536
  type: Input
30045
30537
  }], preventCollapse: [{
30046
30538
  type: Input
@@ -33372,397 +33864,6 @@ class MockProfileService {
33372
33864
  }
33373
33865
  }
33374
33866
 
33375
- class ImportToAdd {
33376
- constructor(className, fileImportPath) {
33377
- this.className = className;
33378
- this.fileImportPath = fileImportPath;
33379
- }
33380
- }
33381
-
33382
- /**
33383
- * @license
33384
- * Copyright Google Inc. All Rights Reserved.
33385
- *
33386
- * Use of this source code is governed by an MIT-style license that can be
33387
- * found in the LICENSE file at https://angular.io/license
33388
- *
33389
- * File copied from: angular_devkit/core/src/utils/strings.ts
33390
- */
33391
- const STRING_DASHERIZE_REGEXP = (/[ _]/g);
33392
- const STRING_DECAMELIZE_REGEXP = (/([a-z\d])([A-Z])/g);
33393
- const STRING_CAMELIZE_REGEXP = (/(-|_|\.|\s)+(.)?/g);
33394
- const STRING_UNDERSCORE_REGEXP_1 = (/([a-z\d])([A-Z]+)/g);
33395
- const STRING_UNDERSCORE_REGEXP_2 = (/-|\s+/g);
33396
- /**
33397
- * Converts a camelized string into all lower case separated by underscores.
33398
- *
33399
- * ```javascript
33400
- * decamelize('innerHTML'); // 'inner_html'
33401
- * decamelize('action_name'); // 'action_name'
33402
- * decamelize('css-class-name'); // 'css-class-name'
33403
- * decamelize('my favorite items'); // 'my favorite items'
33404
- * ```
33405
- * @method decamelize
33406
- * @param str The string to decamelize.
33407
- * @return the decamelized string.
33408
- */
33409
- function decamelize(str) {
33410
- return str.replace(STRING_DECAMELIZE_REGEXP, '$1_$2').toLowerCase();
33411
- }
33412
- /**
33413
- * Replaces underscores, spaces, or camelCase with dashes.
33414
- * ```javascript
33415
- * dasherize('innerHTML'); // 'inner-html'
33416
- * dasherize('action_name'); // 'action-name'
33417
- * dasherize('css-class-name'); // 'css-class-name'
33418
- * dasherize('my favorite items'); // 'my-favorite-items'
33419
- * ```
33420
- * @method dasherize
33421
- * @param str The string to dasherize.
33422
- * @return the dasherized string.
33423
- */
33424
- function dasherize(str) {
33425
- return decamelize(str).replace(STRING_DASHERIZE_REGEXP, '-');
33426
- }
33427
- /**
33428
- * Returns the lowerCamelCase form of a string.
33429
- * ```javascript
33430
- * camelize('innerHTML'); // 'innerHTML'
33431
- * camelize('action_name'); // 'actionName'
33432
- * camelize('css-class-name'); // 'cssClassName'
33433
- * camelize('my favorite items'); // 'myFavoriteItems'
33434
- * camelize('My Favorite Items'); // 'myFavoriteItems'
33435
- * ```
33436
- * @method camelize
33437
- * @param str The string to camelize.
33438
- * @return the camelized string.
33439
- */
33440
- function camelize(str) {
33441
- return str
33442
- .replace(STRING_CAMELIZE_REGEXP, (_match, _separator, chr) => {
33443
- return chr ? chr.toUpperCase() : '';
33444
- })
33445
- .replace(/^([A-Z])/, (match) => match.toLowerCase());
33446
- }
33447
- /**
33448
- * Returns the UpperCamelCase form of a string.
33449
- * ```javascript
33450
- * 'innerHTML'.classify(); // 'InnerHTML'
33451
- * 'action_name'.classify(); // 'ActionName'
33452
- * 'css-class-name'.classify(); // 'CssClassName'
33453
- * 'my favorite items'.classify(); // 'MyFavoriteItems'
33454
- * ```
33455
- * @method classify
33456
- * @param str the string to classify
33457
- * @return the classified string
33458
- */
33459
- function classify(str) {
33460
- return str.split('.').map(part => capitalize(camelize(part))).join('.');
33461
- }
33462
- /**
33463
- * More general than decamelize. Returns the lower\_case\_and\_underscored
33464
- * form of a string.
33465
- * ```javascript
33466
- * 'innerHTML'.underscore(); // 'inner_html'
33467
- * 'action_name'.underscore(); // 'action_name'
33468
- * 'css-class-name'.underscore(); // 'css_class_name'
33469
- * 'my favorite items'.underscore(); // 'my_favorite_items'
33470
- * ```
33471
- * @method underscore
33472
- * @param str The string to underscore.
33473
- * @return the underscored string.
33474
- */
33475
- function underscore(str) {
33476
- return str
33477
- .replace(STRING_UNDERSCORE_REGEXP_1, '$1_$2')
33478
- .replace(STRING_UNDERSCORE_REGEXP_2, '_')
33479
- .toLowerCase();
33480
- }
33481
- /**
33482
- * Returns the Capitalized form of a string
33483
- * ```javascript
33484
- * 'innerHTML'.capitalize() // 'InnerHTML'
33485
- * 'action_name'.capitalize() // 'Action_name'
33486
- * 'css-class-name'.capitalize() // 'Css-class-name'
33487
- * 'my favorite items'.capitalize() // 'My favorite items'
33488
- * ```
33489
- * @method capitalize
33490
- * @param str The string to capitalize.
33491
- * @return The capitalized string.
33492
- */
33493
- function capitalize(str) {
33494
- return str.charAt(0).toUpperCase() + str.substr(1);
33495
- }
33496
- /**
33497
- * Calculate the levenshtein distance of two strings.
33498
- * See https://en.wikipedia.org/wiki/Levenshtein_distance.
33499
- * Based off https://gist.github.com/andrei-m/982927 (for using the faster dynamic programming
33500
- * version).
33501
- *
33502
- * @param a String a.
33503
- * @param b String b.
33504
- * @returns A number that represents the distance between the two strings. The greater the number
33505
- * the more distant the strings are from each others.
33506
- */
33507
- function levenshtein(a, b) {
33508
- if (a.length === 0) {
33509
- return b.length;
33510
- }
33511
- if (b.length === 0) {
33512
- return a.length;
33513
- }
33514
- const matrix = [];
33515
- // increment along the first column of each row
33516
- for (let i = 0; i <= b.length; i++) {
33517
- matrix[i] = [i];
33518
- }
33519
- // increment each column in the first row
33520
- for (let j = 0; j <= a.length; j++) {
33521
- matrix[0][j] = j;
33522
- }
33523
- // Fill in the rest of the matrix
33524
- for (let i = 1; i <= b.length; i++) {
33525
- for (let j = 1; j <= a.length; j++) {
33526
- if (b.charAt(i - 1) === a.charAt(j - 1)) {
33527
- matrix[i][j] = matrix[i - 1][j - 1];
33528
- }
33529
- else {
33530
- matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
33531
- matrix[i][j - 1] + 1, // insertion
33532
- matrix[i - 1][j] + 1);
33533
- }
33534
- }
33535
- }
33536
- return matrix[b.length][a.length];
33537
- }
33538
-
33539
- class ViewClassInfo extends ImportToAdd {
33540
- constructor(path, viewType, customComponentName) {
33541
- super('', '');
33542
- if (!customComponentName) {
33543
- this.prefix = ViewClassInfo.convertPathToClassNamePrefix(path);
33544
- const classSuffix = ViewClassInfo.resolveClassSuffixForView(viewType);
33545
- this.nameWithoutComponent = `${classify(this.prefix)}${classSuffix}`;
33546
- this.fileImportPath = `./views/${path}/${this.prefix}-${dasherize(classSuffix)}.component`;
33547
- }
33548
- else {
33549
- this.prefix = '';
33550
- this.nameWithoutComponent = classify(customComponentName);
33551
- this.fileImportPath = `./views/${path}/${dasherize(customComponentName)}.component`;
33552
- }
33553
- this.className = `${this.nameWithoutComponent}Component`;
33554
- }
33555
- static convertPathToClassNamePrefix(path) {
33556
- const regexDash = /-/g;
33557
- return path.replace(regexDash, '_').replace(/\//g, '-').toLocaleLowerCase();
33558
- }
33559
- static resolveClassSuffixForView(view) {
33560
- switch (view) {
33561
- case 'login':
33562
- return 'Login';
33563
- case 'tabView':
33564
- return 'TabView';
33565
- case 'taskView':
33566
- return 'TaskView';
33567
- case 'caseView':
33568
- return 'CaseView';
33569
- case 'emptyView':
33570
- return 'EmptyView';
33571
- case 'sidenavView':
33572
- return 'SidenavView';
33573
- case 'doubleDrawerView':
33574
- return 'DoubleDrawerView';
33575
- case 'toolbarView':
33576
- return 'ToolbarView';
33577
- case 'sidenavAndToolbarView':
33578
- return 'SidenavAndToolbarView';
33579
- case 'groupView':
33580
- return 'GroupView';
33581
- case 'dashboard':
33582
- return 'Dashboard';
33583
- case 'treeCaseView':
33584
- return 'TreeCaseView';
33585
- case 'workflowView':
33586
- return 'WorkflowView';
33587
- case 'roleAssignmentView':
33588
- return 'RoleAssignmentView';
33589
- case 'ldapRoleAssignmentView':
33590
- return 'LdapRoleAssignmentView';
33591
- default:
33592
- throw new Error(`Unknown view type '${view}'`);
33593
- }
33594
- }
33595
- }
33596
-
33597
- const NAE_ROUTING_CONFIGURATION_PATH = "configPath";
33598
- /**
33599
- * Uses the information from nae.json to construct the application's routing
33600
- */
33601
- class RoutingBuilderService {
33602
- constructor(router, _configService, _viewService, _logger, _dynamicNavigationRouteService, _groupNavigationComponentResolverComponent) {
33603
- this._configService = _configService;
33604
- this._viewService = _viewService;
33605
- this._logger = _logger;
33606
- this._dynamicNavigationRouteService = _dynamicNavigationRouteService;
33607
- this._groupNavigationComponentResolverComponent = _groupNavigationComponentResolverComponent;
33608
- this._groupNavigationRouteGenerated = false;
33609
- router.relativeLinkResolution = 'legacy';
33610
- router.config.splice(0, router.config.length);
33611
- for (const [pathSegment, view] of Object.entries(_configService.get().views)) {
33612
- const route = this.constructRouteObject(view, pathSegment);
33613
- if (route !== undefined) {
33614
- router.config.push(route);
33615
- }
33616
- }
33617
- router.config.push(...this.defaultRoutesRedirects());
33618
- }
33619
- constructRouteObject(view, configPath, ancestors = []) {
33620
- var _a, _b;
33621
- const component = this.resolveComponentClass(view, configPath);
33622
- if (component === undefined) {
33623
- return undefined;
33624
- }
33625
- if (!view.routing) {
33626
- this._logger.warn(`nae.json configuration is invalid. View at path '${configPath}'` +
33627
- ` must define a 'routing' attribute. Skipping this view for routing generation.`);
33628
- return undefined;
33629
- }
33630
- const route = {
33631
- path: view.routing.path,
33632
- data: {
33633
- [NAE_ROUTING_CONFIGURATION_PATH]: configPath
33634
- },
33635
- component
33636
- };
33637
- if (((_a = view === null || view === void 0 ? void 0 : view.layout) === null || _a === void 0 ? void 0 : _a.name) === GroupNavigationConstants.GROUP_NAVIGATION_OUTLET) {
33638
- if (this._groupNavigationRouteGenerated) {
33639
- this._logger.warn(`Multiple groupNavigationOutlets are present in nae.json. Duplicate entry found at path ${configPath}`);
33640
- }
33641
- else {
33642
- this._logger.debug(`GroupNavigationOutlet found in nae.json at path '${configPath}'`);
33643
- }
33644
- const pathNoParams = route.path;
33645
- route.path = `${pathNoParams}/:${GroupNavigationConstants.GROUP_NAVIGATION_ROUTER_PARAM}`;
33646
- route.canActivate = [AuthenticationGuardService];
33647
- const parentPathSegments = ancestors.map(a => a.path);
33648
- parentPathSegments.push(pathNoParams);
33649
- this._dynamicNavigationRouteService.route = parentPathSegments.join('/');
33650
- this._groupNavigationRouteGenerated = true;
33651
- return route;
33652
- }
33653
- if (view.routing.match !== undefined && view.routing.match) {
33654
- route['pathMatch'] = 'full';
33655
- }
33656
- route['canActivate'] = [];
33657
- if (view.access === 'private'
33658
- || view.access.hasOwnProperty('role')
33659
- || view.access.hasOwnProperty('group')
33660
- || view.access.hasOwnProperty('authority')) {
33661
- route['canActivate'].push(AuthenticationGuardService);
33662
- }
33663
- if (view.access.hasOwnProperty('role')) {
33664
- route['canActivate'].push(RoleGuardService);
33665
- }
33666
- if (view.access.hasOwnProperty('authority')) {
33667
- route['canActivate'].push(AuthorityGuardService);
33668
- }
33669
- if (view.access.hasOwnProperty('group')) {
33670
- route['canActivate'].push(GroupGuardService);
33671
- }
33672
- if (!!view.children) {
33673
- route['children'] = [];
33674
- Object.entries(view.children).forEach(([configPathSegment, childView]) => {
33675
- // TODO check if routes are constructed correctly regarding empty route segments
33676
- const childRoute = this.constructRouteObject(childView, `${configPath}/${configPathSegment}`, [...ancestors, route]);
33677
- if (childRoute !== undefined) {
33678
- route['children'].push(childRoute);
33679
- }
33680
- });
33681
- }
33682
- if (((_b = view === null || view === void 0 ? void 0 : view.layout) === null || _b === void 0 ? void 0 : _b.name) === 'tabView') {
33683
- if (!view.children) {
33684
- route['children'] = [];
33685
- }
33686
- route['children'].push({
33687
- path: '**',
33688
- component
33689
- });
33690
- }
33691
- return route;
33692
- }
33693
- resolveComponentClass(view, configPath) {
33694
- let result;
33695
- if (!!view.component) {
33696
- result = this._viewService.resolveNameToClass(view.component.class);
33697
- }
33698
- else if (!!view.layout) {
33699
- result = this.resolveComponentClassFromLayout(view, configPath);
33700
- }
33701
- else {
33702
- this._logger.warn(`nae.json configuration is invalid. View at path '${configPath}'` +
33703
- ` must define either a 'layout' or a 'component' attribute. Skipping this view for routing generation.`);
33704
- return undefined;
33705
- }
33706
- if (result === undefined) {
33707
- this._logger.warn(`Some views from nae.json configuration have not been created in the project.` +
33708
- ` Run create-view schematic to rectify this. Skipping this view for routing generation.`);
33709
- return undefined;
33710
- }
33711
- return result;
33712
- }
33713
- resolveComponentClassFromLayout(view, configPath) {
33714
- if (view.layout.name === GroupNavigationConstants.GROUP_NAVIGATION_OUTLET) {
33715
- return this._groupNavigationComponentResolverComponent;
33716
- }
33717
- const className = RoutingBuilderService.parseClassNameFromView(view, configPath);
33718
- return this._viewService.resolveNameToClass(className);
33719
- }
33720
- static parseClassNameFromView(view, configPath) {
33721
- if (!!view.layout.componentName) {
33722
- return `${classify(view.layout.componentName)}Component`;
33723
- }
33724
- else {
33725
- const classInfo = new ViewClassInfo(configPath, view.layout.name, view.layout.componentName);
33726
- return classInfo.className;
33727
- }
33728
- }
33729
- defaultRoutesRedirects() {
33730
- const result = [];
33731
- const servicesConfig = this._configService.getServicesConfiguration();
33732
- if (!!servicesConfig && !!servicesConfig.routing) {
33733
- if (!!servicesConfig.routing.defaultRedirect) {
33734
- result.push({
33735
- path: '',
33736
- redirectTo: servicesConfig.routing.defaultRedirect,
33737
- pathMatch: 'full'
33738
- });
33739
- }
33740
- if (!!servicesConfig.routing.wildcardRedirect) {
33741
- result.push({
33742
- path: '**',
33743
- redirectTo: servicesConfig.routing.wildcardRedirect
33744
- });
33745
- }
33746
- }
33747
- return result;
33748
- }
33749
- }
33750
- RoutingBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, deps: [{ token: i2$3.Router }, { token: ConfigurationService }, { token: ViewService }, { token: LoggerService }, { token: DynamicNavigationRouteProviderService }, { token: NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
33751
- RoutingBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, providedIn: 'root' });
33752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RoutingBuilderService, decorators: [{
33753
- type: Injectable,
33754
- args: [{
33755
- providedIn: 'root'
33756
- }]
33757
- }], ctorParameters: function () {
33758
- return [{ type: i2$3.Router }, { type: ConfigurationService }, { type: ViewService }, { type: LoggerService }, { type: DynamicNavigationRouteProviderService }, { type: i0.Type, decorators: [{
33759
- type: Optional
33760
- }, {
33761
- type: Inject,
33762
- args: [NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT]
33763
- }] }];
33764
- } });
33765
-
33766
33867
  /* SERVICES */
33767
33868
 
33768
33869
  /**
@@ -33772,7 +33873,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
33772
33873
  * If you want to use an unlimited number of calls use {@link UnlimitedTaskContentService} instead.
33773
33874
  */
33774
33875
  class SingleTaskContentService extends TaskContentService {
33775
- constructor(_fieldConverterService, _snackBarService, _translate, _logger) {
33876
+ constructor(_fieldConverterService, _snackBarService, _translate, _logger, _injector) {
33776
33877
  super(_fieldConverterService, _snackBarService, _translate, _logger);
33777
33878
  this._task$ = new ReplaySubject(1);
33778
33879
  }
@@ -33814,11 +33915,11 @@ class SingleTaskContentService extends TaskContentService {
33814
33915
  }
33815
33916
  }
33816
33917
  }
33817
- SingleTaskContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SingleTaskContentService, deps: [{ token: FieldConverterService }, { token: SnackBarService }, { token: i1$2.TranslateService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
33918
+ SingleTaskContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SingleTaskContentService, deps: [{ token: FieldConverterService }, { token: SnackBarService }, { token: i1$2.TranslateService }, { token: LoggerService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
33818
33919
  SingleTaskContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SingleTaskContentService });
33819
33920
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SingleTaskContentService, decorators: [{
33820
33921
  type: Injectable
33821
- }], ctorParameters: function () { return [{ type: FieldConverterService }, { type: SnackBarService }, { type: i1$2.TranslateService }, { type: LoggerService }]; } });
33922
+ }], ctorParameters: function () { return [{ type: FieldConverterService }, { type: SnackBarService }, { type: i1$2.TranslateService }, { type: LoggerService }, { type: i0.Injector }]; } });
33822
33923
 
33823
33924
  /**
33824
33925
  * Provides an implementation of the {@link TaskContentService} abstract class that allows
@@ -33827,7 +33928,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
33827
33928
  * If you want to limit the number of calls to 1 use {@link SingleTaskContentService} instead.
33828
33929
  */
33829
33930
  class UnlimitedTaskContentService extends TaskContentService {
33830
- constructor(_fieldConverterService, _snackBarService, _translate, _logger) {
33931
+ constructor(_fieldConverterService, _snackBarService, _translate, _logger, _injector) {
33831
33932
  super(_fieldConverterService, _snackBarService, _translate, _logger);
33832
33933
  this._task$ = new ReplaySubject(1);
33833
33934
  }
@@ -33861,11 +33962,11 @@ class UnlimitedTaskContentService extends TaskContentService {
33861
33962
  this._task$.complete();
33862
33963
  }
33863
33964
  }
33864
- UnlimitedTaskContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UnlimitedTaskContentService, deps: [{ token: FieldConverterService }, { token: SnackBarService }, { token: i1$2.TranslateService }, { token: LoggerService }], target: i0.ɵɵFactoryTarget.Injectable });
33965
+ UnlimitedTaskContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UnlimitedTaskContentService, deps: [{ token: FieldConverterService }, { token: SnackBarService }, { token: i1$2.TranslateService }, { token: LoggerService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
33865
33966
  UnlimitedTaskContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UnlimitedTaskContentService });
33866
33967
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UnlimitedTaskContentService, decorators: [{
33867
33968
  type: Injectable
33868
- }], ctorParameters: function () { return [{ type: FieldConverterService }, { type: SnackBarService }, { type: i1$2.TranslateService }, { type: LoggerService }]; } });
33969
+ }], ctorParameters: function () { return [{ type: FieldConverterService }, { type: SnackBarService }, { type: i1$2.TranslateService }, { type: LoggerService }, { type: i0.Injector }]; } });
33869
33970
 
33870
33971
  /**
33871
33972
  * Contains types of elements that are used to construct task content, but are not data fields themselves.
@@ -35076,13 +35177,24 @@ const getNetAndCreateCase = (router, route, process, caseResourceService, snackB
35076
35177
  });
35077
35178
  };
35078
35179
 
35180
+ const CASE_ID = "caseId";
35181
+ const PETRI_NET_ID = "petriNetId";
35182
+ const TRANSITION_ID = "transitionId";
35079
35183
  const publicBaseFilterFactory = (router, route, process, caseResourceService, snackBarService, translate, publicTaskLoadingService) => {
35080
- if (route.snapshot.paramMap.get('caseId') === null && route.snapshot.paramMap.get('petriNetId') !== null) {
35184
+ const caseId = route.snapshot.paramMap.get(CASE_ID);
35185
+ const petriNetId = route.snapshot.paramMap.get(PETRI_NET_ID);
35186
+ const transId = route.snapshot.paramMap.get(TRANSITION_ID);
35187
+ if (caseId === null && petriNetId !== null) {
35081
35188
  getNetAndCreateCase(router, route, process, caseResourceService, snackBarService, translate, publicTaskLoadingService);
35082
35189
  }
35083
- else if (route.snapshot.paramMap.get('caseId') !== null) {
35190
+ else if (caseId !== null && transId !== null) {
35084
35191
  return {
35085
- filter: new SimpleFilter('', FilterType.TASK, { case: { id: route.snapshot.paramMap.get('caseId') } })
35192
+ filter: new SimpleFilter('', FilterType.TASK, { case: { id: caseId }, transitionId: transId })
35193
+ };
35194
+ }
35195
+ else if (caseId !== null) {
35196
+ return {
35197
+ filter: new SimpleFilter('', FilterType.TASK, { case: { id: caseId } })
35086
35198
  };
35087
35199
  }
35088
35200
  return {
@@ -35169,6 +35281,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
35169
35281
 
35170
35282
  /* MODELS */
35171
35283
 
35284
+ const redirectAction = {
35285
+ call: (injector, frontAction) => {
35286
+ const router = injector.get(Router);
35287
+ router.navigate([frontAction.args[0]]);
35288
+ }
35289
+ };
35290
+
35291
+ const validateTaskAction = {
35292
+ call: (injector, frontAction) => {
35293
+ const taskContentService = injector.get(TaskContentService);
35294
+ taskContentService.validateTaskData(frontAction.args[0]);
35295
+ }
35296
+ };
35297
+ const reloadTaskAction = {
35298
+ call: (injector, frontAction) => {
35299
+ const taskDataService = injector.get(TaskDataService);
35300
+ taskDataService.initializeTaskDataFields(new AfterAction(), true);
35301
+ }
35302
+ };
35303
+
35304
+ class FrontActionModule {
35305
+ constructor(frontActionsRegistry) {
35306
+ frontActionsRegistry.register('redirect', redirectAction);
35307
+ frontActionsRegistry.register('validate', validateTaskAction);
35308
+ frontActionsRegistry.register('reloadTask', reloadTaskAction);
35309
+ }
35310
+ }
35311
+ FrontActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionModule, deps: [{ token: FrontActionRegistryService }], target: i0.ɵɵFactoryTarget.NgModule });
35312
+ FrontActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionModule, imports: [CommonModule] });
35313
+ FrontActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionModule, imports: [[
35314
+ CommonModule
35315
+ ]] });
35316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FrontActionModule, decorators: [{
35317
+ type: NgModule,
35318
+ args: [{
35319
+ declarations: [],
35320
+ imports: [
35321
+ CommonModule
35322
+ ]
35323
+ }]
35324
+ }], ctorParameters: function () { return [{ type: FrontActionRegistryService }]; } });
35325
+
35172
35326
  /*
35173
35327
  * Public API Surface of netgrif-components-core
35174
35328
  */
@@ -35177,5 +35331,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
35177
35331
  * Generated bundle index. Do not edit.
35178
35332
  */
35179
35333
 
35180
- 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, 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, AbstractMultichoiceFieldComponent, AbstractMultichoiceListFieldComponent, AbstractMultichoiceSelectFieldComponent, AbstractNavigationDoubleDrawerComponent, AbstractNavigationDrawerComponent, AbstractNavigationRailComponent, AbstractNavigationTreeComponent, AbstractNewCaseComponent, 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, 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, BasicAuthenticationService, BooleanField, BooleanFieldValidation, BooleanOperator, ButtonField, ButtonFieldValidation, CONFIRM_PASSWORD, CallChainService, CancelTaskService, CaseAuthor, CaseCreationDate, CaseCreationDateTime, CaseDataset, CaseHeaderService, CaseListFontColorService, CaseMetaField, CaseNetAttributeAutocompleteCategory, CaseProcess, CaseRefField, CaseResourceService, 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, GenericSnackBarComponent, GroupGuardService, GroupNavigationComponentResolverService, GroupNavigationConstants, HeaderColumn, HeaderColumnType, HeaderMode, HeaderSearchService, HeaderType, HttpLoaderFactory, I18nField, I18nFieldValidation, ImpersonationService, ImpersonationUserListService, ImpersonationUserResourceService, ImpersonationUserSelectService, InRange, InRangeDate, IncrementingCounter, IsEmptyPipe, IsNonEmptyPipe, IsNull, LanguageIconsService, LanguageService, LdapGroupListService, LdapGroupResourceService, LessThan, LessThanDate, LessThanDateTime, LetContext, LetDirective, Like, LoadingEmitter, LoadingWithFilterEmitter, LocalStorageLogPublisher, LogEntry, LogLevel, LogPublisher, LogPublisherService, LoggerService, MENU_IDENTIFIERS, MaterialAppearance, MaterialModule, 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_SEARCH, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_MIN_PASSWORD_LENGTH, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_FILES_UPLOAD_COMPONENT, NAE_FILES_UPLOAD_DIALOG_COMPONENT, NAE_FILTERS_FILTER, NAE_FILTER_FIELD, NAE_FILTER_TEXT, NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, NAE_INFORM_ABOUT_INVALID_DATA, NAE_LOAD_FILTER_COMPONENT, NAE_LOAD_FILTER_DIALOG_COMPONENT, NAE_MIN_PASSWORD_LENGTH, 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_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, NextGroupService, NoConfigurationAutocompleteCategory, NoConfigurationCategory, NoConfigurationUserAutocompleteCategory, NotEquals, NotEqualsDate, NotEqualsDateTime, NullAuthenticationService, NullTaskOperations, NumberField, NumberFieldValidation, OLD_PASSWORD, OpenedTab, Operator, OperatorResolverService, OperatorService, OperatorTemplatePart, OperatorTemplatePartType, Operators, OrganizationListService, OverflowService, PASSWORD, PUBLISHERS, PageLoadRequestContext, PaginationParams, PaginationSort, PaperViewService, PermissionService, PermissionType, PetriNetResourceService, Predicate, PredicateWithGenerator, ProcessList, ProcessService, ProfileModule, ProfileService, ProgressType, PromptDialogComponent, PromptDialogModule, PublicCaseResourceService, PublicPetriNetResourceService, PublicProcessService, PublicTaskLoadingService, PublicTaskResourceService, PublicUrlResolverService, Query, QueuedEvent, 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, Subgrid, SubjectTaskOperations, Substring, SuccessSnackBarComponent, TabLabelStream, TabView, TabbedVirtualScrollComponent, TaskAssignee, TaskConst, TaskContentService, TaskDataService, TaskElementType, TaskEndpoint, TaskEvent, TaskEventService, TaskHandlingService, TaskHeaderService, TaskMetaField, TaskNetAttributeAutocompleteCategory, TaskProcess, TaskRefComponents, TaskRefDashboardConstants, TaskRefDashboardTileConstants, TaskRefField, TaskRequestStateService, TaskResourceService, 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, refreshTree, tabbedAllowedNetsServiceFactory, tabbedTaskViewConfigurationFactory, toMoment };
35334
+ 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, 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, AbstractMultichoiceFieldComponent, AbstractMultichoiceListFieldComponent, AbstractMultichoiceSelectFieldComponent, AbstractNavigationDoubleDrawerComponent, AbstractNavigationDrawerComponent, AbstractNavigationRailComponent, AbstractNavigationTreeComponent, AbstractNewCaseComponent, 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, 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, BasicAuthenticationService, BooleanField, BooleanFieldValidation, BooleanOperator, ButtonField, ButtonFieldValidation, CASE_ID, CONFIRM_PASSWORD, CallChainService, CancelTaskService, CaseAuthor, CaseCreationDate, CaseCreationDateTime, CaseDataset, CaseHeaderService, CaseListFontColorService, CaseMetaField, CaseNetAttributeAutocompleteCategory, CaseProcess, CaseRefField, CaseResourceService, 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, LanguageIconsService, LanguageService, LdapGroupListService, LdapGroupResourceService, LessThan, LessThanDate, LessThanDateTime, LetContext, LetDirective, Like, LoadingEmitter, LoadingWithFilterEmitter, LocalStorageLogPublisher, LogEntry, LogLevel, LogPublisher, LogPublisherService, LoggerService, MENU_IDENTIFIERS, MaterialAppearance, MaterialModule, 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_SEARCH, NAE_DEFAULT_CASE_SEARCH_CATEGORIES, NAE_DEFAULT_HEADERS, NAE_DEFAULT_MIN_PASSWORD_LENGTH, NAE_DEFAULT_TASK_SEARCH_CATEGORIES, NAE_FILES_UPLOAD_COMPONENT, NAE_FILES_UPLOAD_DIALOG_COMPONENT, NAE_FILTERS_FILTER, NAE_FILTER_FIELD, NAE_FILTER_TEXT, NAE_GROUP_NAVIGATION_COMPONENT_RESOLVER_COMPONENT, NAE_INFORM_ABOUT_INVALID_DATA, NAE_LOAD_FILTER_COMPONENT, NAE_LOAD_FILTER_DIALOG_COMPONENT, NAE_MIN_PASSWORD_LENGTH, 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, 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, Predicate, PredicateWithGenerator, ProcessList, ProcessService, ProfileModule, ProfileService, ProgressType, PromptDialogComponent, PromptDialogModule, PublicCaseResourceService, PublicPetriNetResourceService, PublicProcessService, PublicTaskLoadingService, PublicTaskResourceService, PublicUrlResolverService, Query, QueuedEvent, 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, 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, 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 };
35181
35335
  //# sourceMappingURL=netgrif-components-core.mjs.map