@eo-sdk/client 8.16.0-rc.1 → 8.16.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts +4 -5
  2. package/app/eo-framework/app-shell/app-bar/app-process/app-process.component.d.ts +7 -1
  3. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +6 -5
  4. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +4 -2
  5. package/app/eo-framework/process-form/process-form.component.d.ts +2 -0
  6. package/assets/_default/i18n/de.json +3 -3
  7. package/assets/_default/i18n/en.json +2 -2
  8. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +6 -6
  9. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  10. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +1 -1
  11. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  12. package/bundles/eo-sdk-client.umd.js +74 -33
  13. package/bundles/eo-sdk-client.umd.js.map +1 -1
  14. package/bundles/eo-sdk-client.umd.min.js +1 -1
  15. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  16. package/eo-sdk-client.d.ts +3 -3
  17. package/eo-sdk-client.metadata.json +1 -1
  18. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  19. package/esm2015/app/eo-client/inbox-state/inbox-state/inbox-state.component.js +16 -8
  20. package/esm2015/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.js +2 -2
  21. package/esm2015/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.js +2 -2
  22. package/esm2015/app/eo-framework/app-shell/app-bar/app-process/app-process.component.js +26 -4
  23. package/esm2015/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.js +2 -2
  24. package/esm2015/app/eo-framework/inbox-details/inbox-details.component.js +13 -11
  25. package/esm2015/app/eo-framework/media/media.component.js +4 -3
  26. package/esm2015/app/eo-framework/prepare-details/prepare-details.component.js +10 -5
  27. package/esm2015/app/eo-framework/process-form/process-form.component.js +5 -2
  28. package/esm2015/app/eo-framework/ui/eo-dialog/eo-dialog.component.js +2 -2
  29. package/esm2015/app/eo-framework/ui/outside-click/outside-click.directive.js +3 -2
  30. package/esm2015/eo-sdk-client.js +4 -4
  31. package/esm2015/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.js +1 -1
  32. package/esm2015/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.js +2 -1
  33. package/esm2015/projects/eo-sdk/core/lib/service/dms/dms.service.js +5 -6
  34. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +5 -5
  35. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  36. package/fesm2015/eo-sdk-client.js +72 -31
  37. package/fesm2015/eo-sdk-client.js.map +1 -1
  38. package/package.json +2 -2
  39. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +4 -0
  40. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +2 -2
  41. package/projects/eo-sdk/core/package.json +1 -1
@@ -3052,7 +3052,8 @@ class OutsideClickDirective extends UnsubscribeOnDestroy {
3052
3052
  }
3053
3053
  }
