@netgrif/components-core 7.0.0-beta.1 → 7.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/assets/i18n/de.json +1 -0
- package/esm2022/assets/i18n/en.json +1 -0
- package/esm2022/assets/i18n/sk.json +1 -0
- package/esm2022/lib/data-fields/enumeration-field/enumeration-caseref-field/abstract-enumeration-caseref-field.component.mjs +3 -3
- package/esm2022/lib/data-fields/file-field/file-default-field/abstract-file-default-field.component.mjs +2 -2
- package/esm2022/lib/data-fields/file-list-field/file-list-default-field/abstract-file-list-default-field.component.mjs +2 -2
- package/esm2022/lib/data-fields/models/abstract-file-field-default-component.mjs +9 -1
- package/esm2022/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.mjs +4 -4
- package/esm2022/lib/navigation/model/uri-resource.mjs +1 -1
- package/esm2022/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +11 -11
- package/esm2022/lib/navigation/service/uri.service.mjs +10 -10
- package/esm2022/lib/resources/engine-endpoint/public/public-task-resource.service.mjs +2 -2
- package/esm2022/lib/side-menu/content-components/import-net/abstract-import-net.component.mjs +2 -2
- package/esm2022/lib/task-content/services/task-content.service.mjs +14 -48
- package/esm2022/lib/user/services/user.service.mjs +11 -4
- package/esm2022/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.mjs +3 -1
- package/esm2022/lib/view/case-view/service/case-view-service.mjs +23 -2
- package/fesm2022/netgrif-components-core.mjs +86 -79
- package/fesm2022/netgrif-components-core.mjs.map +1 -1
- package/lib/data-fields/enumeration-field/enumeration-caseref-field/abstract-enumeration-caseref-field.component.d.ts +1 -1
- package/lib/data-fields/models/abstract-file-field-default-component.d.ts +1 -0
- package/lib/navigation/model/uri-resource.d.ts +1 -2
- package/lib/task-content/services/task-content.service.d.ts +2 -4
- package/lib/user/services/user.service.d.ts +3 -1
- package/lib/view/case-view/service/case-view-service.d.ts +2 -0
- package/package.json +1 -1
- package/src/assets/i18n/de.json +1 -0
- package/src/assets/i18n/en.json +1 -0
- package/src/assets/i18n/sk.json +1 -0
|
@@ -1300,6 +1300,7 @@ var en = {
|
|
|
1300
1300
|
noNets: "No allowed Nets",
|
|
1301
1301
|
createCase: "Successful create new case",
|
|
1302
1302
|
defaultCaseName: "with default case name",
|
|
1303
|
+
errorCreate: "Error while creating case ",
|
|
1303
1304
|
createCaseError: "A new case was created, but an error occurred while executing actions"
|
|
1304
1305
|
},
|
|
1305
1306
|
user: {
|
|
@@ -1837,6 +1838,7 @@ var sk = {
|
|
|
1837
1838
|
noNets: "Žiadne povolené siete",
|
|
1838
1839
|
createCase: "Úspešne vytvorený nový prípad",
|
|
1839
1840
|
defaultCaseName: "s prednastaveným názvom prípadu",
|
|
1841
|
+
errorCreate: "Chyba pri vytváraní prípadu ",
|
|
1840
1842
|
createCaseError: "Nový prípad vytvorený, nastala však chyba pri vykonávaní akcií"
|
|
1841
1843
|
},
|
|
1842
1844
|
user: {
|
|
@@ -2374,6 +2376,7 @@ var de = {
|
|
|
2374
2376
|
noNets: "Es gibt keine erlaubte Netze",
|
|
2375
2377
|
createCase: "Neuen Fall würde erfolgreich erzeugt",
|
|
2376
2378
|
defaultCaseName: "mit einem Standardfallnamen",
|
|
2379
|
+
errorCreate: "Fehler beim Erstellen des Falles ",
|
|
2377
2380
|
createCaseError: "Neuer Fall wurde erstellt, aber beim Ausführen von Aktionen ist ein Fehler aufgetreten"
|
|
2378
2381
|
},
|
|
2379
2382
|
user: {
|
|
@@ -3317,6 +3320,7 @@ class UserService {
|
|
|
3317
3320
|
_subAuth;
|
|
3318
3321
|
_subAnonym;
|
|
3319
3322
|
_publicLoadCalled;
|
|
3323
|
+
GLOBAL_ROLE_PREFIX = 'global_';
|
|
3320
3324
|
constructor(_authService, _userResource, _userTransform, _log, _session, _anonymousService) {
|
|
3321
3325
|
this._authService = _authService;
|
|
3322
3326
|
this._userResource = _userResource;
|
|
@@ -3404,16 +3408,22 @@ class UserService {
|
|
|
3404
3408
|
return user.roles.some(r => r.stringId === roleStringId);
|
|
3405
3409
|
}
|
|
3406
3410
|
/**
|
|
3407
|
-
* Checks whether the user has role with the specified identifier in a process with the specified identifier (any version)
|
|
3411
|
+
* Checks whether the user has a role with the specified identifier in a process with the specified identifier (any version),
|
|
3412
|
+
* or if the role is global (with prefix 'global_').
|
|
3408
3413
|
* @param roleIdentifier identifier (import ID) of the role we want to check
|
|
3409
3414
|
* @param netIdentifier identifier (import ID) of the process the role is defined in
|
|
3410
3415
|
*/
|
|
3411
3416
|
hasRoleByIdentifier(roleIdentifier, netIdentifier) {
|
|
3412
3417
|
const user = this._user.getSelfOrImpersonated();
|
|
3413
|
-
if (!roleIdentifier || !
|
|
3418
|
+
if (!roleIdentifier || !user.roles) {
|
|
3414
3419
|
return false;
|
|
3415
3420
|
}
|
|
3416
|
-
return user.roles.some(r =>
|
|
3421
|
+
return user.roles.some(r => {
|
|
3422
|
+
const matchesRole = r.importId === roleIdentifier;
|
|
3423
|
+
const isGlobalRole = r.importId.startsWith(this.GLOBAL_ROLE_PREFIX);
|
|
3424
|
+
const matchesNet = r.netImportId === netIdentifier;
|
|
3425
|
+
return matchesRole && (isGlobalRole || matchesNet);
|
|
3426
|
+
});
|
|
3417
3427
|
}
|
|
3418
3428
|
/**
|
|
3419
3429
|
* Checks whether the user has role with the specified name in a process with the specified identifier (any version)
|
|
@@ -6462,12 +6472,12 @@ class AbstractEnumerationCaseRefComponent extends AbstractCaseRefBaseFieldCompon
|
|
|
6462
6472
|
this._subComp.unsubscribe();
|
|
6463
6473
|
}
|
|
6464
6474
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractEnumerationCaseRefComponent, deps: [{ token: i0.Injector }, { token: i0.Type }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
6465
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractEnumerationCaseRefComponent, selector: "ncc-abstract-case-ref-default", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
6475
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractEnumerationCaseRefComponent, selector: "ncc-abstract-enumeration-case-ref-default", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
6466
6476
|
}
|
|
6467
6477
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractEnumerationCaseRefComponent, decorators: [{
|
|
6468
6478
|
type: Component,
|
|
6469
6479
|
args: [{
|
|
6470
|
-
selector: 'ncc-abstract-case-ref-default',
|
|
6480
|
+
selector: 'ncc-abstract-enumeration-case-ref-default',
|
|
6471
6481
|
template: ''
|
|
6472
6482
|
}]
|
|
6473
6483
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.Type }, { type: undefined, decorators: [{
|
|
@@ -6693,6 +6703,14 @@ class AbstractFileFieldDefaultComponent extends AbstractBaseDataFieldComponent {
|
|
|
6693
6703
|
resolveParentTaskId() {
|
|
6694
6704
|
return !!this.dataField.parentTaskId ? this.dataField.parentTaskId : this.taskId;
|
|
6695
6705
|
}
|
|
6706
|
+
resolveMaxSizeMessage() {
|
|
6707
|
+
if (this.dataField?.component?.properties?.maxSizeMessage) {
|
|
6708
|
+
this._snackbar.openErrorSnackBar(this._translate.instant(this.dataField?.component?.properties?.maxSizeMessage));
|
|
6709
|
+
}
|
|
6710
|
+
else {
|
|
6711
|
+
this._snackbar.openErrorSnackBar(this._translate.instant('dataField.snackBar.maxFilesSizeExceeded') + this.dataField.maxUploadSizeInBytes * 0.000001 + 'MB');
|
|
6712
|
+
}
|
|
6713
|
+
}
|
|
6696
6714
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractFileFieldDefaultComponent, deps: [{ token: LoggerService }, { token: SnackBarService }, { token: i1$2.TranslateService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
6697
6715
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractFileFieldDefaultComponent, selector: "ncc-abstract-file-field-default-component", inputs: { taskId: "taskId" }, viewQueries: [{ propertyName: "fileUploadEl", first: true, predicate: ["fileUploadInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
6698
6716
|
}
|
|
@@ -8341,7 +8359,7 @@ class AbstractFileDefaultFieldComponent extends AbstractFileFieldDefaultComponen
|
|
|
8341
8359
|
if (this.dataField.maxUploadSizeInBytes &&
|
|
8342
8360
|
this.dataField.maxUploadSizeInBytes < this.fileUploadEl.nativeElement.files.item(0).size) {
|
|
8343
8361
|
this._log.error('File cannot be uploaded. Maximum size of file exceeded.');
|
|
8344
|
-
this.
|
|
8362
|
+
this.resolveMaxSizeMessage();
|
|
8345
8363
|
this.fileUploadEl.nativeElement.value = '';
|
|
8346
8364
|
return;
|
|
8347
8365
|
}
|
|
@@ -8774,7 +8792,7 @@ class AbstractFileListDefaultFieldComponent extends AbstractFileFieldDefaultComp
|
|
|
8774
8792
|
if (this.dataField.maxUploadSizeInBytes &&
|
|
8775
8793
|
this.dataField.maxUploadSizeInBytes < sum) {
|
|
8776
8794
|
this._log.error('Files cannot be uploaded. Maximum size of files exceeded.');
|
|
8777
|
-
this.
|
|
8795
|
+
this.resolveMaxSizeMessage();
|
|
8778
8796
|
this.fileUploadEl.nativeElement.value = '';
|
|
8779
8797
|
return;
|
|
8780
8798
|
}
|
|
@@ -16222,19 +16240,18 @@ class TaskContentService {
|
|
|
16222
16240
|
if (!this._task || !this._task.dataGroups) {
|
|
16223
16241
|
return;
|
|
16224
16242
|
}
|
|
16225
|
-
// todo actions owner zbytočný?
|
|
16226
16243
|
const frontendActions = chFields.taskId === this.task.stringId && chFields[TaskContentService.FRONTEND_ACTIONS_KEY];
|
|
16227
16244
|
Object.keys(chFields).forEach(changedField => {
|
|
16228
|
-
if (this.isFieldInTask(chFields.taskId, changedField)) {
|
|
16245
|
+
if (chFields.taskId === this._task.stringId && this.isFieldInTask(chFields.taskId, changedField)) {
|
|
16229
16246
|
this.updateField(chFields, this.taskFieldsIndex[chFields.taskId].fields[changedField], frontendActions);
|
|
16230
16247
|
}
|
|
16231
|
-
else if (!!this.getReferencedTaskId(changedField)) {
|
|
16232
|
-
this.
|
|
16248
|
+
else if (!!this.getReferencedTaskId(changedField, chFields)) {
|
|
16249
|
+
this.updateField(chFields, this.taskFieldsIndex[this.getReferencedTaskId(changedField, chFields)].fields[changedField], frontendActions, true);
|
|
16233
16250
|
}
|
|
16234
16251
|
});
|
|
16235
16252
|
this.$shouldCreate.next(this._task.dataGroups);
|
|
16236
16253
|
}
|
|
16237
|
-
updateField(chFields, field, frontendActions) {
|
|
16254
|
+
updateField(chFields, field, frontendActions, referenced = false) {
|
|
16238
16255
|
if (this._fieldConverterService.resolveType(field) === FieldTypeResource.TASK_REF) {
|
|
16239
16256
|
this._taskDataReloadRequest$.next(frontendActions ? frontendActions : undefined);
|
|
16240
16257
|
return;
|
|
@@ -16249,15 +16266,15 @@ class TaskContentService {
|
|
|
16249
16266
|
field.valueWithoutChange(this._fieldConverterService.formatValueFromBackend(field, updatedField[key]));
|
|
16250
16267
|
break;
|
|
16251
16268
|
case 'behavior':
|
|
16252
|
-
if (updatedField.behavior[this._task.transitionId]) {
|
|
16253
|
-
// TODO NGSD-489 fix behavior resolution
|
|
16269
|
+
if (!referenced && updatedField.behavior[this._task.transitionId]) {
|
|
16254
16270
|
field.behavior = updatedField.behavior[this._task.transitionId];
|
|
16255
16271
|
}
|
|
16256
|
-
else {
|
|
16257
|
-
const
|
|
16272
|
+
else if (referenced) {
|
|
16273
|
+
const taskId = this.getReferencedTaskId(field.stringId, chFields);
|
|
16274
|
+
const taskRef = this.findTaskRefId(taskId, this.taskFieldsIndex[this._task.stringId].fields);
|
|
16275
|
+
const transitionId = this.taskFieldsIndex[taskId].transitionId;
|
|
16258
16276
|
if (!!transitionId && transitionId !== '' && updatedField.behavior[transitionId])
|
|
16259
|
-
field.behavior = updatedField.behavior[transitionId];
|
|
16260
|
-
break;
|
|
16277
|
+
field.behavior = taskRef.behavior.editable ? updatedField.behavior[transitionId] : taskRef.behavior;
|
|
16261
16278
|
}
|
|
16262
16279
|
break;
|
|
16263
16280
|
case 'choices':
|
|
@@ -16295,49 +16312,16 @@ class TaskContentService {
|
|
|
16295
16312
|
field.update();
|
|
16296
16313
|
});
|
|
16297
16314
|
}
|
|
16298
|
-
updateReferencedField(chFields, field, frontendActions) {
|
|
16299
|
-
if (this._fieldConverterService.resolveType(field) === FieldTypeResource.TASK_REF) {
|
|
16300
|
-
this._taskDataReloadRequest$.next(frontendActions ? frontendActions : undefined);
|
|
16301
|
-
return;
|
|
16302
|
-
}
|
|
16303
|
-
const updatedField = chFields[field.stringId];
|
|
16304
|
-
Object.keys(updatedField).forEach(key => {
|
|
16305
|
-
switch (key) {
|
|
16306
|
-
case 'behavior': {
|
|
16307
|
-
const taskId = this.getReferencedTaskId(field.stringId);
|
|
16308
|
-
const taskRef = this.findTaskRefId(taskId, this.taskFieldsIndex[this._task.stringId].fields);
|
|
16309
|
-
const transitionId = this.taskFieldsIndex[taskId].transitionId;
|
|
16310
|
-
if (!!transitionId && transitionId !== '' && updatedField.behavior[transitionId])
|
|
16311
|
-
field.behavior = taskRef.behavior.editable ? updatedField.behavior[transitionId] : taskRef.behavior;
|
|
16312
|
-
break;
|
|
16313
|
-
}
|
|
16314
|
-
case 'value':
|
|
16315
|
-
field.valueWithoutChange(this._fieldConverterService.formatValueFromBackend(field, updatedField[key]));
|
|
16316
|
-
break;
|
|
16317
|
-
default:
|
|
16318
|
-
field[key] = updatedField[key];
|
|
16319
|
-
}
|
|
16320
|
-
field.update();
|
|
16321
|
-
});
|
|
16322
|
-
}
|
|
16323
16315
|
isFieldInTask(taskId, changedField) {
|
|
16324
16316
|
return !!taskId
|
|
16325
16317
|
&& !!this.taskFieldsIndex[taskId]
|
|
16326
16318
|
&& !!this.taskFieldsIndex[taskId].fields
|
|
16327
16319
|
&& !!this.taskFieldsIndex[taskId].fields[changedField];
|
|
16328
16320
|
}
|
|
16329
|
-
getReferencedTaskId(changedField) {
|
|
16321
|
+
getReferencedTaskId(changedField, chFields) {
|
|
16330
16322
|
return !!this.taskFieldsIndex ?
|
|
16331
|
-
Object.keys(this.taskFieldsIndex).find(taskId => taskId !== this.task.stringId && Object.keys(this.taskFieldsIndex[taskId].fields).includes(changedField))
|
|
16332
|
-
|
|
16333
|
-
getReferencedTransitionId(changedField) {
|
|
16334
|
-
if (!!this.taskFieldsIndex) {
|
|
16335
|
-
const taskFieldsIndexId = this.getReferencedTaskId(changedField);
|
|
16336
|
-
if (!!this.taskFieldsIndex[taskFieldsIndexId]) {
|
|
16337
|
-
return this.taskFieldsIndex[taskFieldsIndexId].transitionId;
|
|
16338
|
-
}
|
|
16339
|
-
}
|
|
16340
|
-
return undefined;
|
|
16323
|
+
(Object.keys(this.taskFieldsIndex).find(taskId => taskId !== this.task.stringId && taskId === chFields.taskId && Object.keys(this.taskFieldsIndex[taskId].fields).includes(changedField))
|
|
16324
|
+
|| Object.keys(this.taskFieldsIndex).find(taskId => taskId !== this.task.stringId && Object.keys(this.taskFieldsIndex[taskId].fields).includes(changedField))) : undefined;
|
|
16341
16325
|
}
|
|
16342
16326
|
findTaskRefId(taskId, fields) {
|
|
16343
16327
|
let taskRefId = Object.values(fields).find(f => f instanceof TaskRefField && f.value.includes(taskId));
|
|
@@ -19645,6 +19629,7 @@ class CaseViewService extends AbstractSortableViewComponent {
|
|
|
19645
19629
|
_endOfData;
|
|
19646
19630
|
_pagination;
|
|
19647
19631
|
_newCaseConfiguration;
|
|
19632
|
+
_paginationView = false;
|
|
19648
19633
|
constructor(_allowedNetsService, _dialog, _caseResourceService, _log, _snackBarService, _searchService, _translate, _user, _processService, resolver, _newCaseComponent, newCaseConfig, _permissionService) {
|
|
19649
19634
|
super(resolver);
|
|
19650
19635
|
this._allowedNetsService = _allowedNetsService;
|
|
@@ -19691,6 +19676,9 @@ class CaseViewService extends AbstractSortableViewComponent {
|
|
|
19691
19676
|
this._loading$.off(pageLoadResult.requestContext.filter);
|
|
19692
19677
|
}
|
|
19693
19678
|
Object.assign(this._pagination, pageLoadResult.requestContext.pagination);
|
|
19679
|
+
if (this._paginationView) {
|
|
19680
|
+
return pageLoadResult.cases;
|
|
19681
|
+
}
|
|
19694
19682
|
return { ...acc, ...pageLoadResult.cases };
|
|
19695
19683
|
}, {}));
|
|
19696
19684
|
this._cases$ = casesMap.pipe(map(v => Object.values(v)));
|
|
@@ -19715,6 +19703,9 @@ class CaseViewService extends AbstractSortableViewComponent {
|
|
|
19715
19703
|
get activeFilter() {
|
|
19716
19704
|
return this._searchService.activeFilter;
|
|
19717
19705
|
}
|
|
19706
|
+
set paginationView(value) {
|
|
19707
|
+
this._paginationView = value;
|
|
19708
|
+
}
|
|
19718
19709
|
loadPage(requestContext) {
|
|
19719
19710
|
if (requestContext === null || requestContext.pageNumber < 0) {
|
|
19720
19711
|
return of({ cases: {}, requestContext });
|
|
@@ -19803,6 +19794,12 @@ class CaseViewService extends AbstractSortableViewComponent {
|
|
|
19803
19794
|
}) {
|
|
19804
19795
|
const myCase = new Subject();
|
|
19805
19796
|
this.getNewCaseAllowedNets(newCaseCreationConfiguration.blockNets).subscribe((nets) => {
|
|
19797
|
+
if (!nets || nets.length === 0) {
|
|
19798
|
+
const errorMessage = this._translate.instant('side-menu.new-case.noNets');
|
|
19799
|
+
this._snackBarService.openErrorSnackBar(errorMessage);
|
|
19800
|
+
this._log.error('No nets available for case creation. Ensure the allowed nets configuration is correct.');
|
|
19801
|
+
return;
|
|
19802
|
+
}
|
|
19806
19803
|
this._caseResourceService.createCase({
|
|
19807
19804
|
title: null,
|
|
19808
19805
|
color: 'panel-primary-icon',
|
|
@@ -19813,7 +19810,15 @@ class CaseViewService extends AbstractSortableViewComponent {
|
|
|
19813
19810
|
this.reload();
|
|
19814
19811
|
myCase.next(response.outcome.aCase);
|
|
19815
19812
|
myCase.complete();
|
|
19816
|
-
}, error =>
|
|
19813
|
+
}, error => {
|
|
19814
|
+
const errorMessage = error.message ? error.message : this._translate.instant('side-menu.new-case.createCaseError');
|
|
19815
|
+
this._snackBarService.openErrorSnackBar(errorMessage);
|
|
19816
|
+
this._log.error('Error occurred during case creation: ' + errorMessage);
|
|
19817
|
+
});
|
|
19818
|
+
}, error => {
|
|
19819
|
+
const errorMessage = error.message || this._translate.instant('side-menu.new-case.errorCreate');
|
|
19820
|
+
this._log.error('Failed to fetch allowed nets. Error: ' + errorMessage);
|
|
19821
|
+
this._snackBarService.openErrorSnackBar(errorMessage);
|
|
19817
19822
|
});
|
|
19818
19823
|
return myCase;
|
|
19819
19824
|
}
|
|
@@ -24208,14 +24213,14 @@ class UriService {
|
|
|
24208
24213
|
return this._rootLoading$;
|
|
24209
24214
|
}
|
|
24210
24215
|
isRoot(node) {
|
|
24211
|
-
return node.
|
|
24216
|
+
return node.path === this._rootNode.path;
|
|
24212
24217
|
}
|
|
24213
24218
|
get activeNode() {
|
|
24214
24219
|
return this._activeNode$.getValue();
|
|
24215
24220
|
}
|
|
24216
24221
|
set activeNode(node) {
|
|
24217
24222
|
if (node.parentId && !node.parent) {
|
|
24218
|
-
if (node.parentId === this._rootNode.
|
|
24223
|
+
if (node.parentId === this._rootNode.path) {
|
|
24219
24224
|
node.parent = this._rootNode;
|
|
24220
24225
|
}
|
|
24221
24226
|
else {
|
|
@@ -24274,7 +24279,7 @@ class UriService {
|
|
|
24274
24279
|
getChildNodes(node) {
|
|
24275
24280
|
if (!node)
|
|
24276
24281
|
node = this.activeNode;
|
|
24277
|
-
return this._resourceService.getNodesByParent(node.
|
|
24282
|
+
return this._resourceService.getNodesByParent(node.path).pipe(map(nodes => {
|
|
24278
24283
|
this.capitalizeNames(nodes);
|
|
24279
24284
|
return nodes;
|
|
24280
24285
|
}));
|
|
@@ -24290,7 +24295,7 @@ class UriService {
|
|
|
24290
24295
|
if (!node)
|
|
24291
24296
|
node = this.activeNode;
|
|
24292
24297
|
const searchBody = {
|
|
24293
|
-
uriNodeId: node.
|
|
24298
|
+
uriNodeId: node.path,
|
|
24294
24299
|
};
|
|
24295
24300
|
if (!!processIdentifiers) {
|
|
24296
24301
|
searchBody.process = processIdentifiers.map(id => ({ identifier: id }));
|
|
@@ -24316,7 +24321,7 @@ class UriService {
|
|
|
24316
24321
|
}
|
|
24317
24322
|
const searchBody = {
|
|
24318
24323
|
data: {
|
|
24319
|
-
[GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH]: node.
|
|
24324
|
+
[GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH]: node.path
|
|
24320
24325
|
},
|
|
24321
24326
|
process: { identifier: "preference_item" }
|
|
24322
24327
|
};
|
|
@@ -24346,7 +24351,7 @@ class UriService {
|
|
|
24346
24351
|
if (level === 0)
|
|
24347
24352
|
return of([this.root]);
|
|
24348
24353
|
return this._resourceService.getByLevel(level).pipe(map(nodes => {
|
|
24349
|
-
const ns = !!parent?.
|
|
24354
|
+
const ns = !!parent?.path ? nodes.filter(n => n.parentId === parent.path) : nodes;
|
|
24350
24355
|
this.capitalizeNames(ns);
|
|
24351
24356
|
return ns;
|
|
24352
24357
|
}));
|
|
@@ -24354,13 +24359,13 @@ class UriService {
|
|
|
24354
24359
|
resolveParentPath(node) {
|
|
24355
24360
|
if (!node)
|
|
24356
24361
|
node = this.activeNode;
|
|
24357
|
-
const lastDelimiter = node.
|
|
24362
|
+
const lastDelimiter = node.path.lastIndexOf('/');
|
|
24358
24363
|
if (lastDelimiter === 0)
|
|
24359
24364
|
return '/';
|
|
24360
|
-
return node.
|
|
24365
|
+
return node.path.substring(0, lastDelimiter);
|
|
24361
24366
|
}
|
|
24362
24367
|
splitNodePath(node) {
|
|
24363
|
-
return node?.
|
|
24368
|
+
return node?.path.split('/').filter(s => s !== UriService.ROOT);
|
|
24364
24369
|
}
|
|
24365
24370
|
capitalizeNames(nodes) {
|
|
24366
24371
|
if (!(nodes instanceof Array))
|
|
@@ -24497,7 +24502,7 @@ class AbstractImportNetComponent {
|
|
|
24497
24502
|
uploadFile(file) {
|
|
24498
24503
|
const fileFormData = new FormData();
|
|
24499
24504
|
fileFormData.append('file', file.data);
|
|
24500
|
-
fileFormData.append('uriNodeId', this._uriService.activeNode.
|
|
24505
|
+
fileFormData.append('uriNodeId', this._uriService.activeNode.path);
|
|
24501
24506
|
fileFormData.append('meta', this.releaseTypeControl.value.toString().toUpperCase());
|
|
24502
24507
|
file.inProgress = true;
|
|
24503
24508
|
file.completed = false;
|
|
@@ -28092,7 +28097,7 @@ class PublicTaskResourceService extends TaskResourceService {
|
|
|
28092
28097
|
* GET
|
|
28093
28098
|
*/
|
|
28094
28099
|
downloadFile(taskId, params) {
|
|
28095
|
-
const url = `task/${taskId}/file${params?.has("fileName") ? '/named' : ''}`;
|
|
28100
|
+
const url = `public/task/${taskId}/file${params?.has("fileName") ? '/named' : ''}`;
|
|
28096
28101
|
return this._resourceProvider.getBlob$(url, this.SERVER_URL, params).pipe(map(event => {
|
|
28097
28102
|
switch (event.type) {
|
|
28098
28103
|
case HttpEventType.DownloadProgress:
|
|
@@ -29718,7 +29723,7 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
29718
29723
|
return;
|
|
29719
29724
|
}
|
|
29720
29725
|
if (node.parentId && !node.parent) {
|
|
29721
|
-
if (
|
|
29726
|
+
if (this._uriService.isRoot(node)) {
|
|
29722
29727
|
node.parent = this._uriService.root;
|
|
29723
29728
|
}
|
|
29724
29729
|
else {
|
|
@@ -29747,7 +29752,7 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
29747
29752
|
this.loadRightSide();
|
|
29748
29753
|
}
|
|
29749
29754
|
else {
|
|
29750
|
-
if (!this.leftItems.find(item => item.resource?.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)?.value === node.
|
|
29755
|
+
if (!this.leftItems.find(item => item.resource?.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)?.value === node.path)) {
|
|
29751
29756
|
this.loadLeftSide();
|
|
29752
29757
|
}
|
|
29753
29758
|
this.loadRightSide();
|
|
@@ -29852,7 +29857,7 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
29852
29857
|
onItemClick(item) {
|
|
29853
29858
|
if (item.resource === undefined) {
|
|
29854
29859
|
// custom view represented only in nae.json
|
|
29855
|
-
if (item.processUri === this.currentNode.
|
|
29860
|
+
if (item.processUri === this.currentNode.path) {
|
|
29856
29861
|
this._uriService.activeNode = this._currentNode;
|
|
29857
29862
|
}
|
|
29858
29863
|
else {
|
|
@@ -29868,7 +29873,7 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
29868
29873
|
this._log.error(error);
|
|
29869
29874
|
});
|
|
29870
29875
|
}
|
|
29871
|
-
else if (!path.includes(this.currentNode.
|
|
29876
|
+
else if (!path.includes(this.currentNode.path)) {
|
|
29872
29877
|
this._uriService.activeNode = this._currentNode.parent;
|
|
29873
29878
|
}
|
|
29874
29879
|
else {
|
|
@@ -29880,7 +29885,7 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
29880
29885
|
return item.resource?.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_HAS_CHILDREN)?.value;
|
|
29881
29886
|
}
|
|
29882
29887
|
isItemAndNodeEqual(item, node) {
|
|
29883
|
-
return item.resource?.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)?.value === node.
|
|
29888
|
+
return item.resource?.immediateData.find(f => f.stringId === GroupNavigationConstants.ITEM_FIELD_ID_NODE_PATH)?.value === node.path;
|
|
29884
29889
|
}
|
|
29885
29890
|
loadLeftSide() {
|
|
29886
29891
|
if (this._uriService.isRoot(this._currentNode)) {
|
|
@@ -29998,13 +30003,13 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
29998
30003
|
this.leftItems.sort((a, b) => multiplier * a?.navigation?.title.localeCompare(b?.navigation?.title));
|
|
29999
30004
|
}
|
|
30000
30005
|
resolveCustomViewsInRightSide() {
|
|
30001
|
-
if (!!this._childCustomViews[this._currentNode.
|
|
30002
|
-
this.rightItems.push(...Object.values(this._childCustomViews[this._currentNode.
|
|
30006
|
+
if (!!this._childCustomViews[this._currentNode.path]) {
|
|
30007
|
+
this.rightItems.push(...Object.values(this._childCustomViews[this._currentNode.path]));
|
|
30003
30008
|
}
|
|
30004
30009
|
}
|
|
30005
30010
|
resolveCustomViewsInLeftSide() {
|
|
30006
|
-
if (!!this._childCustomViews[this._currentNode.parent.
|
|
30007
|
-
this.leftItems.push(...Object.values(this._childCustomViews[this._currentNode.parent.
|
|
30011
|
+
if (!!this._childCustomViews[this._currentNode.parent.path]) {
|
|
30012
|
+
this.leftItems.push(...Object.values(this._childCustomViews[this._currentNode.parent.path]));
|
|
30008
30013
|
}
|
|
30009
30014
|
}
|
|
30010
30015
|
resolveItemCaseToNavigationItem(itemCase) {
|
|
@@ -30074,7 +30079,7 @@ class AbstractNavigationDoubleDrawerComponent {
|
|
|
30074
30079
|
return this.rightItems === undefined || this.rightItems.length === 0;
|
|
30075
30080
|
}
|
|
30076
30081
|
uriNodeTrackBy(index, node) {
|
|
30077
|
-
return node.
|
|
30082
|
+
return node.path;
|
|
30078
30083
|
}
|
|
30079
30084
|
itemsTrackBy(index, item) {
|
|
30080
30085
|
return item.id;
|
|
@@ -30381,7 +30386,7 @@ class AbstractBreadcrumbsComponent {
|
|
|
30381
30386
|
this.nicePathSubscription = this.nicePath.subscribe(np => {
|
|
30382
30387
|
if (!!np) {
|
|
30383
30388
|
const path = np;
|
|
30384
|
-
if (path?.length > this.partsAfterDots + 1 && this._uriService.activeNode?.
|
|
30389
|
+
if (path?.length > this.partsAfterDots + 1 && this._uriService.activeNode?.path.length > this.lengthOfPath && !this._showPaths) {
|
|
30385
30390
|
const newPath = [path[0], AbstractBreadcrumbsComponent.DOTS];
|
|
30386
30391
|
for (let i = path.length - this.partsAfterDots; i < path.length; i++) {
|
|
30387
30392
|
newPath.push(path[i]);
|
|
@@ -30397,7 +30402,7 @@ class AbstractBreadcrumbsComponent {
|
|
|
30397
30402
|
if (!this.redirectOnClick) {
|
|
30398
30403
|
return;
|
|
30399
30404
|
}
|
|
30400
|
-
this._router.navigate(this.redirectUrls.get(this._uriService.activeNode.
|
|
30405
|
+
this._router.navigate(this.redirectUrls.get(this._uriService.activeNode.path)).then(r => { });
|
|
30401
30406
|
}
|
|
30402
30407
|
reset() {
|
|
30403
30408
|
this.filterName = undefined;
|
|
@@ -30428,7 +30433,7 @@ class AbstractBreadcrumbsComponent {
|
|
|
30428
30433
|
});
|
|
30429
30434
|
}
|
|
30430
30435
|
resultCounter(count, tmp) {
|
|
30431
|
-
if (tmp?.length > this.partsAfterDots + 1 && this._uriService.activeNode?.
|
|
30436
|
+
if (tmp?.length > this.partsAfterDots + 1 && this._uriService.activeNode?.path.length > this.lengthOfPath && !this._showPaths) {
|
|
30432
30437
|
return tmp.length - this.partsAfterDots + (count - 2);
|
|
30433
30438
|
}
|
|
30434
30439
|
return count;
|
|
@@ -32584,6 +32589,8 @@ class AbstractCaseListPaginatorComponent extends AbstractDefaultCaseListComponen
|
|
|
32584
32589
|
this._caseViewService = _caseViewService;
|
|
32585
32590
|
this._log = _log;
|
|
32586
32591
|
this.route = route;
|
|
32592
|
+
this._caseViewService.nextPagePagination(this.pageSize, this.pageIndex);
|
|
32593
|
+
this._caseViewService.paginationView = true;
|
|
32587
32594
|
this.cases$ = this._caseViewService.cases$.pipe(tap(() => {
|
|
32588
32595
|
this.length = this._caseViewService.pagination.totalElements;
|
|
32589
32596
|
this.pageIndex = this._caseViewService.pagination.number;
|