@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.
- package/esm2020/lib/actions/front-action.module.mjs +28 -0
- package/esm2020/lib/actions/model/front-action-definition.mjs +2 -0
- package/esm2020/lib/actions/model/router-action-definitions.mjs +8 -0
- package/esm2020/lib/actions/model/task-action-definitions.mjs +16 -0
- package/esm2020/lib/actions/public-api.mjs +6 -0
- package/esm2020/lib/actions/services/front-action.service.mjs +27 -0
- package/esm2020/lib/data-fields/data-fields.module.mjs +1 -1
- package/esm2020/lib/data-fields/models/changed-fields.mjs +1 -1
- package/esm2020/lib/event/model/event-constants.mjs +5 -1
- package/esm2020/lib/event/services/event.service.mjs +23 -1
- package/esm2020/lib/filter/user-filters.service.mjs +1 -1
- package/esm2020/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +45 -1
- package/esm2020/lib/panel/task-panel/abstract-task-panel.component.mjs +5 -2
- package/esm2020/lib/panel/task-panel-single/abstract-single-task.component.mjs +11 -5
- package/esm2020/lib/public/factories/public-search-factory.mjs +15 -4
- package/esm2020/lib/registry/front-action-registry.service.mjs +34 -0
- package/esm2020/lib/registry/public-api.mjs +2 -1
- package/esm2020/lib/resources/interface/event-outcome.mjs +1 -1
- package/esm2020/lib/side-menu/content-components/injection-tokens.mjs +2 -1
- package/esm2020/lib/side-menu/content-components/public-api.mjs +2 -1
- package/esm2020/lib/side-menu/content-components/task-view/model/task-view-injection-data.mjs +2 -0
- package/esm2020/lib/task/services/task-data.service.mjs +11 -9
- package/esm2020/lib/task-content/services/single-task-content.service.mjs +4 -4
- package/esm2020/lib/task-content/services/task-content.service.mjs +6 -21
- package/esm2020/lib/task-content/services/unlimited-task-content.service.mjs +4 -4
- package/esm2020/lib/view/task-view/abstract-single-task-view.component.mjs +18 -34
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/netgrif-components-core.mjs +623 -469
- package/fesm2015/netgrif-components-core.mjs.map +1 -1
- package/fesm2020/netgrif-components-core.mjs +623 -465
- package/fesm2020/netgrif-components-core.mjs.map +1 -1
- package/lib/actions/front-action.module.d.ts +9 -0
- package/lib/actions/model/front-action-definition.d.ts +5 -0
- package/lib/actions/model/router-action-definitions.d.ts +2 -0
- package/lib/actions/model/task-action-definitions.d.ts +3 -0
- package/lib/actions/public-api.d.ts +5 -0
- package/lib/actions/services/front-action.service.d.ts +15 -0
- package/lib/data-fields/models/changed-fields.d.ts +7 -6
- package/lib/event/model/event-constants.d.ts +5 -1
- package/lib/event/services/event.service.d.ts +3 -0
- package/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.d.ts +12 -0
- package/lib/panel/task-panel/abstract-task-panel.component.d.ts +2 -1
- package/lib/panel/task-panel-single/abstract-single-task.component.d.ts +5 -3
- package/lib/public/factories/public-search-factory.d.ts +3 -0
- package/lib/registry/front-action-registry.service.d.ts +13 -0
- package/lib/registry/public-api.d.ts +1 -0
- package/lib/resources/interface/event-outcome.d.ts +5 -0
- package/lib/side-menu/content-components/injection-tokens.d.ts +1 -0
- package/lib/side-menu/content-components/public-api.d.ts +1 -0
- package/lib/side-menu/content-components/task-view/model/task-view-injection-data.d.ts +4 -0
- package/lib/task/services/task-data.service.d.ts +4 -2
- package/lib/task-content/services/single-task-content.service.d.ts +2 -2
- package/lib/task-content/services/task-content.service.d.ts +6 -16
- package/lib/task-content/services/unlimited-task-content.service.d.ts +2 -2
- package/lib/view/task-view/abstract-single-task-view.component.d.ts +6 -5
- package/package.json +1 -1
- 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.
|
|
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(
|
|
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,
|
|
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 =
|
|
29992
|
-
|
|
29993
|
-
|
|
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
|
|
30516
|
+
return this.taskPanelData;
|
|
30026
30517
|
}
|
|
30027
|
-
|
|
30028
|
-
|
|
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:
|
|
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 () {
|
|
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
|
-
|
|
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 (
|
|
35190
|
+
else if (caseId !== null && transId !== null) {
|
|
35084
35191
|
return {
|
|
35085
|
-
filter: new SimpleFilter('', FilterType.TASK, { case: { id:
|
|
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
|