3054
3054
  onClick(event, targetElement) {
3055
- if (this.active && !this._elementRef.nativeElement.contains(targetElement)) {
3055
+ const overlayContainer = document.querySelector('.cdk-overlay-container');
3056
+ if (this.active && !this._elementRef.nativeElement.contains(targetElement) && overlayContainer ? !overlayContainer.contains(targetElement) : false) {
3056
3057
  this.onOutsideEvent(event);
3057
3058
  }
3058
3059
  }
@@ -3632,7 +3633,7 @@ class EoDialogComponent extends UnsubscribeOnDestroy {
3632
3633
  // this.overlayRef.addPanelClass("example-overlay");
3633
3634
  this.overlayRef.attach(portal);
3634
3635
  this.overlayRef.backdropClick().subscribe((_) => {
3635
- this.visible = false;
3636
+ this.closeDialog();
3636
3637
  });
3637
3638
  }
3638
3639
  getPositionStrategy() {
@@ -4876,11 +4877,13 @@ AppAddComponent.ctorParameters = () => [
4876
4877
  * Component rendering the app-bar action of starting executable processes.
4877
4878
  */
4878
4879
  class AppProcessComponent {
4879
- constructor(router, toaster, translate, bpmService) {
4880
+ constructor(router, toaster, translate, bpmService, pendingChanges) {
4880
4881
  this.router = router;
4881
4882
  this.toaster = toaster;
4882
4883
  this.translate = translate;
4883
4884
  this.bpmService = bpmService;
4885
+ this.pendingChanges = pendingChanges;
4886
+ this.pendingTaskIds = [];
4884
4887
  }
4885
4888
  close(evt) {
4886
4889
  this.router.navigate([{ outlets: { modal: null } }], { replaceUrl: true });
@@ -4933,6 +4936,24 @@ class AppProcessComponent {
4933
4936
  cancelDialog() {
4934
4937
  this.processForm = null;
4935
4938
  }
4939
+ startPending() {
4940
+ // because this method will be called every time the form status changes,
4941
+ // pending task will only be started once until it was finished
4942
+ if (!this.pendingChanges.hasPendingTask(this.pendingTaskIds[0] || ' ')) {
4943
+ this.pendingTaskIds = [this.pendingChanges.startTask()];
4944
+ }
4945
+ }
4946
+ finishPending() {
4947
+ this.pendingChanges.finishTask(this.pendingTaskIds[0]);
4948
+ }
4949
+ onIndexDataChanged(event) {
4950
+ if (event.dirty) {
4951
+ this.startPending();
4952
+ }
4953
+ else {
4954
+ this.finishPending();
4955
+ }
4956
+ }
4936
4957
  ngOnInit() {
4937
4958
  this.bpmService.getExecutableProcesses(null, true)
4938
4959
  .subscribe(res => this.processes = res.sort(Utils.sortValues('title')));
@@ -4941,7 +4962,7 @@ class AppProcessComponent {
4941
4962
  AppProcessComponent.decorators = [
4942
4963
  { type: Component, args: [{
4943
4964
  selector: 'eo-app-process',
4944
- template: "<eo-dialog [title]=\"'eo.bar.button.execute.actions.tooltip' | translate\"\r\n [visible]=\"true\"\r\n [minWidth]=\"400\"\r\n [styleClass]=\"'more-actions'\"\r\n (hide)=\"close($event)\">\r\n\r\n <section *ngIf=\"processes?.length; else loading\">\r\n\r\n <div class=\"process-item\" *ngFor=\"let process of processes\" (click)=\"selectProcess(process)\">\r\n <eo-icon [iconId]=\"process.iconid\" *ngIf=\"process.iconid; else defaulticon\"></eo-icon>\r\n <ng-template #defaulticon><eo-icon [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon></ng-template>\r\n <div class=\"pi-content\">\r\n <div class=\"title\">{{process.title}}</div>\r\n <div class=\"description\">{{process.description}}</div>\r\n </div>\r\n </div>\r\n\r\n </section>\r\n\r\n <ng-container *ngIf=\"!processForm; else tplProcessForm\" class=\"select-process\"></ng-container>\r\n\r\n <ng-template #loading>\r\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\r\n </ng-template>\r\n\r\n\r\n <ng-template #tplProcessForm>\r\n\r\n <eo-dialog [title]=\"selectedProcess?.title\"\r\n [subtitle]=\"selectedProcess?.description\"\r\n [visible]=\"true\"\r\n [minWidth]=\"1000\"\r\n [minHeight]=\"630\"\r\n [styleClass]=\"'process-form-dialog'\"\r\n (hide)=\"cancelDialog()\" #dialog>\r\n\r\n <eo-process-form [formOptions]=\"processForm\"\r\n (onResetForm)=\"formReset($event)\"\r\n (onCancel)=\"(dialog.visible = false)\"\r\n (onSaveForm)=\"startProcessWithFormData($event)\">\r\n </eo-process-form>\r\n </eo-dialog>\r\n </ng-template>\r\n\r\n</eo-dialog>\r\n",
4965
+ template: "<eo-dialog [title]=\"'eo.bar.button.execute.actions.tooltip' | translate\"\r\n [visible]=\"true\"\r\n [minWidth]=\"400\"\r\n [styleClass]=\"'more-actions'\"\r\n (hide)=\"close($event)\">\r\n\r\n <section *ngIf=\"processes?.length; else loading\">\r\n\r\n <div class=\"process-item\" *ngFor=\"let process of processes\" (click)=\"selectProcess(process)\">\r\n <eo-icon [iconId]=\"process.iconid\" *ngIf=\"process.iconid; else defaulticon\"></eo-icon>\r\n <ng-template #defaulticon><eo-icon [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon></ng-template>\r\n <div class=\"pi-content\">\r\n <div class=\"title\">{{process.title}}</div>\r\n <div class=\"description\">{{process.description}}</div>\r\n </div>\r\n </div>\r\n\r\n </section>\r\n\r\n <ng-container *ngIf=\"!processForm; else tplProcessForm\" class=\"select-process\"></ng-container>\r\n\r\n <ng-template #loading>\r\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\r\n </ng-template>\r\n\r\n\r\n <ng-template #tplProcessForm>\r\n\r\n <eo-dialog [title]=\"selectedProcess?.title\"\r\n [subtitle]=\"selectedProcess?.description\"\r\n [visible]=\"true\"\r\n [dirtyCheck]=\"pendingTaskIds\"\r\n [minWidth]=\"1000\"\r\n [minHeight]=\"630\"\r\n [styleClass]=\"'process-form-dialog'\"\r\n (hide)=\"cancelDialog()\" #dialog>\r\n\r\n <eo-process-form [formOptions]=\"processForm\"\r\n (onResetForm)=\"formReset($event)\"\r\n (onCancel)=\"(dialog.visible = false)\"\r\n (onSaveForm)=\"startProcessWithFormData($event)\"\r\n (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-process-form>\r\n </eo-dialog>\r\n </ng-template>\r\n\r\n</eo-dialog>\r\n",
4945
4966
  styles: [".process-item{align-items:center;border-bottom:1px solid var(--list-item-border-color);cursor:pointer;display:flex;padding:var(--app-pane-padding)}.process-item:hover{background-color:var(--list-item-hover-background)}.process-item eo-icon{opacity:.7}.process-item .pi-content{padding:0 var(--app-pane-padding)}.process-item .pi-content .description{color:var(--text-color-caption)}eo-loading-spinner{display:flex;justify-content:center;padding:var(--app-pane-padding)}"]
4946
4967
  },] }
4947
4968
  ];
@@ -4949,7 +4970,8 @@ AppProcessComponent.ctorParameters = () => [
4949
4970
  { type: Router },
4950
4971
  { type: NotificationsService },
4951
4972
  { type: TranslateService },
4952
- { type: BpmService }
4973
+ { type: BpmService },
4974
+ { type: PendingChangesService }
4953
4975
  ];
4954
4976
 
4955
4977
  const routes = [
@@ -6119,7 +6141,7 @@ const moment$1 = moment_;
6119
6141
  class DatepickerComponent {
6120
6142
  constructor(translate, datepickerService) {
6121
6143
  this.datepickerService = datepickerService;
6122
- this.maxYear = 99999;
6144
+ this.maxYear = 9999;
6123
6145
  this.minYear = 0;
6124
6146
  // ngModel for the year input
6125
6147
  // ngModel for the time inputs
@@ -14150,6 +14172,7 @@ class MediaComponent extends UnsubscribeOnDestroy {
14150
14172
  }
14151
14173
  toogleViewer() {
14152
14174
  this.open = !this.disabled && !!this.previewUri;
14175
+ this.undockDisabled = this.previewUri === '';
14153
14176
  if (this.undockDisabled) {
14154
14177
  this.isUndocked = false;
14155
14178
  }
@@ -14242,7 +14265,7 @@ class MediaComponent extends UnsubscribeOnDestroy {
14242
14265
  else if (!src && !this.undockWin.document.querySelector('#no-file')) {
14243
14266
  this.undockWin.document.write(`<div id="no-file" style="opacity: 0.06; display: flex; height: 100%; width: 100%; align-items: center; justify-content: center;">
14244
14267
  <svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 48 48">
14245
- <path d="M29 4H14.6c-.8 0-1.5.2-2 .6l27.2 27.2v-17L29 4zm-.7 11.6V7.8l7.8 7.8h-7.8zM43.4 40.8l-2.5 2.5-3.5-3.5c-.4.1-.8.2-1.2.2H14.6c-2
14268
+ <path d="M29 4H14.6c-.8 0-1.5.2-2 .6l27.2 27.2v-17L29 4zm-.7 11.6V7.8l7.8 7.8h-7.8zM43.4 40.8l-2.5 2.5-3.5-3.5c-.4.1-.8.2-1.2.2H14.6c-2
14246
14269
  0-3.6-1.6-3.6-3.6V13.5L5.9 8.4l2.5-2.5L11 8.4l28.7 28.7 3.1 3.1.6.6z"/>
14247
14270
  </svg>
14248
14271
  <div>`);
@@ -14338,7 +14361,7 @@ class MediaComponent extends UnsubscribeOnDestroy {
14338
14361
  const win = this.setApi(iframe);
14339
14362
  onload && onload();
14340
14363
  setTimeout(() => {
14341
- // this.loading = false;
14364
+ // this.loading = false;
14342
14365
  this.searchPDF(this.searchTerm, win);
14343
14366
  this.preventDropEvent(win);
14344
14367
  }, 100);
@@ -15902,7 +15925,7 @@ class AddSubscriptionActionComponent extends DmsObjectTarget {
15902
15925
  isExecutable(element) {
15903
15926
  const hasPrivilege = this.userService.getCurrentUser().hasPrivilege('MANAGE_SUBSCRIPTIONS');
15904
15927
  const isAllowedType = this.actionService.isAllowedType([element], ['sysemail']);
15905
- if (hasPrivilege && this.isAllowedState() && isAllowedType) {
15928
+ if (hasPrivilege && this.isAllowedState() && isAllowedType && !element.isFinalized) {
15906
15929
  return of(!element.subscriptions.length);
15907
15930
  }
15908
15931
  else {
@@ -16167,7 +16190,7 @@ class AddResubmissionActionComponent extends DmsObjectTarget {
16167
16190
  isExecutable(element) {
16168
16191
  const hasPrivilege = this.userService.getCurrentUser().hasPrivilege('MANAGE_RESUBMISSIONS');
16169
16192
  const isAllowedType = this.actionService.isAllowedType([element], ['sysemail']);
16170
- if (hasPrivilege && this.isAllowedState() && isAllowedType) {
16193
+ if (hasPrivilege && this.isAllowedState() && isAllowedType && !element.isFinalized) {
16171
16194
  return of(!element.resubmissions.length);
16172
16195
  }
16173
16196
  else {
@@ -16519,6 +16542,7 @@ class ProcessFormComponent {
16519
16542
  this.onSaveForm = new EventEmitter();
16520
16543
  this.onResetForm = new EventEmitter();
16521
16544
  this.onCancel = new EventEmitter();
16545
+ this.statusChanged = new EventEmitter();
16522
16546
  }
16523
16547
  saveForm() {
16524
16548
  setTimeout(() => {
@@ -16534,6 +16558,7 @@ class ProcessFormComponent {
16534
16558
  onIndexDataChanged(event) {
16535
16559
  this.form = event;
16536
16560
  this.formData = event.data;
16561
+ this.statusChanged.emit(event);
16537
16562
  }
16538
16563
  }
16539
16564
  ProcessFormComponent.decorators = [
@@ -16548,7 +16573,8 @@ ProcessFormComponent.propDecorators = {
16548
16573
  formOptions: [{ type: Input }],
16549
16574
  onSaveForm: [{ type: Output }],
16550
16575
  onResetForm: [{ type: Output }],
16551
- onCancel: [{ type: Output }]
16576
+ onCancel: [{ type: Output }],
16577
+ statusChanged: [{ type: Output }]
16552
16578
  };
16553
16579
 
16554
16580
  class ProcessFormModule {
@@ -19910,7 +19936,7 @@ UploadOverlayComponent.propDecorators = {
19910
19936
  };
19911
19937
 
19912
19938
  class PrepareDetailsComponent extends UnsubscribeOnDestroy {
19913
- constructor(prepareService, router, pendingChanges, translate, notification, systemService, selection, backend) {
19939
+ constructor(prepareService, router, pendingChanges, translate, notification, systemService, selection, backend, capabilites) {
19914
19940
  super();
19915
19941
  this.prepareService = prepareService;
19916
19942
  this.router = router;
@@ -19920,6 +19946,7 @@ class PrepareDetailsComponent extends UnsubscribeOnDestroy {
19920
19946
  this.systemService = systemService;
19921
19947
  this.selection = selection;
19922
19948
  this.backend = backend;
19949
+ this.capabilites = capabilites;
19923
19950
  // preparation is divided into several phases
19924
19951
  // select an object type
19925
19952
  this.PHASE_TYPE = 'type';
@@ -20357,6 +20384,9 @@ class PrepareDetailsComponent extends UnsubscribeOnDestroy {
20357
20384
  }
20358
20385
  }
20359
20386
  }
20387
+ hasTemplateCapability() {
20388
+ return this.capabilites.hasCapability('template');
20389
+ }
20360
20390
  trackByIdFn(index, item) {
20361
20391
  return item.id;
20362
20392
  }
@@ -20383,7 +20413,7 @@ class PrepareDetailsComponent extends UnsubscribeOnDestroy {
20383
20413
  PrepareDetailsComponent.decorators = [
20384
20414
  { type: Component, args: [{
20385
20415
  selector: 'eo-prepare-details',
20386
- template: "<div class=\"prepareDetails__wrapper\" *ngIf=\"!loading; else mainSpinner\">\r\n <section class=\"prepareDetails\" *ngIf=\"preparedItem && preparePhase; else noItem\"\r\n [ngClass]=\"{multifile: preparedItem.contentcount > 1, committing: committing}\">\r\n <div class=\"eo-head\">\r\n\r\n <div class=\"header-info\">\r\n <div class=\"header-title\">{{header.title}}</div>\r\n <div class=\"header-sub-title h-location\" *ngIf=\"!header.location.link; else linked\">{{header.location.label}}\r\n </div>\r\n <div class=\"header-sub-title h-subtitle\">{{header.subtitle}}</div>\r\n\r\n <ng-template #linked>\r\n <div class=\"header-sub-title h-subtitle-detailed\">\r\n <span translate>eo.prepare.location.title.prefix</span>\r\n <a [routerLink]=\"header.location.link\">{{header.location.label}}</a>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"actions\">\r\n <eo-icon class=\"btn btn-download\"\r\n *ngIf=\"preparePhase.name === 'content' ? selectedTemplateFile : preparePhase.data.previewFile\"\r\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\r\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" (click)=\"download()\"></eo-icon>\r\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\r\n (click)=\"showDeleteDialog = true;\"></eo-icon>\r\n <!-- buttons while choosing a template -->\r\n <ng-container *ngIf=\"chooseTemplate\">\r\n <button class=\"btn-tpl-abort\" (click)=\"showTemplateSelector(false)\"\r\n translate>eo.prepare.template.abort</button>\r\n <button class=\"primary btn-tpl-apply\" (click)=\"addTemplate(selectedTemplate)\" [disabled]=\"!selectedTemplate\"\r\n translate>eo.prepare.template.select</button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"preparePhase.name === 'indexdata'\">\r\n <button (click)=\"commit()\" class=\"btn-idx-save\"\r\n [ngClass]=\"{primary: preparedItem.state.parentisroot && preparedItem.contentcount > 1}\"\r\n [disabled]=\"formState?.invalid || committing\" translate>eo.prepare.save</button>\r\n\r\n <button (click)=\"commit(true)\" [disabled]=\"formState?.invalid || committing\" class=\"primary btn-idx-saveopen\"\r\n [hidden]=\"preparedItem?.state.parentisroot && preparedItem?.contentcount > 1\"\r\n translate>eo.prepare.saveopen</button>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"eo-body\" [ngSwitch]=\"preparePhase.name\" *ngIf=\"!committing; else spinner\">\r\n\r\n <!-- PHASE TYPE -->\r\n <div class=\"phase type\" *ngSwitchCase=\"'type'\">\r\n\r\n <!-- with preview -->\r\n <eo-split [gutterSize]=\"16\" [gutterColor]=\"'#fff'\" [visibleTransition]=\"true\"\r\n *ngIf=\"preparePhase.data.previewFile; else nopreview\" [cacheLayout]=\"'prepare.details.phase.type'\">\r\n <eo-split-area [size]=\"30\">\r\n\r\n <div class=\"form-files\">\r\n <div class=\"object-type-select empty\" *ngIf=\"preparedItem.types.length == 0\" translate>\r\n eo.prepare.details.type.empty</div>\r\n <div class=\"object-type-select empty\"\r\n *ngIf=\"!preparedItem.state.typeselectedallowed && preparedItem.state.typeselected\"\r\n [translateParams]=\"{type: preparedItem.selectedtype.label, filename: getFileNames(preparedItem)}\"\r\n translate>eo.prepare.details.type.notallowed</div>\r\n\r\n <div class=\"object-type-select\">\r\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\r\n (click)=\"selectObjectType(type)\">\r\n <div class=\"type-icon\">\r\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\r\n </div>\r\n <div class=\"content\">\r\n <div class=\"title\">{{type.label}}</div>\r\n <div class=\"description\">{{type.description}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"content-select\">\r\n <h2 translate>eo.prepare.details.contents.title</h2>\r\n <div class=\"content\"\r\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx;\"\r\n [ngClass]=\"{selected: preparePhase.data.previewIndex == idx}\" (click)=\"setPreviewUri(idx)\">\r\n <span>{{content.path}}</span>\r\n <eo-icon class=\"btn btn-delete-content\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\r\n (click)=\"showContentDeleteDialog = true; deletedContentIndex = idx;\"></eo-icon>\r\n <div *ngIf=\"content.existscount > 0\" class=\"attention\" title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</div>\r\n </div>\r\n </div>\r\n </div>\r\n </eo-split-area>\r\n <eo-split-area [size]=\"70\">\r\n <div class=\"eo-media-wrap\">\r\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\r\n </eo-prepare-content-exists-info>\r\n <eo-media [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\r\n </div>\r\n </eo-split-area>\r\n </eo-split>\r\n\r\n <!-- without preview -->\r\n <ng-template #nopreview>\r\n <div class=\"form-files\">\r\n <div class=\"object-type-select\">\r\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\r\n (click)=\"selectObjectType(type)\">\r\n <div class=\"type-icon\">\r\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\r\n </div>\r\n <div class=\"content\">\r\n <div class=\"title\">{{type.label}}</div>\r\n <div class=\"description\">{{type.description}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <!-- PHASE CONTENT -->\r\n <div class=\"phase content\" *ngSwitchCase=\"'content'\">\r\n\r\n <!-- panel for selecting a template to be used as items content -->\r\n <eo-split [gutterSize]=\"16\" [gutterColor]=\"'#fff'\" [visibleTransition]=\"true\"\r\n *ngIf=\"chooseTemplate; else attach\" [cacheLayout]=\"'prepare.details.phase.content'\">\r\n <eo-split-area [size]=\"40\">\r\n\r\n <!-- list of available templates -->\r\n <eo-list-container #eoList [loading]=\"false\" class=\"templates\">\r\n <div class=\"eo-header\">\r\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_template.svg'\"></eo-icon>\r\n <div class=\"eo-header-info\">\r\n <div class=\"eo-header-title\" translate>eo.prepare.template.list.title</div>\r\n </div>\r\n <div class=\"eo-header-actions\">\r\n\r\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\r\n class=\"overlay-filter\" [title]=\"'eo.list.filter' | translate\"\r\n (active)=\"oFilter.onActiveChanged($event)\">\r\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\r\n (active)=\"oFilter.onActiveChanged($event)\">\r\n <eo-text-filter [title]=\"'eo.prepare.template.filter.text.title' | translate\"\r\n [matchFields]=\"['title', 'description', 'tags']\"\r\n [placeholder]=\"'eo.prepare.template.filter.text.title'\"></eo-text-filter>\r\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.prepare.template.filter.set.title' | translate\"\r\n *ngIf=\"tagFilterOptions?.length\" [options]=\"tagFilterOptions\"></eo-set-filter>\r\n </eo-custom-filter>\r\n </eo-overlay>\r\n\r\n </div>\r\n </div>\r\n <div class=\"eo-body\">\r\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\r\n [showHeader]=\"true\" [showFooter]=\"false\" [selectionLimit]=\"1\"\r\n (eoGridSelectionChanged)=\"selectTemplate($event[0])\">\r\n </eo-grid>\r\n </div>\r\n </eo-list-container>\r\n\r\n </eo-split-area>\r\n <eo-split-area [size]=\"60\">\r\n\r\n <!-- preview of selected template -->\r\n <eo-media [previewFile]=\"selectedTemplateFile\"></eo-media>\r\n\r\n </eo-split-area>\r\n </eo-split>\r\n\r\n <!-- add content general overview (upload, template, none) -->\r\n <ng-template #attach>\r\n\r\n <div class=\"info\" *ngIf=\"!uploadInProgress\" translate>eo.prepare.attachment.info</div>\r\n <input type=\"file\" #file (change)=\"fileChangeListener($event.target.files)\">\r\n\r\n <div class=\"attachments\" *ngIf=\"!uploadInProgress; else uploadspinner\">\r\n\r\n <!-- upload a file -->\r\n <div class=\"attachment att-file\" *ngIf=\"preparePhase.data.file\" (click)=\"upload()\">\r\n <div class=\"img\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_file_upload.svg'\"></eo-icon>\r\n </div>\r\n <h3 translate>eo.prepare.attachment.upload.title</h3>\r\n <p translate>eo.prepare.attachment.upload.desc</p>\r\n </div>\r\n\r\n <!-- select a template -->\r\n <div class=\"attachment att-tmpl\" *ngIf=\"preparePhase.data.templates.length > 0\"\r\n (click)=\"showTemplateSelector(true)\">\r\n <div class=\"img\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare_add.svg'\"></eo-icon>\r\n </div>\r\n <h3 translate>eo.prepare.attachment.template.title</h3>\r\n <p translate>eo.prepare.attachment.template.desc</p>\r\n </div>\r\n\r\n <!-- no file -->\r\n <div class=\"attachment att-none\" *ngIf=\"preparePhase.data.withoutFile\" (click)=\"noFile()\">\r\n <div class=\"img\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\r\n </div>\r\n <h3 translate>eo.prepare.attachment.nofile.title</h3>\r\n <p translate>eo.prepare.attachment.nofile.desc</p>\r\n </div>\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n <!-- upload progress indicator -->\r\n <ng-template #uploadspinner>\r\n <div class=\"upload-indicator\">\r\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- PHASE INDEXDATA -->\r\n <div class=\"phase indexdata\" *ngSwitchCase=\"'indexdata'\">\r\n\r\n <!-- form and preview -->\r\n <eo-split [gutterSize]=\"16\" [gutterColor]=\"'#fff'\" [visibleTransition]=\"true\"\r\n *ngIf=\"preparePhase.data.previewFile; else justform\" [cacheLayout]=\"'prepare.details.phase.indexdata'\">\r\n <eo-split-area [size]=\"50\">\r\n\r\n <div class=\"form-files\">\r\n\r\n <!-- indexdata form -->\r\n <ng-container *ngTemplateOutlet=\"justform\"></ng-container>\r\n\r\n <!-- list of contents (in case of bulk upload) that can be previewed -->\r\n <div class=\"content-select\">\r\n\r\n <h2 translate>eo.prepare.details.contents.title</h2>\r\n <div class=\"content\"\r\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx\"\r\n [ngClass]=\"{selected: preparePhase.data.previewIndex === idx}\" (click)=\"setPreviewUri(idx)\">\r\n {{content.path}} <span *ngIf=\"content.existscount > 0\" class=\"attention\" title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </eo-split-area>\r\n <eo-split-area [size]=\"50\">\r\n <div class=\"eo-media-wrap\">\r\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\r\n </eo-prepare-content-exists-info>\r\n <eo-media [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\r\n </div>\r\n </eo-split-area>\r\n </eo-split>\r\n\r\n <!-- just the form -->\r\n <ng-template #justform>\r\n <div class=\"form-container situation-create\" *ngIf=\"formOptions\">\r\n <eo-object-form #form [formOptions]=\"formOptions\" (statusChanged)=\"onFormStatusChanged($event)\">\r\n </eo-object-form>\r\n </div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </section>\r\n\r\n <ng-template #spinner>\r\n <div class=\"eo-body\">\r\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\r\n </div>\r\n </ng-template>\r\n\r\n</div>\r\n\r\n<ng-template #mainSpinner>\r\n <div class=\"prepareDetails__main-spinner\">\r\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<ng-template #noItem>\r\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\r\n <ng-content select=\".error\"></ng-content>\r\n </eo-error-message>\r\n</ng-template>\r\n\r\n<eo-dialog [title]=\"'eo.prepare.details.delete.dialog.title' | translate\"\r\n [(visible)]=\"showDeleteDialog\" [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\r\n\r\n<div>{{'eo.prepare.details.delete.dialog.message' | translate}}</div>\r\n\r\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\r\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\r\n translate>eo.prepare.details.delete.dialog.cancel</button>\r\n <button type=\"button\" #confirmDelete (click)=\"removeItem(preparedItem)\" class=\"button primary\"\r\n translate>eo.prepare.details.delete.dialog.ok</button>\r\n </div>\r\n</eo-dialog>\r\n\r\n<eo-dialog [title]=\"'eo.prepare.details.delete.content.dialog.title' | translate\"\r\n [(visible)]=\"showContentDeleteDialog\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\r\n\r\n<div>{{'eo.prepare.details.delete.content.dialog.message' | translate: ({contentPath: preparedItem?.contents ? preparedItem?.contents[deletedContentIndex]?.path : ''})}}</div>\r\n\r\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\r\n <button type=\"button\" class=\"button cancel\" (click)=\"showContentDeleteDialog = false\"\r\n translate>eo.prepare.details.delete.dialog.cancel</button>\r\n <button type=\"button\" #confirmContentDelete (click)=\"removeItemContent(preparedItem, deletedContentIndex)\" class=\"button primary\"\r\n translate>eo.prepare.details.delete.dialog.ok</button>\r\n </div>\r\n</eo-dialog>\r\n",
20416
+ template: "<div class=\"prepareDetails__wrapper\" *ngIf=\"!loading; else mainSpinner\">\r\n <section class=\"prepareDetails\" *ngIf=\"preparedItem && preparePhase; else noItem\"\r\n [ngClass]=\"{multifile: preparedItem.contentcount > 1, committing: committing}\">\r\n <div class=\"eo-head\">\r\n\r\n <div class=\"header-info\">\r\n <div class=\"header-title\">{{header.title}}</div>\r\n <div class=\"header-sub-title h-location\" *ngIf=\"!header.location.link; else linked\">{{header.location.label}}\r\n </div>\r\n <div class=\"header-sub-title h-subtitle\">{{header.subtitle}}</div>\r\n\r\n <ng-template #linked>\r\n <div class=\"header-sub-title h-subtitle-detailed\">\r\n <span translate>eo.prepare.location.title.prefix</span>\r\n <a [routerLink]=\"header.location.link\">{{header.location.label}}</a>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"actions\">\r\n <eo-icon class=\"btn btn-download\"\r\n *ngIf=\"preparePhase.name === 'content' ? selectedTemplateFile : preparePhase.data.previewFile\"\r\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\r\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" (click)=\"download()\"></eo-icon>\r\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\r\n (click)=\"showDeleteDialog = true;\"></eo-icon>\r\n <!-- buttons while choosing a template -->\r\n <ng-container *ngIf=\"chooseTemplate\">\r\n <button class=\"btn-tpl-abort\" (click)=\"showTemplateSelector(false)\"\r\n translate>eo.prepare.template.abort</button>\r\n <button class=\"primary btn-tpl-apply\" (click)=\"addTemplate(selectedTemplate)\" [disabled]=\"!selectedTemplate\"\r\n translate>eo.prepare.template.select</button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"preparePhase.name === 'indexdata'\">\r\n <button (click)=\"commit()\" class=\"btn-idx-save\"\r\n [ngClass]=\"{primary: preparedItem.state.parentisroot && preparedItem.contentcount > 1}\"\r\n [disabled]=\"formState?.invalid || committing\" translate>eo.prepare.save</button>\r\n\r\n <button (click)=\"commit(true)\" [disabled]=\"formState?.invalid || committing\" class=\"primary btn-idx-saveopen\"\r\n [hidden]=\"preparedItem?.state.parentisroot && preparedItem?.contentcount > 1\"\r\n translate>eo.prepare.saveopen</button>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"eo-body\" [ngSwitch]=\"preparePhase.name\" *ngIf=\"!committing; else spinner\">\r\n\r\n <!-- PHASE TYPE -->\r\n <div class=\"phase type\" *ngSwitchCase=\"'type'\">\r\n\r\n <!-- with preview -->\r\n <eo-split [gutterSize]=\"16\" [gutterColor]=\"'#fff'\" [visibleTransition]=\"true\"\r\n *ngIf=\"preparePhase.data.previewFile; else nopreview\" [cacheLayout]=\"'prepare.details.phase.type'\">\r\n <eo-split-area [size]=\"30\">\r\n\r\n <div class=\"form-files\">\r\n <div class=\"object-type-select empty\" *ngIf=\"preparedItem.types.length == 0\" translate>\r\n eo.prepare.details.type.empty</div>\r\n <div class=\"object-type-select empty\"\r\n *ngIf=\"!preparedItem.state.typeselectedallowed && preparedItem.state.typeselected\"\r\n [translateParams]=\"{type: preparedItem.selectedtype.label, filename: getFileNames(preparedItem)}\"\r\n translate>eo.prepare.details.type.notallowed</div>\r\n\r\n <div class=\"object-type-select\">\r\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\r\n (click)=\"selectObjectType(type)\">\r\n <div class=\"type-icon\">\r\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\r\n </div>\r\n <div class=\"content\">\r\n <div class=\"title\">{{type.label}}</div>\r\n <div class=\"description\">{{type.description}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"content-select\">\r\n <h2 translate>eo.prepare.details.contents.title</h2>\r\n <div class=\"content\"\r\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx;\"\r\n [ngClass]=\"{selected: preparePhase.data.previewIndex == idx}\" (click)=\"setPreviewUri(idx)\">\r\n <span>{{content.path}}</span>\r\n <eo-icon class=\"btn btn-delete-content\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\r\n (click)=\"showContentDeleteDialog = true; deletedContentIndex = idx;\"></eo-icon>\r\n <div *ngIf=\"content.existscount > 0\" class=\"attention\" title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</div>\r\n </div>\r\n </div>\r\n </div>\r\n </eo-split-area>\r\n <eo-split-area [size]=\"70\">\r\n <div class=\"eo-media-wrap\">\r\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\r\n </eo-prepare-content-exists-info>\r\n <eo-media [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\r\n </div>\r\n </eo-split-area>\r\n </eo-split>\r\n\r\n <!-- without preview -->\r\n <ng-template #nopreview>\r\n <div class=\"form-files\">\r\n <div class=\"object-type-select\">\r\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\r\n (click)=\"selectObjectType(type)\">\r\n <div class=\"type-icon\">\r\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\r\n </div>\r\n <div class=\"content\">\r\n <div class=\"title\">{{type.label}}</div>\r\n <div class=\"description\">{{type.description}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <!-- PHASE CONTENT -->\r\n <div class=\"phase content\" *ngSwitchCase=\"'content'\">\r\n\r\n <!-- panel for selecting a template to be used as items content -->\r\n <eo-split [gutterSize]=\"16\" [gutterColor]=\"'#fff'\" [visibleTransition]=\"true\"\r\n *ngIf=\"chooseTemplate; else attach\" [cacheLayout]=\"'prepare.details.phase.content'\">\r\n <eo-split-area [size]=\"40\">\r\n\r\n <!-- list of available templates -->\r\n <eo-list-container #eoList [loading]=\"false\" class=\"templates\">\r\n <div class=\"eo-header\">\r\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_template.svg'\"></eo-icon>\r\n <div class=\"eo-header-info\">\r\n <div class=\"eo-header-title\" translate>eo.prepare.template.list.title</div>\r\n </div>\r\n <div class=\"eo-header-actions\">\r\n\r\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\r\n class=\"overlay-filter\" [title]=\"'eo.list.filter' | translate\"\r\n (active)=\"oFilter.onActiveChanged($event)\">\r\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\r\n (active)=\"oFilter.onActiveChanged($event)\">\r\n <eo-text-filter [title]=\"'eo.prepare.template.filter.text.title' | translate\"\r\n [matchFields]=\"['title', 'description', 'tags']\"\r\n [placeholder]=\"'eo.prepare.template.filter.text.title'\"></eo-text-filter>\r\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.prepare.template.filter.set.title' | translate\"\r\n *ngIf=\"tagFilterOptions?.length\" [options]=\"tagFilterOptions\"></eo-set-filter>\r\n </eo-custom-filter>\r\n </eo-overlay>\r\n\r\n </div>\r\n </div>\r\n <div class=\"eo-body\">\r\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\r\n [showHeader]=\"true\" [showFooter]=\"false\" [selectionLimit]=\"1\"\r\n (eoGridSelectionChanged)=\"selectTemplate($event[0])\">\r\n </eo-grid>\r\n </div>\r\n </eo-list-container>\r\n\r\n </eo-split-area>\r\n <eo-split-area [size]=\"60\">\r\n\r\n <!-- preview of selected template -->\r\n <eo-media [previewFile]=\"selectedTemplateFile\"></eo-media>\r\n\r\n </eo-split-area>\r\n </eo-split>\r\n\r\n <!-- add content general overview (upload, template, none) -->\r\n <ng-template #attach>\r\n\r\n <div class=\"info\" *ngIf=\"!uploadInProgress\" translate>eo.prepare.attachment.info</div>\r\n <input type=\"file\" #file (change)=\"fileChangeListener($event.target.files)\">\r\n\r\n <div class=\"attachments\" *ngIf=\"!uploadInProgress; else uploadspinner\">\r\n\r\n <!-- upload a file -->\r\n <div class=\"attachment att-file\" *ngIf=\"preparePhase.data.file\" (click)=\"upload()\">\r\n <div class=\"img\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_file_upload.svg'\"></eo-icon>\r\n </div>\r\n <h3 translate>eo.prepare.attachment.upload.title</h3>\r\n <p translate>eo.prepare.attachment.upload.desc</p>\r\n </div>\r\n\r\n <!-- select a template -->\r\n <div class=\"attachment att-tmpl\" *ngIf=\"preparePhase.data.templates.length > 0 && hasTemplateCapability()\"\r\n (click)=\"showTemplateSelector(true)\">\r\n <div class=\"img\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare_add.svg'\"></eo-icon>\r\n </div>\r\n <h3 translate>eo.prepare.attachment.template.title</h3>\r\n <p translate>eo.prepare.attachment.template.desc</p>\r\n </div>\r\n\r\n <!-- no file -->\r\n <div class=\"attachment att-none\" *ngIf=\"preparePhase.data.withoutFile\" (click)=\"noFile()\">\r\n <div class=\"img\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\r\n </div>\r\n <h3 translate>eo.prepare.attachment.nofile.title</h3>\r\n <p translate>eo.prepare.attachment.nofile.desc</p>\r\n </div>\r\n\r\n </div>\r\n\r\n </ng-template>\r\n\r\n <!-- upload progress indicator -->\r\n <ng-template #uploadspinner>\r\n <div class=\"upload-indicator\">\r\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- PHASE INDEXDATA -->\r\n <div class=\"phase indexdata\" *ngSwitchCase=\"'indexdata'\">\r\n\r\n <!-- form and preview -->\r\n <eo-split [gutterSize]=\"16\" [gutterColor]=\"'#fff'\" [visibleTransition]=\"true\"\r\n *ngIf=\"preparePhase.data.previewFile; else justform\" [cacheLayout]=\"'prepare.details.phase.indexdata'\">\r\n <eo-split-area [size]=\"50\">\r\n\r\n <div class=\"form-files\">\r\n\r\n <!-- indexdata form -->\r\n <ng-container *ngTemplateOutlet=\"justform\"></ng-container>\r\n\r\n <!-- list of contents (in case of bulk upload) that can be previewed -->\r\n <div class=\"content-select\">\r\n\r\n <h2 translate>eo.prepare.details.contents.title</h2>\r\n <div class=\"content\"\r\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx\"\r\n [ngClass]=\"{selected: preparePhase.data.previewIndex === idx}\" (click)=\"setPreviewUri(idx)\">\r\n {{content.path}} <span *ngIf=\"content.existscount > 0\" class=\"attention\" title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </eo-split-area>\r\n <eo-split-area [size]=\"50\">\r\n <div class=\"eo-media-wrap\">\r\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\r\n </eo-prepare-content-exists-info>\r\n <eo-media [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\r\n </div>\r\n </eo-split-area>\r\n </eo-split>\r\n\r\n <!-- just the form -->\r\n <ng-template #justform>\r\n <div class=\"form-container situation-create\" *ngIf=\"formOptions\">\r\n <eo-object-form #form [formOptions]=\"formOptions\" (statusChanged)=\"onFormStatusChanged($event)\">\r\n </eo-object-form>\r\n </div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </section>\r\n\r\n <ng-template #spinner>\r\n <div class=\"eo-body\">\r\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\r\n </div>\r\n </ng-template>\r\n\r\n</div>\r\n\r\n<ng-template #mainSpinner>\r\n <div class=\"prepareDetails__main-spinner\">\r\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<ng-template #noItem>\r\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\r\n <ng-content select=\".error\"></ng-content>\r\n </eo-error-message>\r\n</ng-template>\r\n\r\n<eo-dialog [title]=\"'eo.prepare.details.delete.dialog.title' | translate\"\r\n [(visible)]=\"showDeleteDialog\" [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\r\n\r\n<div>{{'eo.prepare.details.delete.dialog.message' | translate}}</div>\r\n\r\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\r\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\r\n translate>eo.prepare.details.delete.dialog.cancel</button>\r\n <button type=\"button\" #confirmDelete (click)=\"removeItem(preparedItem)\" class=\"button primary\"\r\n translate>eo.prepare.details.delete.dialog.ok</button>\r\n </div>\r\n</eo-dialog>\r\n\r\n<eo-dialog [title]=\"'eo.prepare.details.delete.content.dialog.title' | translate\"\r\n [(visible)]=\"showContentDeleteDialog\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\r\n\r\n<div>{{'eo.prepare.details.delete.content.dialog.message' | translate: ({contentPath: preparedItem?.contents ? preparedItem?.contents[deletedContentIndex]?.path : ''})}}</div>\r\n\r\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\r\n <button type=\"button\" class=\"button cancel\" (click)=\"showContentDeleteDialog = false\"\r\n translate>eo.prepare.details.delete.dialog.cancel</button>\r\n <button type=\"button\" #confirmContentDelete (click)=\"removeItemContent(preparedItem, deletedContentIndex)\" class=\"button primary\"\r\n translate>eo.prepare.details.delete.dialog.ok</button>\r\n </div>\r\n</eo-dialog>\r\n",
20387
20417
  styles: [":host{height:100%}:host .prepareDetails{background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .prepareDetails .eo-media-wrap{display:flex;flex-flow:column;height:100%}:host .prepareDetails .eo-media-wrap eo-media{flex:1;position:relative}:host .prepareDetails__wrapper{height:100%}:host .prepareDetails__main-spinner{align-items:center;display:flex;height:100%;justify-content:center}:host .prepareDetails .content-select{display:none}:host .prepareDetails .eo-head{background-color:var(--color-white);display:flex;flex-flow:row nowrap}:host .prepareDetails .eo-head .header-info{color:var(--text-color-caption);flex:1 1 auto;font-size:var(--font-caption)}:host .prepareDetails .eo-head .header-info .header-title{color:var(--text-color-body);font-size:var(--font-title);padding-bottom:calc(var(--app-pane-padding)/2)}:host .prepareDetails .eo-head .header-info a{color:var(--color-accent);cursor:pointer;text-decoration:none}:host .prepareDetails .eo-head .actions{align-items:center;align-self:flex-start;display:flex}[dir=ltr] :host .prepareDetails .eo-head .actions button{margin-left:calc(var(--app-pane-padding)/2)}[dir=rtl] :host .prepareDetails .eo-head .actions button{margin-right:calc(var(--app-pane-padding)/2)}:host .prepareDetails .eo-head .actions eo-icon{cursor:pointer;padding:calc(var(--app-pane-padding)/4)}:host .prepareDetails .eo-body{overflow-y:hidden}:host .prepareDetails .eo-body eo-split-area{border-top:1px solid rgba(var(--color-black-rgb),.08);box-sizing:border-box}:host .prepareDetails .phase{height:100%;overflow-y:auto}:host .prepareDetails .phase.content{align-items:center;display:flex;flex-flow:column;justify-content:center}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates{background:linear-gradient(90deg,#fff 70%,var(--panel-background-lightgrey))}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent!important}:host .prepareDetails .phase.content input[type=file]{display:none}:host .prepareDetails .phase.content .info{color:var(--text-color-caption);flex:0 0 auto;margin-bottom:var(--app-pane-padding)}:host .prepareDetails .phase.content .attachments{display:flex;flex:0 0 auto;flex-flow:row}:host .prepareDetails .phase.content .attachments .attachment:hover .img eo-icon{opacity:1}:host .prepareDetails .phase.content .attachments .attachment{background:var(--color-white);border-bottom:1px solid rgba(var(--color-black-rgb),.1);cursor:pointer;margin:calc(var(--app-pane-padding)/2);max-width:200px}:host .prepareDetails .phase.content .attachments .attachment .img{align-items:center;background:var(--color-accent);display:flex;flex-flow:column;justify-content:center;padding:calc(var(--app-pane-padding)*2) 0}:host .prepareDetails .phase.content .attachments .attachment .img eo-icon{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;color:var(--color-white);height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;width:48px}:host .prepareDetails .phase.content .attachments .attachment h3{font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding)}:host .prepareDetails .phase.content .attachments .attachment p{color:var(--text-color-caption);margin:0;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .prepareDetails .phase div[eosplitgutter]{background-color:var(--color-light-blue)!important}:host .prepareDetails .phase.type .form-files .object-type-select{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;background:var(--color-white);cursor:pointer;display:flex;flex-flow:row nowrap;margin-bottom:1px;padding:calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .type-icon{color:var(--text-color-hint)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content{overflow:hidden;padding-left:calc(var(--app-pane-padding)/2)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .title{font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .description{color:var(--text-color-caption);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase .form-container eo-object-form{display:block;margin:var(--app-pane-padding)}:host .prepareDetails.committing .eo-head .actions .btn,:host .prepareDetails.committing .eo-head .actions button{display:none}:host .prepareDetails.committing .eo-body{align-items:center;display:flex;flex-flow:column;justify-content:center}:host .prepareDetails.multifile .form-files{bottom:0;display:flex;flex-flow:column;left:0;position:absolute;right:0;top:0}:host .prepareDetails.multifile .form-files .form-container{flex:1 1 auto;overflow-y:auto}:host .prepareDetails.multifile .content-select{border-top:1px solid var(--main-background);box-sizing:border-box;display:block;flex:0 0 30%;overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}:host .prepareDetails.multifile .content-select h2{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding)/2);padding-bottom:var(--app-pane-padding)}:host .prepareDetails.multifile .content-select .content{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:var(--color-white);color:var(--text-color-caption);cursor:pointer;display:flex;gap:8px;justify-content:space-between;margin-bottom:calc(var(--app-pane-padding)/2);overflow:hidden;padding:calc(var(--app-pane-padding)/2);text-overflow:ellipsis;transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails.multifile .content-select .content>span{flex:1;overflow:hidden;text-overflow:ellipsis}:host .prepareDetails.multifile .content-select .content .btn-delete-content{color:var(--text-color-caption);flex:0 0 16px;height:16px;width:16px}:host .prepareDetails.multifile .content-select .content .btn-delete-content:hover{background-color:var(--text-color-hint)}:host .prepareDetails.multifile .content-select .content div.attention{border:1px solid var(--color-warning);border-radius:2px;color:var(--color-warning);display:block;flex:0 0 auto;line-height:1em;padding:0 4px;right:4px;top:8px}:host .prepareDetails.multifile .content-select .content.selected{color:var(--color-accent)}:host .prepareDetails.multifile .content-select .content:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid,:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham,:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row .ag-cell{border-bottom-color:var(--panel-header-border-bottom-color)}:host ::ng-deep eo-list-container .eo-head{height:48px}:host ::ng-deep eo-list-container .eo-grid-footer,:host ::ng-deep eo-list-container .eo-grid-header,:host ::ng-deep eo-list-container .eo-head{background:transparent;border-color:var(--panel-header-border-bottom-color)}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon{color:var(--text-color-hint)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon:hover{color:var(--text-color-caption)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon.active{color:var(--color-accent)!important}:host ::ng-deep .eo-header-icon,:host ::ng-deep .eo-header-title,:host ::ng-deep .template{color:var(--text-color-caption)}:host ::ng-deep .template{cursor:pointer;margin-bottom:1px}:host ::ng-deep .template .title{font-size:var(--font-body);font-weight:var(--font-weight-bold)}:host ::ng-deep .template .description{color:var(--text-color-caption)}:host ::ng-deep .template .chip{display:initial!important}::ng-deep .prepare-delete__dialog{min-height:unset!important;padding:8px}::ng-deep .prepare-delete__dialog--header{background:#fff!important;color:rgba(var(--color-black-rgb),.54)!important;font-size:1.17em!important;font-weight:400!important;margin:0;padding:0 0 1em!important}"]
20388
20418
  },] }
20389
20419
  ];
@@ -20395,7 +20425,8 @@ PrepareDetailsComponent.ctorParameters = () => [
20395
20425
  { type: NotificationsService },
20396
20426
  { type: SystemService },
20397
20427
  { type: SelectionService },
20398
- { type: BackendService }
20428
+ { type: BackendService },
20429
+ { type: CapabilitiesService }
20399
20430
  ];
20400
20431
  PrepareDetailsComponent.propDecorators = {
20401
20432
  file: [{ type: ViewChild, args: ['file',] }],
@@ -20412,7 +20443,7 @@ PrepareDetailsComponent.propDecorators = {
20412
20443
  };
20413
20444
 
20414
20445
  class InboxDetailsComponent extends UnsubscribeOnDestroy {
20415
- constructor(bpmService, userService, inboxService, selection, router, eventService, clipboardService, translate, pendingChanges, notify) {
20446
+ constructor(bpmService, userService, inboxService, selection, router, eventService, clipboardService, translate, pendingChanges, notify, storageService) {
20416
20447
  super();
20417
20448
  this.bpmService = bpmService;
20418
20449
  this.userService = userService;
@@ -20424,11 +20455,12 @@ class InboxDetailsComponent extends UnsubscribeOnDestroy {
20424
20455
  this.translate = translate;
20425
20456
  this.pendingChanges = pendingChanges;
20426
20457
  this.notify = notify;
20458
+ this.storageService = storageService;
20427
20459
  this.actionProcessing = { closed: true };
20428
20460
  this.initializing = { closed: true };
20429
20461
  this.filesAdding = { closed: true };
20462
+ this.storageKeyLastItemID = 'eo.inbox.lastItemID';
20430
20463
  this.externalPanels = new QueryList();
20431
- this.onDmsItemSelected = new EventEmitter();
20432
20464
  this.addDefaultActionIfEmpty = (res) => {
20433
20465
  var _a;
20434
20466
  if (!((_a = res.actions) === null || _a === void 0 ? void 0 : _a.length)) {
@@ -20644,13 +20676,12 @@ class InboxDetailsComponent extends UnsubscribeOnDestroy {
20644
20676
  }
20645
20677
  }
20646
20678
  /**
20647
- * Selects a work items file entry an emits onDmsItemSelected event.
20679
+ * Selects a work items file entry.
20648
20680
  * @param file FileEntry element to be selected
20649
20681
  */
20650
20682
  openWorkItemContent(file) {
20651
20683
  if (!file) {
20652
20684
  this.selectedContentFileId = null;
20653
- this.onDmsItemSelected.emit(null);
20654
20685
  if (this.applySelection) {
20655
20686
  this.selection.find(this.applySelection.out).focus(null);
20656
20687
  }
@@ -20661,7 +20692,6 @@ class InboxDetailsComponent extends UnsubscribeOnDestroy {
20661
20692
  id: file.id,
20662
20693
  type: file.type
20663
20694
  };
20664
- this.onDmsItemSelected.emit(params);
20665
20695
  if (this.applySelection) {
20666
20696
  this.selection.find(this.applySelection.out).focus(params);
20667
20697
  }
@@ -20801,7 +20831,10 @@ class InboxDetailsComponent extends UnsubscribeOnDestroy {
20801
20831
  this.selection
20802
20832
  .find(this.applySelection.in)
20803
20833
  .focus$.pipe(takeUntil(this.componentDestroyed$))
20804
- .subscribe((item) => (this.item = item));
20834
+ .subscribe((item) => {
20835
+ this.item = item;
20836
+ this.storageService.setItem(this.storageKeyLastItemID, this.item.id);
20837
+ });
20805
20838
  }
20806
20839
  }
20807
20840
  ngAfterViewInit() {
@@ -20827,7 +20860,8 @@ InboxDetailsComponent.ctorParameters = () => [
20827
20860
  { type: ClipboardService },
20828
20861
  { type: TranslateService },
20829
20862
  { type: PendingChangesService },
20830
- { type: NotificationsService }
20863
+ { type: NotificationsService },
20864
+ { type: LocalStorageService }
20831
20865
  ];
20832
20866
  InboxDetailsComponent.propDecorators = {
20833
20867
  bpmFormEl: [{ type: ViewChild, args: ['bpmForm',] }],
@@ -20836,7 +20870,6 @@ InboxDetailsComponent.propDecorators = {
20836
20870
  emptyState: [{ type: Input }],
20837
20871
  applySelection: [{ type: Input }],
20838
20872
  item: [{ type: Input, args: ['item',] }],
20839
- onDmsItemSelected: [{ type: Output }],
20840
20873
  dataType: [{ type: HostBinding, args: ['attr.data-type',] }]
20841
20874
  };
20842
20875
 
@@ -22349,10 +22382,10 @@ class AboutStateComponent {
22349
22382
  this.http = http;
22350
22383
  this.userService = userService;
22351
22384
  this.config = config;
22352
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.0-rc.1", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
22385
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.0-rc.3", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
22353
22386
  this.ctrl = {
22354
22387
  productName: 'yuuvis® RAD client',
22355
- clientVersion: '8.16.0-rc.1'
22388
+ clientVersion: '8.16.0-rc.3'
22356
22389
  };
22357
22390
  this.licenses = {
22358
22391
  'MIT': {
@@ -23759,7 +23792,7 @@ var InboxTypes;
23759
23792
  })(InboxTypes || (InboxTypes = {}));
23760
23793
 
23761
23794
  class InboxStateComponent extends UnsubscribeOnDestroy {
23762
- constructor(translate, selection, titleService, inboxService, pendingChanges, empty, eventService, route) {
23795
+ constructor(translate, selection, titleService, inboxService, pendingChanges, empty, eventService, route, storageService) {
23763
23796
  super();
23764
23797
  this.translate = translate;
23765
23798
  this.selection = selection;
@@ -23769,6 +23802,7 @@ class InboxStateComponent extends UnsubscribeOnDestroy {
23769
23802
  this.empty = empty;
23770
23803
  this.eventService = eventService;
23771
23804
  this.route = route;
23805
+ this.storageService = storageService;
23772
23806
  this.inboxFilterFields = [];
23773
23807
  this.typeFilterFields = [];
23774
23808
  this.inboxSelectionId = 'inbox';
@@ -23778,6 +23812,7 @@ class InboxStateComponent extends UnsubscribeOnDestroy {
23778
23812
  this.defaultFilterParams = {};
23779
23813
  this.emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
23780
23814
  this.inboxChanged = false;
23815
+ this.storageKeyLastItemID = 'eo.inbox.lastItemID';
23781
23816
  this.titleService.setBaseTitle(this.translate.instant('eo.inbox.list.title'));
23782
23817
  //secondary selection instance for inbox items
23783
23818
  this.inboxSelection = this.selection.createNew(this.inboxSelectionId);
@@ -23813,9 +23848,6 @@ class InboxStateComponent extends UnsubscribeOnDestroy {
23813
23848
  hasPendingChanges() {
23814
23849
  return this.pendingChanges.hasPendingTask();
23815
23850
  }
23816
- onDmsItemSelected(data) {
23817
- this.selectedDmsParams = data;
23818
- }
23819
23851
  refreshGrid() {
23820
23852
  this.inboxChanged = false;
23821
23853
  this.inboxSelection.disable(false);
@@ -23918,6 +23950,14 @@ class InboxStateComponent extends UnsubscribeOnDestroy {
23918
23950
  this.gridData = data;
23919
23951
  this.updateGrid(this.gridData);
23920
23952
  });
23953
+ const lastInboxItemID = this.storageService.getItem(this.storageKeyLastItemID);
23954
+ if (lastInboxItemID) {
23955
+ const item = this.gridData.find(i => i.id === lastInboxItemID);
23956
+ if (item) {
23957
+ this.selectFirst = false;
23958
+ setTimeout(() => this.eoGrid.selectRow(item), 500);
23959
+ }
23960
+ }
23921
23961
  }
23922
23962
  ngOnDestroy() {
23923
23963
  this.selection.clear();
@@ -23926,7 +23966,7 @@ class InboxStateComponent extends UnsubscribeOnDestroy {
23926
23966
  InboxStateComponent.decorators = [
23927
23967
  { type: Component, args: [{
23928
23968
  selector: 'eo-inbox-state',
23929
- template: "<eo-undock-split>\r\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\r\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\r\n <ng-template pTemplate=\"content\">\r\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\r\n <div class=\"eo-header\">\r\n\r\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\r\n <div class=\"eo-header-info\">\r\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\r\n </div>\r\n <div class=\"eo-header-actions\">\r\n <eo-icon class=\"button primary refresh-button\"\r\n [ngClass]=\"{inboxChanged: inboxChanged}\"\r\n (click)=\"cFilter.resetFilter(); refreshGrid()\"\r\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\r\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\r\n\r\n <eo-overlay #oFilter class=\"overlay-filter\"\r\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\r\n [iconClass]=\"'primary'\"\r\n [iconTitle]=\"'eo.list.filter' | translate\">\r\n <eo-custom-filter #cFilter\r\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\r\n (active)=\"oFilter.onActiveChanged($event)\">\r\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\r\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\" \r\n [matchFields]=\"['title','description','id']\"></eo-text-filter>\r\n <eo-set-filter [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\r\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"\r\n [title]=\"'eo.inbox.filter.section.type' | translate\"></eo-set-filter>\r\n </eo-custom-filter>\r\n </eo-overlay>\r\n\r\n <eo-overlay #oSort class=\"overlay-sort\"\r\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\r\n [iconTitle]=\"'eo.list.sort' | translate\"\r\n [iconClass]=\"'primary'\">\r\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\"\r\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\r\n (active)=\"oSort.onActiveChanged($event)\"\r\n [sortFields]=\"sortFields\"></eo-custom-sort>\r\n </eo-overlay>\r\n\r\n </div>\r\n </div>\r\n <div class=\"eo-body\">\r\n <eo-grid #eoGrid\r\n *ngIf=\"gridOptions?.rowData\"\r\n [gridOptions]=\"gridOptions\"\r\n [fullWidth]=\"true\"\r\n [showHeader]=\"true\"\r\n [showFooter]=\"true\"\r\n [selectFirst]=\"selectFirst\"\r\n [options]=\"{filterActive: oFilter.active}\"\r\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\r\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\r\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\r\n <div class=\"header\">\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\r\n </div>\r\n\r\n <div class=\"empty\">\r\n <eo-error-message\r\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\r\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\r\n </div>\r\n\r\n </eo-grid>\r\n </div>\r\n </eo-list-container>\r\n </ng-template>\r\n </eo-split-area>\r\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\r\n <ng-template pTemplate=\"content\">\r\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\" [emptyState]=\"emptyState\">\r\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\r\n </eo-inbox-details>\r\n </ng-template>\r\n </eo-split-area>\r\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n\r\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\r\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\r\n </eo-object-details>\r\n </ng-template>\r\n </eo-split-area>\r\n </eo-split>\r\n</eo-undock-split>\r\n",
23969
+ template: "<eo-undock-split>\r\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\r\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\r\n <ng-template pTemplate=\"content\">\r\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\r\n <div class=\"eo-header\">\r\n\r\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\r\n <div class=\"eo-header-info\">\r\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\r\n </div>\r\n <div class=\"eo-header-actions\">\r\n <eo-icon class=\"button primary refresh-button\"\r\n [ngClass]=\"{inboxChanged: inboxChanged}\"\r\n (click)=\"cFilter.resetFilter(); refreshGrid()\"\r\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\r\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\r\n\r\n <eo-overlay #oFilter class=\"overlay-filter\"\r\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\r\n [iconClass]=\"'primary'\"\r\n [iconTitle]=\"'eo.list.filter' | translate\">\r\n <eo-custom-filter #cFilter\r\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\r\n (active)=\"oFilter.onActiveChanged($event)\">\r\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\r\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\"\r\n [matchFields]=\"['title','description','id']\"></eo-text-filter>\r\n <eo-set-filter [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\r\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"\r\n [title]=\"'eo.inbox.filter.section.type' | translate\"></eo-set-filter>\r\n </eo-custom-filter>\r\n </eo-overlay>\r\n\r\n <eo-overlay #oSort class=\"overlay-sort\"\r\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\r\n [iconTitle]=\"'eo.list.sort' | translate\"\r\n [iconClass]=\"'primary'\">\r\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\"\r\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\r\n (active)=\"oSort.onActiveChanged($event)\"\r\n [sortFields]=\"sortFields\"></eo-custom-sort>\r\n </eo-overlay>\r\n\r\n </div>\r\n </div>\r\n <div class=\"eo-body\">\r\n <eo-grid #eoGrid\r\n *ngIf=\"gridOptions?.rowData\"\r\n [gridOptions]=\"gridOptions\"\r\n [fullWidth]=\"true\"\r\n [showHeader]=\"true\"\r\n [showFooter]=\"true\"\r\n [selectFirst]=\"selectFirst\"\r\n [options]=\"{filterActive: oFilter.active}\"\r\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\r\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\r\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\r\n <div class=\"header\">\r\n </div>\r\n\r\n <div class=\"footer\">\r\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\r\n </div>\r\n\r\n <div class=\"empty\">\r\n <eo-error-message\r\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\r\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\r\n </div>\r\n\r\n </eo-grid>\r\n </div>\r\n </eo-list-container>\r\n </ng-template>\r\n </eo-split-area>\r\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\r\n <ng-template pTemplate=\"content\">\r\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\" [emptyState]=\"emptyState\">\r\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\r\n </eo-inbox-details>\r\n </ng-template>\r\n </eo-split-area>\r\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n\r\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\r\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\r\n </eo-object-details>\r\n </ng-template>\r\n </eo-split-area>\r\n </eo-split>\r\n</eo-undock-split>\r\n",
23930
23970
  styles: [":host{bottom:var(--app-pane-padding);left:var(--app-pane-padding);position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host eo-split-area{background-color:var(--panel-background-grey);box-shadow:0 2px 5px 0 rgba(0,0,0,.2)}:host .inboxChanged,:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .ag-cell .list-item{align-items:center;display:flex;flex:1;flex-direction:row;height:80px;min-height:0;min-width:0}:host ::ng-deep .ag-cell .list-item[unselectable]{-moz-user-select:none;-webkit-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{display:inline-block;flex:1;max-width:none;overflow:hidden;padding:var(--app-pane-padding);text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .notes>span{-webkit-border-radius:2px;background-color:var(--color-primary-4);border-radius:2px;color:var(--color-white);font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding)/4) 0 calc(var(--app-pane-padding)/4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-size:var(--font-body);font-weight:var(--font-weight-bold)}:host ::ng-deep .ag-cell .list-item .content .description{color:var(--text-color-caption);font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{align-items:flex-end;display:flex;flex-flow:column;padding:0 calc(var(--app-pane-padding)/2)}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}"]
23931
23971
  },] }
23932
23972
  ];
@@ -23938,7 +23978,8 @@ InboxStateComponent.ctorParameters = () => [
23938
23978
  { type: PendingChangesService },
23939
23979
  { type: EmptyStateService },
23940
23980
  { type: EventService },
23941
- { type: ActivatedRoute }
23981
+ { type: ActivatedRoute },
23982
+ { type: LocalStorageService }
23942
23983
  ];
23943
23984
  InboxStateComponent.propDecorators = {
23944
23985
  eoGrid: [{ type: ViewChild, args: ['eoGrid',] }]
@@ -24195,5 +24236,5 @@ EoClientModule.ctorParameters = () => [
24195
24236
  * Generated bundle index. Do not edit.
24196
24237
  */
24197
24238
 
24198
- export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppLayoutComponent, AppSearchComponent, AppSearchService, AreaState, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, ContextType, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DatepickerComponent, DatetimeComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PluginComponent, PluginDirective, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SimpleAccordionComponent, SplitAreaComponent, SplitComponent, SplitGutterDirective, SplitModule, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TabContainerComponent, TabContainerModule, TabPanelComponent, TabPluginComponent, TabViewComponent, TabViewNavComponent, TextFilterComponent, TotalCountComponent, TreeComponent, TreeModule, TypeFilter, UNDOCK_WINDOW_NAME, UiModule, UndockSplitComponent, UndockSplitService, UnsubscribeOnDestroy, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, agentConfigKeys, entryComponents, listAnimation, panelLoadingAnimations, ɵ0, ɵ1, PendingChangesGuard as ɵa, UploadOverlayGuard as ɵb, OpenContextActionComponent as ɵba, DownloadActionComponent as ɵbb, DownloadOriginalActionComponent as ɵbc, DownloadPdfActionComponent as ɵbd, OpenDocumentActionComponent as ɵbe, EmailActionComponent as ɵbf, EmailLinkActionComponent as ɵbg, EmailOriginalActionComponent as ɵbh, EmailPdfActionComponent as ɵbi, ClipboardActionComponent as ɵbj, ClipboardLinkActionComponent as ɵbk, ClipboardOriginalActionComponent as ɵbl, ClipboardPdfActionComponent as ɵbm, FavoriteActionComponent as ɵbn, DeleteActionComponent as ɵbo, DeleteComponent as ɵbp, OpenVersionsActionComponent as ɵbq, RestoreVersionActionComponent as ɵbr, DeletePreparedActionComponent as ɵbs, AddSubscriptionActionComponent as ɵbt, AddSubscriptionComponent as ɵbu, RemoveSubscriptionActionComponent as ɵbv, WorkflowActionComponent as ɵbw, WorkflowComponent as ɵbx, CustomActionsComponent as ɵby, AddResubmissionActionComponent as ɵbz, AppShellRoutingModule as ɵc, AddResubmissionComponent as ɵca, UpdateResubmissionActionComponent as ɵcb, ShareObjectActionComponent as ɵcc, ShareObjectComponent as ɵcd, CutActionComponent as ɵce, FinalizeActionComponent as ɵcf, DefinalizeActionComponent as ɵcg, DeleteContentActionComponent as ɵch, UnlockActionComponent as ɵci, SimpleWorkflowActionComponent as ɵcj, PreventDoubleClickDirective as ɵck, TrapFocusDirective as ɵcl, EditIconComponent as ɵcm, DuetimeInfoComponent as ɵcn, PrepareContentExistsInfoComponent as ɵco, ObjectStateRoutingModule as ɵcp, InboxStateRoutingModule as ɵcq, PrepareStateRoutingModule as ɵcr, EoClientRoutingModule as ɵcs, ProcessStateComponent as ɵct, AppProcessComponent as ɵd, PipesModule as ɵe, UnsubscribeOnDestroy as ɵf, PendingChangesService as ɵg, QueryScopeSelectComponent as ɵh, IndexdataSummaryEntryComponent as ɵi, OrderByPipe as ɵj, TreeNodeComponent as ɵk, DatepickerService as ɵl, YearRangeDirective as ɵm, ReferenceFinderComponent as ɵn, fadeInOut as ɵo, ReferenceFinderService as ɵp, ReferenceFinderEntryComponent as ɵq, DynamicListFilterComponent as ɵr, ListFilterComponent as ɵs, PaginationComponent as ɵt, MediaModule as ɵu, ProcessFormModule as ɵv, ProcessFormComponent as ɵw, ActionComponentAnchorDirective as ɵx, OpenDocumentComponent as ɵy, CopyActionComponent as ɵz };
24239
+ export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppLayoutComponent, AppSearchComponent, AppSearchService, AreaState, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, ContextType, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DatepickerComponent, DatetimeComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PluginComponent, PluginDirective, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SimpleAccordionComponent, SplitAreaComponent, SplitComponent, SplitGutterDirective, SplitModule, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TabContainerComponent, TabContainerModule, TabPanelComponent, TabPluginComponent, TabViewComponent, TabViewNavComponent, TextFilterComponent, TotalCountComponent, TreeComponent, TreeModule, TypeFilter, UNDOCK_WINDOW_NAME, UiModule, UndockSplitComponent, UndockSplitService, UnsubscribeOnDestroy, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, agentConfigKeys, entryComponents, listAnimation, panelLoadingAnimations, ɵ0, ɵ1, PendingChangesGuard as ɵa, UploadOverlayGuard as ɵb, OpenContextActionComponent as ɵba, DownloadActionComponent as ɵbb, DownloadOriginalActionComponent as ɵbc, DownloadPdfActionComponent as ɵbd, OpenDocumentActionComponent as ɵbe, EmailActionComponent as ɵbf, EmailLinkActionComponent as ɵbg, EmailOriginalActionComponent as ɵbh, EmailPdfActionComponent as ɵbi, ClipboardActionComponent as ɵbj, ClipboardLinkActionComponent as ɵbk, ClipboardOriginalActionComponent as ɵbl, ClipboardPdfActionComponent as ɵbm, FavoriteActionComponent as ɵbn, DeleteActionComponent as ɵbo, DeleteComponent as ɵbp, OpenVersionsActionComponent as ɵbq, RestoreVersionActionComponent as ɵbr, DeletePreparedActionComponent as ɵbs, AddSubscriptionActionComponent as ɵbt, AddSubscriptionComponent as ɵbu, RemoveSubscriptionActionComponent as ɵbv, WorkflowActionComponent as ɵbw, WorkflowComponent as ɵbx, CustomActionsComponent as ɵby, AddResubmissionActionComponent as ɵbz, AppShellRoutingModule as ɵc, AddResubmissionComponent as ɵca, UpdateResubmissionActionComponent as ɵcb, ShareObjectActionComponent as ɵcc, ShareObjectComponent as ɵcd, CutActionComponent as ɵce, FinalizeActionComponent as ɵcf, DefinalizeActionComponent as ɵcg, DeleteContentActionComponent as ɵch, UnlockActionComponent as ɵci, SimpleWorkflowActionComponent as ɵcj, PreventDoubleClickDirective as ɵck, TrapFocusDirective as ɵcl, EditIconComponent as ɵcm, DuetimeInfoComponent as ɵcn, PrepareContentExistsInfoComponent as ɵco, ObjectStateRoutingModule as ɵcp, InboxStateRoutingModule as ɵcq, PrepareStateRoutingModule as ɵcr, EoClientRoutingModule as ɵcs, ProcessStateComponent as ɵct, AppProcessComponent as ɵd, PendingChangesService as ɵe, PipesModule as ɵf, UnsubscribeOnDestroy as ɵg, QueryScopeSelectComponent as ɵh, IndexdataSummaryEntryComponent as ɵi, OrderByPipe as ɵj, TreeNodeComponent as ɵk, DatepickerService as ɵl, YearRangeDirective as ɵm, ReferenceFinderComponent as ɵn, fadeInOut as ɵo, ReferenceFinderService as ɵp, ReferenceFinderEntryComponent as ɵq, DynamicListFilterComponent as ɵr, ListFilterComponent as ɵs, PaginationComponent as ɵt, MediaModule as ɵu, ProcessFormModule as ɵv, ProcessFormComponent as ɵw, ActionComponentAnchorDirective as ɵx, OpenDocumentComponent as ɵy, CopyActionComponent as ɵz };
24199
24240
  //# sourceMappingURL=eo-sdk-client.js.map