@eo-sdk/client 9.5.0-rc.1 → 9.6.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts +3 -2
  2. package/app/eo-framework/app-shell/app-bar/app-process/app-process.component.d.ts +1 -0
  3. package/app/eo-framework/object-details/object-details.component.d.ts +1 -0
  4. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +17 -11
  5. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +75 -0
  6. package/app/eo-framework/split/split/split.component.d.ts +1 -1
  7. package/app/eo-framework/split/split-area/split-area.component.d.ts +1 -0
  8. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +1 -0
  9. package/assets/_default/i18n/de.json +45 -21
  10. package/assets/_default/i18n/en.json +35 -11
  11. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +15 -2
  12. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  13. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
  14. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  15. package/bundles/eo-sdk-client.umd.js +427 -70
  16. package/bundles/eo-sdk-client.umd.js.map +1 -1
  17. package/bundles/eo-sdk-client.umd.min.js +1 -1
  18. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  19. package/eo-sdk-client.d.ts +10 -9
  20. package/eo-sdk-client.metadata.json +1 -1
  21. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  22. package/esm2015/app/eo-client/favorite-state/favorite-state.component.js +3 -3
  23. package/esm2015/app/eo-client/inbox-state/inbox-state/inbox-state.component.js +7 -5
  24. package/esm2015/app/eo-client/notifications-state/notifications-state.component.js +3 -3
  25. package/esm2015/app/eo-client/object-state/object-state-service/object-state.service.js +2 -2
  26. package/esm2015/app/eo-client/prepare-state/prepare-state/prepare-state.component.js +3 -3
  27. package/esm2015/app/eo-client/recyclebin-state/recyclebin-state.component.js +13 -6
  28. package/esm2015/app/eo-framework/actions/actions/delete-action/delete/delete.component.js +5 -2
  29. package/esm2015/app/eo-framework/actions/actions/signature-action/signature/signature.component.js +8 -6
  30. package/esm2015/app/eo-framework/actions/actions/signature-action/signature-action.component.js +8 -2
  31. package/esm2015/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.js +6 -4
  32. package/esm2015/app/eo-framework/app-shell/app-bar/app-process/app-process.component.js +8 -2
  33. package/esm2015/app/eo-framework/frame/frame.component.js +9 -1
  34. package/esm2015/app/eo-framework/grid/extensions/filter/text/text-filter.component.js +3 -3
  35. package/esm2015/app/eo-framework/object-details/object-details.component.js +12 -5
  36. package/esm2015/app/eo-framework/object-details/object-details.module.js +4 -2
  37. package/esm2015/app/eo-framework/object-details/object-history/object-history.component.js +2 -2
  38. package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +41 -23
  39. package/esm2015/app/eo-framework/recyclebin-details/recyclebin-details.component.js +260 -0
  40. package/esm2015/app/eo-framework/split/split/split.component.js +6 -6
  41. package/esm2015/app/eo-framework/split/split-area/split-area.component.js +5 -1
  42. package/esm2015/app/eo-framework/ui/eo-dialog/eo-dialog.component.js +4 -2
  43. package/esm2015/app/eo-framework/ui/signature-tab/signature-tab.component.js +3 -3
  44. package/esm2015/eo-sdk-client.js +11 -10
  45. package/esm2015/projects/eo-sdk/core/lib/model/dms-object-history.model.js +2 -1
  46. package/esm2015/projects/eo-sdk/core/lib/service/backend/backend.service.js +3 -3
  47. package/esm2015/projects/eo-sdk/core/lib/service/dms/dms.service.js +12 -1
  48. package/esm2015/projects/eo-sdk/core/lib/service/events/events.js +2 -1
  49. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +15 -2
  50. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  51. package/fesm2015/eo-sdk-client.js +378 -62
  52. package/fesm2015/eo-sdk-client.js.map +1 -1
  53. package/package.json +2 -2
  54. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
  55. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts +4 -0
  56. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +1 -1
  57. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +8 -0
  58. package/projects/eo-sdk/core/lib/service/events/events.d.ts +1 -0
  59. package/projects/eo-sdk/core/package.json +1 -1
@@ -3674,7 +3674,8 @@ class EoDialogComponent extends UnsubscribeOnDestroy {
3674
3674
  scrollStrategy: this.overlay.scrollStrategies.reposition(),
3675
3675
  positionStrategy: this.getPositionStrategy(),
3676
3676
  minHeight: this.minHeight,
3677
- minWidth: this.minWidth
3677
+ minWidth: this.minWidth,
3678
+ height: this.height
3678
3679
  });
3679
3680
  //Then we create a portal to render a component
3680
3681
  const portal = new TemplatePortal(this.dialogContent, this.viewContainerRef);
@@ -3770,6 +3771,7 @@ EoDialogComponent.propDecorators = {
3770
3771
  dirtyCheck: [{ type: Input }],
3771
3772
  minWidth: [{ type: Input }],
3772
3773
  minHeight: [{ type: Input }],
3774
+ height: [{ type: Input }],
3773
3775
  focusOnShow: [{ type: Input }],
3774
3776
  align: [{ type: Input }],
3775
3777
  isFormTable: [{ type: Input }],
@@ -3959,8 +3961,8 @@ class SignatureTabComponent {
3959
3961
  SignatureTabComponent.decorators = [
3960
3962
  { type: Component, args: [{
3961
3963
  selector: 'eo-signature-tab',
3962
- template: "<ng-container *ngIf=\"dmsObject.data.yuvsigrequester_meta; else tplNoSignature\">\n\n <section class=\"info\">\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.status'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigstatus_meta\">\n {{dmsObject.data.yuvsigstatus_meta.label}}</div>\n </div>\n <div class=\"row\" *ngIf=\"dmsObject.data.yuvsigerror\">\n <div class=\"label\">{{'eo.object.signature-tab.label.error'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigerror.length\">{{dmsObject.data.yuvsigerror}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.signedate'|translate}}</div>\n <div class=\"value\">{{dmsObject.data.yuvsigdate | localeDate: 'eoShortDate'}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.date'|translate}}</div>\n <div class=\"value\">{{dmsObject.data.yuvsigreqdate | localeDate:'eoShortDate'}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.requester'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigrequester_meta.title\">\n {{dmsObject.data.yuvsigrequester_meta.title}} </div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.subject'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigemailsubject\">{{dmsObject.data.yuvsigemailsubject}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.body'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigemailbody\">{{dmsObject.data.yuvsigemailbody}}</div>\n </div>\n <div class=\"row\" *ngIf=\"isUserAdmin()\">\n <div class=\"label\">{{'eo.object.signature-tab.label.signingPlatform'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigplatform\">{{dmsObject.data.yuvsigplatform}}</div>\n </div>\n <div class=\"row\" *ngIf=\"isUserAdmin()\">\n <div class=\"label\">{{'eo.object.signature-tab.label.signingPlatformId'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigplatformid\">{{dmsObject.data.yuvsigplatformid}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.signers'|translate}}</div>\n <div class=\"value\">\n <div class=\"signer-container\" *ngFor=\"let s of dmsObject.data.yuvsigners\">\n <span class=\"circle\" [title]=\"'eo.object.signature-tab.order.tooltip' | translate\">{{s.yuvsignerorder}}</span>\n <div class=\"signer\">\n <div class=\"date\" *ngIf=\"s.yuvsignerdate\">{{s.yuvsignerdate | localeDate: 'eoShort'}}</div>\n <div class=\"name\" *ngIf=\"s.yuvsignername\">{{s.yuvsignername}}</div>\n <div class=\"email\" *ngIf=\"s.yuvsigneremail\">{{s.yuvsigneremail}}</div>\n <div class=\"state {{s.yuvsignerstatus}}\"><span *ngIf=\"s.yuvsignerstatus_meta?.label\">{{s.yuvsignerstatus_meta.label}}</span></div>\n <div class=\"reason\" *ngIf=\"s.yuvsignercomment\">{{s.yuvsignercomment}}</div>\n </div>\n\n </div>\n </div>\n </div>\n </section>\n</ng-container>\n<ng-template #tplNoSignature>\n {{'eo.object.signature-tab.no-signatures'|translate}}\n</ng-template>\n",
3963
- styles: [":host{display:block;height:100%;overflow-y:auto;padding:var(--app-pane-padding)}:host .row{display:flex;line-height:1.5em;margin:0 calc(var(--app-pane-padding)/-4) 2px}:host .row .label,:host .row .value{margin:calc(var(--app-pane-padding)/4)}:host .row .label{border-radius:2px;color:var(--color-white);flex-basis:30%;flex-shrink:0;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/4);white-space:normal}:host .row .circle,:host .row .label{background-color:var(--color-primary-3);display:inline-block}:host .row .circle{align-self:center;border-radius:50%;color:#fff;height:2em;line-height:1.8em;text-align:center;width:2em}:host .row .signer-container{--signer-border-radius:4px;--signer-icon-color:var(--text-color-hint);--signer-row-gap:calc(var(--app-pane-padding)/2);background-color:var(--panel-background);border-radius:0 var(--signer-border-radius) var(--signer-border-radius) 0;display:flex;margin-bottom:calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}:host .row .signer-container .signer{-moz-column-gap:var(--app-pane-padding);column-gap:var(--app-pane-padding);display:grid;grid-template-areas:\"name name\" \"email email\" \"state date\" \"reason reason\";grid-template-columns:1fr auto;grid-template-rows:auto auto auto auto;margin-left:5px}:host .row .signer-container .signed{--signer-icon-color:var(--color-success)}:host .row .signer-container .cancelled,:host .row .signer-container .expired,:host .row .signer-container .revised{--signer-icon-color:var(--color-warning)}:host .row .signer-container .error{--signer-icon-color:var(--color-error)}:host .row .signer-container .date{-ms-grid-column:3;-ms-grid-row:3;align-self:center;color:var(--text-color-caption);grid-area:date;margin-top:var(--signer-row-gap)}:host .row .signer-container .name{-ms-grid-column:1;-ms-grid-column-span:3;-ms-grid-row:1;font-weight:var(--font-weight-bold);grid-area:name}:host .row .signer-container .email{-ms-grid-column:1;-ms-grid-column-span:3;-ms-grid-row:2;grid-area:email}:host .row .signer-container .state{-ms-grid-column:1;-ms-grid-row:3;grid-area:state;margin-top:var(--signer-row-gap)}:host .row .signer-container .state span{background-color:var(--signer-icon-color);border-radius:4px;color:#fff;display:inline-block;padding:2px 4px 1px}:host .row .signer-container .reason{-ms-grid-column:1;-ms-grid-column-span:3;-ms-grid-row:4;grid-area:reason;margin-top:var(--signer-row-gap)}"]
3964
+ template: "<ng-container *ngIf=\"dmsObject.data.yuvsigstatus_meta; else tplNoSignature\">\n\n <section class=\"info\">\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.status'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigstatus_meta\">\n {{dmsObject.data.yuvsigstatus_meta.label}}</div>\n </div>\n <div class=\"row\" *ngIf=\"dmsObject.data.yuvsigerror\">\n <div class=\"label\">{{'eo.object.signature-tab.label.error'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigerror.length\">{{dmsObject.data.yuvsigerror}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.signedate'|translate}}</div>\n <div class=\"value\">{{dmsObject.data.yuvsigdate | localeDate: 'eoShortDate'}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.date'|translate}}</div>\n <div class=\"value\">{{dmsObject.data.yuvsigreqdate | localeDate:'eoShortDate'}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.requester'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigrequester_meta.title\">\n {{dmsObject.data.yuvsigrequester_meta.title}} </div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.subject'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigemailsubject\">{{dmsObject.data.yuvsigemailsubject}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.body'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigemailbody\">{{dmsObject.data.yuvsigemailbody}}</div>\n </div>\n <div class=\"row\" *ngIf=\"dmsObject.data.yuvsigcanceledby\">\n <div class=\"label\">{{'eo.object.signature-tab.label.canceledby'|translate}}</div>\n <div class=\"value\">{{dmsObject.data.yuvsigcanceledby}}</div>\n </div>\n <div class=\"row\" *ngIf=\"dmsObject.data.yuvsigreason\">\n <div class=\"label\">{{'eo.object.signature-tab.label.reason'|translate}}</div>\n <div class=\"value\">{{dmsObject.data.yuvsigreason}}</div>\n </div>\n <div class=\"row\" *ngIf=\"isUserAdmin()\">\n <div class=\"label\">{{'eo.object.signature-tab.label.signingPlatform'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigplatform\">{{dmsObject.data.yuvsigplatform}}</div>\n </div>\n <div class=\"row\" *ngIf=\"isUserAdmin()\">\n <div class=\"label\">{{'eo.object.signature-tab.label.signingPlatformId'|translate}}</div>\n <div class=\"value\" *ngIf=\"dmsObject.data.yuvsigplatformid\">{{dmsObject.data.yuvsigplatformid}}</div>\n </div>\n <div class=\"row\">\n <div class=\"label\">{{'eo.object.signature-tab.label.signers'|translate}}</div>\n <div class=\"value\">\n <div class=\"signer-container\" *ngFor=\"let s of dmsObject.data.yuvsigners\">\n <span class=\"circle\" [title]=\"'eo.object.signature-tab.order.tooltip' | translate\">{{s.yuvsignerorder}}</span>\n <div class=\"signer\">\n <div class=\"date\" *ngIf=\"s.yuvsignerdate\">{{s.yuvsignerdate | localeDate: 'eoShort'}}</div>\n <div class=\"name\" *ngIf=\"s.yuvsignername\">{{s.yuvsignername}}</div>\n <div class=\"email\" *ngIf=\"s.yuvsigneremail\">{{s.yuvsigneremail}}</div>\n <div class=\"state {{s.yuvsignerstatus}}\"><span *ngIf=\"s.yuvsignerstatus_meta?.label\">{{s.yuvsignerstatus_meta.label}}</span></div>\n <div class=\"reason\" *ngIf=\"s.yuvsignercomment\">{{s.yuvsignercomment}}</div>\n </div>\n\n </div>\n </div>\n </div>\n </section>\n</ng-container>\n<ng-template #tplNoSignature>\n <div class=\"signature-not-found\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_signature.svg', text:'eo.object.signature-tab.no-signatures'}\"></eo-error-message>\n </div>\n</ng-template>\n",
3965
+ styles: [":host{display:block;height:100%;overflow-y:auto;padding:var(--app-pane-padding)}:host .row{display:flex;line-height:1.5em;margin:0 calc(var(--app-pane-padding)/-4) 2px}:host .row .label,:host .row .value{margin:calc(var(--app-pane-padding)/4)}:host .row .label{border-radius:2px;color:var(--color-white);flex-basis:30%;flex-shrink:0;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/4);white-space:normal}:host .row .circle,:host .row .label{background-color:var(--color-primary-3);display:inline-block}:host .row .circle{align-self:center;border-radius:50%;color:#fff;height:2em;line-height:1.8em;text-align:center;width:2em}:host .row .signer-container{--signer-border-radius:4px;--signer-icon-color:var(--text-color-hint);--signer-row-gap:calc(var(--app-pane-padding)/2);background-color:var(--panel-background);border-radius:0 var(--signer-border-radius) var(--signer-border-radius) 0;display:flex;margin-bottom:calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}:host .row .signer-container .signer{-moz-column-gap:var(--app-pane-padding);column-gap:var(--app-pane-padding);display:grid;grid-template-areas:\"name name\" \"email email\" \"state date\" \"reason reason\";grid-template-columns:1fr auto;grid-template-rows:auto auto auto auto;margin-left:5px}:host .row .signer-container .signed{--signer-icon-color:var(--color-success)}:host .row .signer-container .cancelled,:host .row .signer-container .expired,:host .row .signer-container .revised{--signer-icon-color:var(--color-warning)}:host .row .signer-container .error{--signer-icon-color:var(--color-error)}:host .row .signer-container .date{-ms-grid-column:3;-ms-grid-row:3;align-self:center;color:var(--text-color-caption);grid-area:date;margin-top:var(--signer-row-gap)}:host .row .signer-container .name{-ms-grid-column:1;-ms-grid-column-span:3;-ms-grid-row:1;font-weight:var(--font-weight-bold);grid-area:name}:host .row .signer-container .email{-ms-grid-column:1;-ms-grid-column-span:3;-ms-grid-row:2;grid-area:email}:host .row .signer-container .state{-ms-grid-column:1;-ms-grid-row:3;grid-area:state;margin-top:var(--signer-row-gap)}:host .row .signer-container .state span{background-color:var(--signer-icon-color);border-radius:4px;color:#fff;display:inline-block;padding:2px 4px 1px}:host .row .signer-container .reason{-ms-grid-column:1;-ms-grid-column-span:3;-ms-grid-row:4;grid-area:reason;margin-top:var(--signer-row-gap)}:host .signature-not-found{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}"]
3964
3966
  },] }
3965
3967
  ];
3966
3968
  SignatureTabComponent.ctorParameters = () => [
@@ -5104,6 +5106,12 @@ class AppProcessComponent {
5104
5106
  cancelDialog() {
5105
5107
  this.processForm = null;
5106
5108
  }
5109
+ onCancel(dialog) {
5110
+ if (!this.pendingChanges.checkForPendingTasks(this.pendingTaskIds)) {
5111
+ this.finishPending();
5112
+ dialog.visible = false;
5113
+ }
5114
+ }
5107
5115
  startPending() {
5108
5116
  // because this method will be called every time the form status changes,
5109
5117
  // pending task will only be started once until it was finished
@@ -5130,7 +5138,7 @@ class AppProcessComponent {
5130
5138
  AppProcessComponent.decorators = [
5131
5139
  { type: Component, args: [{
5132
5140
  selector: 'eo-app-process',
5133
- template: "<eo-dialog [title]=\"'eo.bar.button.execute.actions.tooltip' | translate\"\n [visible]=\"true\"\n [minWidth]=\"400\"\n [styleClass]=\"'more-actions'\"\n (hide)=\"close($event)\">\n\n <section *ngIf=\"processes?.length; else loading\">\n\n <div class=\"process-item\" *ngFor=\"let process of processes\" (click)=\"selectProcess(process)\">\n <eo-icon [iconId]=\"process.iconid\" *ngIf=\"process.iconid; else defaulticon\"></eo-icon>\n <ng-template #defaulticon><eo-icon [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon></ng-template>\n <div class=\"pi-content\">\n <div class=\"title\">{{process.title}}</div>\n <div class=\"description\">{{process.description}}</div>\n </div>\n </div>\n\n </section>\n\n <ng-container *ngIf=\"!processForm; else tplProcessForm\" class=\"select-process\"></ng-container>\n\n <ng-template #loading>\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </ng-template>\n\n\n <ng-template #tplProcessForm>\n\n <eo-dialog [title]=\"selectedProcess?.title\"\n [subtitle]=\"selectedProcess?.description\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"1000\"\n [styleClass]=\"'process-form-dialog'\"\n (hide)=\"cancelDialog()\" #dialog>\n\n <eo-process-form [formOptions]=\"processForm\"\n (onResetForm)=\"formReset($event)\"\n (onCancel)=\"(dialog.visible = false)\"\n (onSaveForm)=\"startProcessWithFormData($event)\"\n (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-process-form>\n </eo-dialog>\n </ng-template>\n\n</eo-dialog>\n",
5141
+ template: "<eo-dialog [title]=\"'eo.bar.button.execute.actions.tooltip' | translate\"\n [visible]=\"true\"\n [minWidth]=\"400\"\n [styleClass]=\"'more-actions'\"\n (hide)=\"close($event)\">\n\n <section *ngIf=\"processes?.length; else loading\">\n\n <div class=\"process-item\" *ngFor=\"let process of processes\" (click)=\"selectProcess(process)\">\n <eo-icon [iconId]=\"process.iconid\" *ngIf=\"process.iconid; else defaulticon\"></eo-icon>\n <ng-template #defaulticon><eo-icon [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon></ng-template>\n <div class=\"pi-content\">\n <div class=\"title\">{{process.title}}</div>\n <div class=\"description\">{{process.description}}</div>\n </div>\n </div>\n\n </section>\n\n <ng-container *ngIf=\"!processForm; else tplProcessForm\" class=\"select-process\"></ng-container>\n\n <ng-template #loading>\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </ng-template>\n\n\n <ng-template #tplProcessForm>\n\n <eo-dialog [title]=\"selectedProcess?.title\"\n [subtitle]=\"selectedProcess?.description\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"1000\"\n [styleClass]=\"'process-form-dialog'\"\n (hide)=\"cancelDialog()\" #dialog>\n\n <eo-process-form [formOptions]=\"processForm\"\n (onResetForm)=\"formReset($event)\"\n (onCancel)=\"onCancel(dialog)\"\n (onSaveForm)=\"startProcessWithFormData($event)\"\n (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-process-form>\n </eo-dialog>\n </ng-template>\n\n</eo-dialog>\n",
5134
5142
  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)}"]
5135
5143
  },] }
5136
5144
  ];
@@ -10178,15 +10186,17 @@ FormElementComponent.propDecorators = {
10178
10186
  };
10179
10187
 
10180
10188
  class FormElementTableComponent extends UnsubscribeOnDestroy {
10181
- constructor(systemService, pendingChanges, gridApi, translate, storageService, eventService) {
10189
+ constructor(storageService, systemService, pendingChanges, gridApi) {
10182
10190
  super();
10191
+ this.storageService = storageService;
10183
10192
  this.systemService = systemService;
10184
10193
  this.pendingChanges = pendingChanges;
10185
10194
  this.gridApi = gridApi;
10186
- this.translate = translate;
10187
- this.storageService = storageService;
10188
- this.eventService = eventService;
10189
10195
  this.modules = [ClientSideRowModelModule, CsvExportModule];
10196
+ this.BASE_CACHE_LAYOUT_KEY = 'table.state';
10197
+ this.cacheLayoutKey = this.BASE_CACHE_LAYOUT_KEY;
10198
+ this.minWidth = '97vw';
10199
+ this.height = '95vh';
10190
10200
  this.gridReady = false;
10191
10201
  this.showDialog = false;
10192
10202
  this.showPreview = false;
@@ -10243,13 +10253,14 @@ class FormElementTableComponent extends UnsubscribeOnDestroy {
10243
10253
  this.overlayGridOptions.suppressRowClickSelection = !!this.rowEdit && !!tasks.includes(this.rowEdit.pendingTaskId);
10244
10254
  }, 0);
10245
10255
  });
10246
- this._cachedColumns = this.storageService.getItem(FormElementTableComponent.COLUMNS_DEFINITION) || [];
10247
- this._cachedColumnsOverlay = this.storageService.getItem(FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY) || [];
10248
- this.showPreview = !!this.storageService.getItem('eo.table.showPreview');
10249
10256
  }
10250
10257
  set params(p) {
10258
+ this.cacheLayoutKey = p ? `${this.BASE_CACHE_LAYOUT_KEY}.${p.element.name}` : this.BASE_CACHE_LAYOUT_KEY;
10251
10259
  if (p) {
10252
10260
  this._params = p;
10261
+ this._cachedColumns = this.storageService.getItem(this.cacheLayoutKey + '.colDef') || [];
10262
+ this._cachedColumnsOverlay = this.storageService.getItem(this.cacheLayoutKey + '.colDefOverlay') || [];
10263
+ this.showPreview = this.storageService.getItem(this.cacheLayoutKey + '.showPreview');
10253
10264
  CellRenderer.situation = this._params.situation;
10254
10265
  if (this._params.situation === 'SEARCH') {
10255
10266
  this._params.size = 'supersmall';
@@ -10567,10 +10578,10 @@ class FormElementTableComponent extends UnsubscribeOnDestroy {
10567
10578
  }
10568
10579
  }
10569
10580
  onColumnResized(column, overlay) {
10570
- let columnsDefinition = FormElementTableComponent.COLUMNS_DEFINITION;
10581
+ let columnsDefinition = this.cacheLayoutKey + '.colDef';
10571
10582
  let cachedColumns = this._cachedColumns;
10572
10583
  if (overlay) {
10573
- columnsDefinition = FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY;
10584
+ columnsDefinition = this.cacheLayoutKey + '.colDefOverlay';
10574
10585
  cachedColumns = this._cachedColumnsOverlay;
10575
10586
  }
10576
10587
  let col = cachedColumns.find(c => c.qname === column.colDef.refData.qname);
@@ -10582,17 +10593,30 @@ class FormElementTableComponent extends UnsubscribeOnDestroy {
10582
10593
  }
10583
10594
  this.storageService.setItem(columnsDefinition, cachedColumns);
10584
10595
  }
10596
+ _updateSplitViewLayoutCache() {
10597
+ setTimeout(() => {
10598
+ this.splitView.updateLayoutCache();
10599
+ });
10600
+ }
10585
10601
  togglePreview() {
10586
10602
  this.showPreview = !this.showPreview;
10587
- this.storageService.setItem('eo.table.showPreview', this.showPreview);
10603
+ // make sure that the layout of the split view is updated after the preview panels
10604
+ // visibility changed
10605
+ this._updateSplitViewLayoutCache();
10606
+ this.storageService.setItem(this.cacheLayoutKey + '.showPreview', this.showPreview);
10607
+ }
10608
+ ngAfterViewInit() {
10609
+ this._updateSplitViewLayoutCache();
10610
+ }
10611
+ ngOnInit() {
10612
+ var _a;
10613
+ this.hasPreviewFile = this.hasPreviewFile !== undefined ? this.hasPreviewFile : !!((_a = this.params.object) === null || _a === void 0 ? void 0 : _a.content);
10588
10614
  }
10589
10615
  }
10590
- FormElementTableComponent.COLUMNS_DEFINITION = 'eo.framework.cache.tables.columns.definition';
10591
- FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY = 'eo.framework.cache.tables.overlay.columns.definition';
10592
10616
  FormElementTableComponent.decorators = [
10593
10617
  { type: Component, args: [{
10594
10618
  selector: 'eo-table',
10595
- template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"label\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\" [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog\n[title]=\"params.element.label\"\n[visible]=\"showDialog\"\n[dirtyCheck]=\"rowEdit?.pendingTaskId\"\n[minWidth]=\"_params.situation !== 'SEARCH' ? '97vw' : 200\"\n[styleClass]=\"'object-form-table-dialog'\"\n(hide)=\"onClose()\"\n[isFormTable]=\"true\"\n[hasPreviewFile]=\"!!params.object?.content\"\n[showPreview]=\"showPreview\"\n(onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\">\n\n <eo-split [gutterSize]=\"16\" [switchable]=\"true\" [cacheLayout]=\"'table.state'\">\n\n <eo-split-area *ngIf=\"_params.situation !== 'SEARCH'\" class=\"table-area\" [size]=\"40\" [minSizePixel]=\"100\" [order]=\"1\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"label\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #agGrid2 *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\"\n (cellClicked)=\"onCellClicked($event);editRow($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </eo-split-area>\n\n <eo-split-area [size]=\"20\" [minSizePixel]=\"300\" *ngIf=\"editingRow\" [order]=\"2\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions.rowData.length\" #rowEdit\n (onSave)=\"updateRow($event)\"\n (onSaveCopy)=\"copyRow($event)\"\n (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </eo-split-area>\n\n <eo-split-area [visible]=\"showPreview && !!params?.object?.content\" *ngIf=\"!!params?.object?.content\" [size]=\"40\" [minSizePixel]=\"150\" [order]=\"3\">\n <eo-media *ngIf=\"!!params?.object?.content\" [dmsObject]=\"params.object\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\"></eo-media>\n </eo-split-area>\n </eo-split>\n </div>\n</eo-dialog>\n",
10619
+ template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"label\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\" [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog\n[title]=\"params.element.label\"\n[visible]=\"showDialog\"\n[dirtyCheck]=\"rowEdit?.pendingTaskId\"\n[minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\"\n[height]=\"height\"\n[styleClass]=\"'object-form-table-dialog'\"\n(hide)=\"onClose()\"\n[isFormTable]=\"true\"\n[hasPreviewFile]=\"hasPreviewFile\"\n[showPreview]=\"showPreview\"\n(onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n\n <eo-split #splitView [gutterSize]=\"16\" [switchable]=\"true\" [cacheLayout]=\"cacheLayoutKey\">\n\n <eo-split-area [height]=\"95\" *ngIf=\"_params.situation !== 'SEARCH'\" class=\"table-area\" [size]=\"40\" [minSizePixel]=\"100\" [order]=\"1\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"label\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\" [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData.length\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #agGrid2 *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\"\n (cellClicked)=\"onCellClicked($event);editRow($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\"\n (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </eo-split-area>\n\n <eo-split-area [height]=\"95\" [size]=\"20\" [minSizePixel]=\"300\" *ngIf=\"editingRow\" [order]=\"2\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions.rowData.length\" #rowEdit\n (onSave)=\"updateRow($event)\"\n (onSaveCopy)=\"copyRow($event)\"\n (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </eo-split-area>\n\n <eo-split-area [height]=\"95\" [visible]=\"showPreview && hasPreviewFile\" [size]=\"40\" [minSizePixel]=\"150\" [order]=\"3\">\n <eo-media *ngIf=\"hasPreviewFile\" [dmsObject]=\"params.object\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\"></eo-media>\n </eo-split-area>\n </eo-split>\n </div>\n</eo-dialog>\n",
10596
10620
  providers: [
10597
10621
  {
10598
10622
  provide: NG_VALUE_ACCESSOR,
@@ -10609,16 +10633,18 @@ FormElementTableComponent.decorators = [
10609
10633
  },] }
10610
10634
  ];
10611
10635
  FormElementTableComponent.ctorParameters = () => [
10636
+ { type: LocalStorageService },
10612
10637
  { type: SystemService },
10613
10638
  { type: PendingChangesService },
10614
- { type: GridService },
10615
- { type: TranslateService },
10616
- { type: LocalStorageService },
10617
- { type: EventService }
10639
+ { type: GridService }
10618
10640
  ];
10619
10641
  FormElementTableComponent.propDecorators = {
10620
10642
  rowEdit: [{ type: ViewChild, args: ['rowEdit',] }],
10643
+ splitView: [{ type: ViewChild, args: ['splitView',] }],
10621
10644
  limit: [{ type: Input }],
10645
+ hasPreviewFile: [{ type: Input }],
10646
+ minWidth: [{ type: Input }],
10647
+ height: [{ type: Input }],
10622
10648
  params: [{ type: Input }],
10623
10649
  copyCellHandler: [{ type: HostListener, args: ['keydown.control.alt.shift.c', ['$event'],] }, { type: HostListener, args: ['keydown.control.shift.c', ['$event'],] }, { type: HostListener, args: ['keydown.control.alt.c', ['$event'],] }, { type: HostListener, args: ['keydown.control.c', ['$event'],] }]
10624
10650
  };
@@ -10846,7 +10872,7 @@ class SplitComponent extends UnsubscribeOnDestroy {
10846
10872
  this.layoutService.getLayout(`eo.split.layout.${this.cacheLayout}`)
10847
10873
  .subscribe(layout => {
10848
10874
  (layout || []).forEach((area) => {
10849
- if (area && this.areas.length) {
10875
+ if (area && this.areas.length > area.index) {
10850
10876
  this.areas[area.index].size = area.size;
10851
10877
  this.areas[area.index].sizeUser = area.size;
10852
10878
  this.areas[area.index].component.visible = area.visible;
@@ -10899,14 +10925,14 @@ class SplitComponent extends UnsubscribeOnDestroy {
10899
10925
  const item = this.areas.find(a => a.component === area);
10900
10926
  if (item) {
10901
10927
  this.refresh();
10902
- this.updateCache();
10928
+ this.updateLayoutCache();
10903
10929
  }
10904
10930
  }
10905
10931
  showArea(area) {
10906
10932
  const item = this.areas.find(a => a.component === area);
10907
10933
  if (item) {
10908
10934
  this.refresh();
10909
- this.updateCache();
10935
+ this.updateLayoutCache();
10910
10936
  }
10911
10937
  }
10912
10938
  isLastVisibleArea(area) {
@@ -11052,7 +11078,7 @@ class SplitComponent extends UnsubscribeOnDestroy {
11052
11078
  this.containerSize = 0;
11053
11079
  this.areaASize = 0;
11054
11080
  this.areaBSize = 0;
11055
- this.updateCache();
11081
+ this.updateLayoutCache();
11056
11082
  this.isDragging = false;
11057
11083
  this.notify('end');
11058
11084
  }
@@ -11069,7 +11095,7 @@ class SplitComponent extends UnsubscribeOnDestroy {
11069
11095
  return this.visibleTransitionEndInternal.next(data);
11070
11096
  }
11071
11097
  }
11072
- updateCache() {
11098
+ updateLayoutCache() {
11073
11099
  if (this.cacheLayout) {
11074
11100
  let layout = this.areas.map((a, i) => ({ index: i, size: a.size, visible: a.component.visible }));
11075
11101
  this.layoutService.cacheLayout(`eo.split.layout.${this.cacheLayout}`, layout);
@@ -11207,6 +11233,9 @@ class SplitAreaComponent extends TabPanel {
11207
11233
  this.visibility = 'block';
11208
11234
  this.eventsLockFct = [];
11209
11235
  }
11236
+ set height(height) {
11237
+ this._height = height;
11238
+ }
11210
11239
  set order(v) {
11211
11240
  this._order = !isNaN(v) ? v : null;
11212
11241
  this.split.updateArea(this, this._order, this._size, this._minSizePixel);
@@ -11287,6 +11316,7 @@ SplitAreaComponent.propDecorators = {
11287
11316
  _height: [{ type: HostBinding, args: ['style.height.%',] }],
11288
11317
  minWidth: [{ type: HostBinding, args: ['style.min-width.px',] }],
11289
11318
  visibleCls: [{ type: HostBinding, args: ['class.visible',] }],
11319
+ height: [{ type: Input }],
11290
11320
  order: [{ type: Input }],
11291
11321
  size: [{ type: Input }],
11292
11322
  minSizePixel: [{ type: Input }],
@@ -13134,7 +13164,7 @@ class TextFilterComponent extends AbstractFilterComponent {
13134
13164
  }
13135
13165
  }
13136
13166
  saveFilter(term) {
13137
- if (!this.savedFilters.includes(term)) {
13167
+ if (term && !this.savedFilters.includes(term)) {
13138
13168
  this.savedFilters.push(term);
13139
13169
  this.userService.changeSavedInboxFilters(this.savedFilters).subscribe();
13140
13170
  }
@@ -13154,7 +13184,7 @@ class TextFilterComponent extends AbstractFilterComponent {
13154
13184
  TextFilterComponent.decorators = [
13155
13185
  { type: Component, args: [{
13156
13186
  selector: 'eo-text-filter',
13157
- template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n",
13187
+ template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n",
13158
13188
  styles: [".title{font-weight:700;margin-top:.5em}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon.disable-save-filter{color:var(--color-primary-3);cursor:default}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}"]
13159
13189
  },] }
13160
13190
  ];
@@ -13458,9 +13488,11 @@ class WorkflowComponent {
13458
13488
  this.finished.emit();
13459
13489
  }
13460
13490
  cancel() {
13461
- this.finishPending();
13462
- this.dialog.visible = false;
13463
- this.canceled.emit();
13491
+ if (!this.pendingChanges.checkForPendingTasks(this.pendingTaskIds)) {
13492
+ this.finishPending();
13493
+ this.dialog.visible = false;
13494
+ this.canceled.emit();
13495
+ }
13464
13496
  }
13465
13497
  onIndexDataChanged(event) {
13466
13498
  this.form = event;
@@ -15540,7 +15572,10 @@ class DeleteComponent {
15540
15572
  .deleteDmsObject(dmsObject.id, dmsObject.type.name, hardDelete, force)
15541
15573
  .subscribe(() => {
15542
15574
  this.showForceDeleteDialog = false;
15543
- this.toast.success(this.translate.instant('eo.action.delete.dms.object.done.title'), this.translate.instant('eo.action.delete.dms.object.done.message'));
15575
+ const successMessage = this.capabilitiesService.hasCapability('recyclebin')
15576
+ ? this.translate.instant('eo.action.delete.dms.object.done.enabled.message', { title: dmsObject.title })
15577
+ : this.translate.instant('eo.action.delete.dms.object.done.message', { title: dmsObject.title });
15578
+ this.toast.success(this.translate.instant('eo.action.delete.dms.object.done.title'), successMessage);
15544
15579
  this.eventService.trigger(EnaioEvent.DMS_OBJECT_DELETED, this.selection[0]);
15545
15580
  if ((dmsObject.isContextFolder || !dmsObject.contextFolder) && this.isAllowedState()) {
15546
15581
  this.router.navigate(['/']);
@@ -16758,9 +16793,11 @@ class SignatureComponent {
16758
16793
  this.finished.emit();
16759
16794
  }
16760
16795
  cancel() {
16761
- this.finishPending();
16762
- this.dialog.visible = false;
16763
- this.canceled.emit();
16796
+ if (!this.pendingChanges.checkForPendingTasks(this.pendingTaskIds)) {
16797
+ this.finishPending();
16798
+ this.dialog.visible = false;
16799
+ this.canceled.emit();
16800
+ }
16764
16801
  }
16765
16802
  onIndexDataChanged() {
16766
16803
  if (this.signingForm.dirty) {
@@ -16790,8 +16827,8 @@ class SignatureComponent {
16790
16827
  SignatureComponent.decorators = [
16791
16828
  { type: Component, args: [{
16792
16829
  selector: 'eo-signature',
16793
- template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'medium'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n ></eo-string>\n </eo-form-input>\n <div class=\"table\">\n <eo-table [limit]=\"maxSigners\" [params]=\"{\n situation: '',\n element: getLocalizedForm(),\n size: 'small',\n object: selection[0]\n }\" [formControlName]=\"'yuvsigners'\"></eo-table>\n </div>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"true\" class=\"cta-wrapper\">\n <button *ngIf=\"signingForm?.dirty\" (click)=\"signingForm.reset()\" class=\"button-reset\" translate>eo.action.signature.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n</eo-dialog>\n",
16794
- styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form .actions{align-items:flex-end;display:flex;flex:0;flex-direction:column;justify-content:center;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:0;min-height:3em;min-width:0}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media (max-width:800px){::ng-deep .signature-form .actions{align-items:flex-end;flex-direction:column}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding)/4)}"]
16830
+ template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n ></eo-string>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'medium'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n ></eo-string>\n </eo-form-input>\n <div class=\"table\">\n <eo-table [limit]=\"maxSigners\" [height]=\"'60vh'\" [minWidth]=\"'68vw'\" [hasPreviewFile]=\"false\" [params]=\"{\n situation: 'CREATE',\n element: getLocalizedForm(),\n size: 'small',\n object: selection[0]\n }\" [formControlName]=\"'yuvsigners'\"></eo-table>\n </div>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button *ngIf=\"signingForm?.dirty\" (click)=\"signingForm.reset()\" class=\"button-reset\" translate>eo.action.signature.reset</button>\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signers.value || !signers.value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n",
16831
+ styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form .actions{align-items:flex-end;display:flex;flex:0;flex-direction:column;justify-content:center;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:0;min-height:3em;min-width:0}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media (max-width:800px){::ng-deep .signature-form .actions{align-items:flex-end;flex-direction:column}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding)/4)}.loader-overlay__mask{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;background:rgba(var(--color-white-rgb),.8);display:flex;height:100%;position:absolute;width:100%;z-index:11}.loader-overlay__mask .signature__loader{margin:auto}"]
16795
16832
  },] }
16796
16833
  ];
16797
16834
  SignatureComponent.ctorParameters = () => [
@@ -16829,7 +16866,13 @@ class SignatureActionComponent extends DmsObjectTarget {
16829
16866
  && !this.isFinalized(element));
16830
16867
  }
16831
16868
  isAllowedMimeType(item) {
16832
- return item.content && item.content.contents[0].mimetype === 'application/pdf';
16869
+ return item.content && (item.content.contents[0].mimetype === 'application/pdf'
16870
+ || item.content.contents[0].mimetype === 'application/msword'
16871
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
16872
+ || item.content.contents[0].mimetype === 'application/vnd.ms-excel'
16873
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
16874
+ || item.content.contents[0].mimetype === 'application/vnd.ms-powerpoint'
16875
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.presentationml.presentation');
16833
16876
  }
16834
16877
  isAllowedObjectType(item) {
16835
16878
  return item.type.supertypes.includes('yuvsigning');
@@ -18650,6 +18693,7 @@ class ObjectDetailsComponent extends UnsubscribeOnDestroy {
18650
18693
  this.enableSync = true;
18651
18694
  this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
18652
18695
  this.externalPanels = new QueryList();
18696
+ this.preventClickThrough = false;
18653
18697
  // shortcut actions
18654
18698
  this.shortcuts = {
18655
18699
  id: 'eo.object-details',
@@ -18773,7 +18817,7 @@ class ObjectDetailsComponent extends UnsubscribeOnDestroy {
18773
18817
  this.loadDmsObject(this.parseDmsParams(res)).subscribe((res) => {
18774
18818
  // refreshing object details may result in an updated version of the object
18775
18819
  // so we'll use this trigger to also emitt those changes to other listening components
18776
- if (this.item && res && (this.item.id === res.id) && res.version > this.item.version) {
18820
+ if (this.item && res && (this.item.id === res.id)) {
18777
18821
  this.eventService.trigger(EnaioEvent.DMS_OBJECT_UPDATED, res);
18778
18822
  }
18779
18823
  this.dmsObject = res;
@@ -18787,7 +18831,13 @@ class ObjectDetailsComponent extends UnsubscribeOnDestroy {
18787
18831
  }
18788
18832
  }
18789
18833
  refreshContent() {
18790
- this.updateContent();
18834
+ if (!this.preventClickThrough) {
18835
+ this.preventClickThrough = true;
18836
+ this.updateContent();
18837
+ }
18838
+ setTimeout(() => {
18839
+ this.preventClickThrough = false;
18840
+ }, 5000);
18791
18841
  }
18792
18842
  prepareIndexDataPreview(item, formData) {
18793
18843
  const { id, data, type, created, modified, content, contentFileName, contentFileSize, version } = item;
@@ -18929,9 +18979,9 @@ class ObjectDetailsComponent extends UnsubscribeOnDestroy {
18929
18979
  ObjectDetailsComponent.decorators = [
18930
18980
  { type: Component, args: [{
18931
18981
  selector: 'eo-object-details',
18932
- template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container *ngIf=\"!isReference; else tplHeadReference\">\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\" [ngClass]=\"{'enabled': enableSync}\"\n [iconSrc]=\"'assets/_default/svg/ic_link.svg'\" [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\"\n (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\" *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\" *ngIf=\"!enableCompare && !recyclebinTabs && item.content && item.rights.edit && (agentIsConnected$ | async)\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n <ng-template #tplHeadReference>\n <a class=\"button reference primary\"\n [title]=\"('eo.object.reference.tooltip' | translate:{title:referenceTitle})\"\n [routerLink]=\"['/object', item.id]\"\n [queryParams]=\"{type: item.typeName}\">{{'eo.object.reference.open'|translate}}</a>\n </ng-template>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\"\n [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <eo-tab-container [pluginPanels]=\"externalPanels\" [cacheLayout]=\"!enableCompare && cacheLayout\" [defaultPanelOrder]=\"!enableCompare && panelOrder\"\n [dndEnabled]=\"!enableCompare\" [enableSlave]=\"!enableCompare || item2\" [enableSync]=\"enableCompare && enableSync\"\n [version]=\"enableCompare && {master: item && item.version, slave: item2 && item2.version}\">\n\n <eo-tab-panel [id]=\"'summary'\" *ngIf=\"isVisible('summary')\" header=\"{{'eo.object.summary.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'indexdata'\" *ngIf=\"isVisible('indexdata') && !recyclebinTabs\" header=\"{{'eo.object.indexdata.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'preview'\" *ngIf=\"isVisible('preview')\" header=\"{{'eo.object.content.title' | translate}}\" [isSlave]=\"!enableCompare\"\n #preview>\n <ng-template pTemplate=\"content\" *ngIf=\"!undockWinActive; else loadPreview\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [disabled]=\"!preview.selected\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n <ng-template #loadPreview>\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('history') && !enableCompare\" [id]=\"'history'\" header=\"{{'eo.object.history.title' | translate}}\" #history>\n <ng-template pTemplate=\"content\">\n <eo-object-history *ngIf=\"history.selected\" [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('links') && !enableCompare && !recyclebinTabs\" [id]=\"'links'\" header=\"{{'eo.object.links.title' | translate}}\" #links>\n <ng-template pTemplate=\"content\">\n <eo-object-links *ngIf=\"links.selected\" [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('signature') && hasSigningObjectType() && !recyclebinTabs\" [id]=\"'signature'\" header=\"{{'eo.object.signature-tab.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n </eo-tab-panel>\n <!-- slave tabs -->\n\n <eo-tab-panel *ngIf=\"isVisible('summary') && enableCompare\" [id]=\"'summary2'\" header=\"{{'eo.object.summary.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [indexdata]=\"indexDataPreview2\" [baseparams]=\"baseparams2\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('indexdata') && enableCompare\" [id]=\"'indexdata2'\" header=\"{{'eo.object.indexdata.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit *ngIf=\"item2\" [dmsObject]=\"item2\" (indexDataSaved)=\"onIndexDataSaved($event, item2)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('preview') && enableCompare\" [id]=\"'preview2'\" header=\"{{'eo.object.content.title' | translate}}\"\n [isSlave]=\"true\" #preview2>\n <ng-template pTemplate=\"content\">\n <eo-media *ngIf=\"item2\" [dmsObject]=\"item2\" [disabled]=\"!preview2.selected\" [undockDisabled]=\"enableCompare\"\n [useVersion]=\"true\" [searchTerm]=\"searchTerm\" #viewer2></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"enableCompare && enableDiff\" [id]=\"'changes'\" header=\"{{'eo.object.changes.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [diff]=\"{indexdata : indexDataPreview, indexdata2: indexDataPreview2, baseparams: baseparams, baseparams2: baseparams2}\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n",
18982
+ template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container *ngIf=\"!isReference; else tplHeadReference\">\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\" [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\" [ngClass]=\"{'enabled': enableSync}\"\n [iconSrc]=\"'assets/_default/svg/ic_link.svg'\" [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\"\n (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\" *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\" *ngIf=\"!enableCompare && !recyclebinTabs && item.content && item.rights.edit && (agentIsConnected$ | async)\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n <ng-template #tplHeadReference>\n <a class=\"button reference primary\"\n [title]=\"('eo.object.reference.tooltip' | translate:{title:referenceTitle})\"\n [routerLink]=\"['/object', item.id]\"\n [queryParams]=\"{type: item.typeName}\">{{'eo.object.reference.open'|translate}}</a>\n </ng-template>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\"\n [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <eo-tab-container [pluginPanels]=\"externalPanels\" [cacheLayout]=\"!enableCompare && cacheLayout\" [defaultPanelOrder]=\"!enableCompare && panelOrder\"\n [dndEnabled]=\"!enableCompare\" [enableSlave]=\"!enableCompare || item2\" [enableSync]=\"enableCompare && enableSync\"\n [version]=\"enableCompare && {master: item && item.version, slave: item2 && item2.version}\">\n\n <eo-tab-panel [id]=\"'summary'\" *ngIf=\"isVisible('summary')\" header=\"{{'eo.object.summary.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'indexdata'\" *ngIf=\"isVisible('indexdata') && !recyclebinTabs\" header=\"{{'eo.object.indexdata.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'preview'\" *ngIf=\"isVisible('preview')\" header=\"{{'eo.object.content.title' | translate}}\" [isSlave]=\"!enableCompare\"\n #preview>\n <ng-template pTemplate=\"content\" *ngIf=\"!undockWinActive; else loadPreview\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [disabled]=\"!preview.selected\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n <ng-template #loadPreview>\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\"\n [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" #viewer></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('history') && !enableCompare\" [id]=\"'history'\" header=\"{{'eo.object.history.title' | translate}}\" #history>\n <ng-template pTemplate=\"content\">\n <eo-object-history *ngIf=\"history.selected\" [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('links') && !enableCompare && !recyclebinTabs\" [id]=\"'links'\" header=\"{{'eo.object.links.title' | translate}}\" #links>\n <ng-template pTemplate=\"content\">\n <eo-object-links *ngIf=\"links.selected\" [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('signature') && hasSigningObjectType() && !recyclebinTabs\" [id]=\"'signature'\" header=\"{{'eo.object.signature-tab.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n </eo-tab-panel>\n <!-- slave tabs -->\n\n <eo-tab-panel *ngIf=\"isVisible('summary') && enableCompare\" [id]=\"'summary2'\" header=\"{{'eo.object.summary.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [indexdata]=\"indexDataPreview2\" [baseparams]=\"baseparams2\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('indexdata') && enableCompare\" [id]=\"'indexdata2'\" header=\"{{'eo.object.indexdata.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-object-form-edit *ngIf=\"item2\" [dmsObject]=\"item2\" (indexDataSaved)=\"onIndexDataSaved($event, item2)\"\n [formDisabled]=\"enableCompare || isReference\"></eo-object-form-edit>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('preview') && enableCompare\" [id]=\"'preview2'\" header=\"{{'eo.object.content.title' | translate}}\"\n [isSlave]=\"true\" #preview2>\n <ng-template pTemplate=\"content\">\n <eo-media *ngIf=\"item2\" [dmsObject]=\"item2\" [disabled]=\"!preview2.selected\" [undockDisabled]=\"enableCompare\"\n [useVersion]=\"true\" [searchTerm]=\"searchTerm\" #viewer2></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"enableCompare && enableDiff\" [id]=\"'changes'\" header=\"{{'eo.object.changes.title' | translate}}\"\n [isSlave]=\"true\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary *ngIf=\"item2\" [diff]=\"{indexdata : indexDataPreview, indexdata2: indexDataPreview2, baseparams: baseparams, baseparams2: baseparams2}\"\n [dmsObject]=\"item2\" [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n",
18933
18983
  providers: [ContentPreviewService],
18934
- styles: [":host{background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-subtitle,:host .eo-head .eo-header .eo-header-info .eo-header-title{-moz-user-select:text;-webkit-user-select:text;user-select:text}:host .eo-body__not-available{background:rgba(var(--color-black-rgb),.4);opacity:.4}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .lock.myLock{background:var(--state-orange)!important;color:var(--color-white)}:host .not-found{background:var(--color-error);border-radius:2px;color:var(--panel-background);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/4);text-align:center}:host .eo-header-status-icons{display:flex;justify-content:flex-end;margin-top:var(--app-pane-padding)}:host .eo-header-status-icons>eo-icon{background-color:var(--color-primary-2);color:var(--color-white);height:18px;margin-left:1px;padding:calc(var(--app-pane-padding)/4);width:18px}:host .eo-header-status-icons>eo-icon:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{align-items:center;background-color:var(--color-success);border-radius:2px;color:var(--color-white);display:flex;font-size:var(--font-hint);line-height:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:0 4px 1px;text-decoration:none}:host .loader-overlay__mask{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;background:rgba(var(--color-white-rgb),.8);display:flex;height:100%;position:absolute;width:100%;z-index:11}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep .sync-tab-btn{color:rgba(var(--color-black-rgb),.2)}:host ::ng-deep .sync-tab-btn .svg-link{fill:transparent}:host ::ng-deep .sync-tab-btn.enabled .svg-link{fill:currentColor}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep #indexdata{overflow:hidden}:host ::ng-deep #indexdata .object-form-edit{background:transparent!important;height:100%;margin:0;position:relative}:host ::ng-deep #indexdata .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep #indexdata .object-form-edit eo-object-form .eo-object-form{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding)}:host ::ng-deep #indexdata .object-form-edit .form-controls{-webkit-animation:eoFadeInUp .2s;animation:eoFadeInUp .2s;border:4px solid var(--panel-background-grey)}:host ::ng-deep #indexdata .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding)!important}"]
18984
+ styles: [":host{background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-subtitle,:host .eo-head .eo-header .eo-header-info .eo-header-title{-moz-user-select:text;-webkit-user-select:text;user-select:text}:host .eo-body__not-available{background:rgba(var(--color-black-rgb),.4);opacity:.4}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .lock.myLock{background:var(--state-orange)!important;color:var(--color-white)}:host .not-found{background:var(--color-error);border-radius:2px;color:var(--panel-background);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/4);text-align:center}:host .eo-header-status-icons{display:flex;justify-content:flex-end;margin-top:var(--app-pane-padding)}:host .eo-header-status-icons>eo-icon{background-color:var(--color-primary-2);color:var(--color-white);height:18px;margin-left:1px;padding:calc(var(--app-pane-padding)/4);width:18px}:host .eo-header-status-icons>eo-icon:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;border-radius:2px;color:var(--color-white);height:18px;padding:1px;width:18px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{align-items:center;background-color:var(--color-success);border-radius:2px;color:var(--color-white);display:flex;font-size:var(--font-hint);line-height:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:0 4px 1px;text-decoration:none}:host .loader-overlay__mask{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;background:rgba(var(--color-white-rgb),.8);display:flex;height:100%;position:absolute;width:100%;z-index:11}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep .sync-tab-btn{color:rgba(var(--color-black-rgb),.2)}:host ::ng-deep .sync-tab-btn .svg-link{fill:transparent}:host ::ng-deep .sync-tab-btn.enabled .svg-link{fill:currentColor}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep #indexdata{overflow:hidden}:host ::ng-deep #indexdata .object-form-edit{background:transparent!important;height:100%;margin:0;position:relative}:host ::ng-deep #indexdata .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep #indexdata .object-form-edit eo-object-form .eo-object-form{background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1);margin:var(--app-pane-padding)}:host ::ng-deep #indexdata .object-form-edit .form-controls{-webkit-animation:eoFadeInUp .2s;animation:eoFadeInUp .2s;border:4px solid var(--panel-background-grey)}:host ::ng-deep #indexdata .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{color:var(--color-primary-3);cursor:default}"]
18935
18985
  },] }
18936
18986
  ];
18937
18987
  ObjectDetailsComponent.ctorParameters = () => [
@@ -19283,7 +19333,7 @@ class ObjectHistoryComponent extends UnsubscribeOnDestroy {
19283
19333
  ObjectHistoryComponent.decorators = [
19284
19334
  { type: Component, args: [{
19285
19335
  selector: 'eo-object-history',
19286
- template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span [translate]=\"'eo.object.history.entry.type.' + entry.type + '.title'\"></span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\"\n [translateParams]=\"entry.parameter\"\n [translate]=\"'eo.object.history.entry.type.' + entry.type + '.description'\"></div>\n <div class=\"comment\">&quot;{{entry.comment}}&quot;</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span>{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n",
19336
+ template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span [translate]=\"'eo.object.history.entry.type.' + entry.type + '.title'\"></span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\"\n [translateParams]=\"entry.parameter\"\n [translate]=\"'eo.object.history.entry.type.' + (entry.intent ? entry.intent : entry.type) + '.description'\"></div>\n <div class=\"comment\">&quot;{{entry.comment}}&quot;</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span>{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n",
19287
19337
  changeDetection: ChangeDetectionStrategy.OnPush,
19288
19338
  styles: [":host .object-history{display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:350px;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{color:var(--text-color-caption);font-size:var(--font-hint);font-weight:var(--font-weight-normal);white-space:nowrap}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding)/4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{color:var(--text-color-caption);font-size:var(--font-hint);margin-bottom:calc(var(--app-pane-padding)/2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding)/4)}:host .timeline-entry .what .meta>span{background-color:rgba(var(--color-black-rgb),.08);border-radius:2px;display:block;font-size:var(--font-caption);margin:0 calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/4) 0;padding:2px 4px}:host .timeline-entry.comment .what .comment{color:var(--text-color-caption);display:block;font-style:italic;margin-bottom:calc(var(--app-pane-padding)/2)}"]
19289
19339
  },] }
@@ -19787,6 +19837,254 @@ EditIconComponent.propDecorators = {
19787
19837
  item: [{ type: Input }]
19788
19838
  };
19789
19839
 
19840
+ class RecyclebinDetailsComponent extends UnsubscribeOnDestroy {
19841
+ constructor(router, route, system, empty, backend, userService, toast, dmsService, selection, capabilityService, eventService, configService, translate) {
19842
+ super();
19843
+ this.router = router;
19844
+ this.route = route;
19845
+ this.system = system;
19846
+ this.empty = empty;
19847
+ this.backend = backend;
19848
+ this.userService = userService;
19849
+ this.toast = toast;
19850
+ this.dmsService = dmsService;
19851
+ this.selection = selection;
19852
+ this.capabilityService = capabilityService;
19853
+ this.eventService = eventService;
19854
+ this.configService = configService;
19855
+ this.translate = translate;
19856
+ // generate unique id to pass to upload registry
19857
+ this.user$ = this.userService.user$;
19858
+ this._showDeleteDialog = false;
19859
+ this.userId = '';
19860
+ this.hasError = false;
19861
+ this.nodmsobject = false;
19862
+ this.showLoader = false;
19863
+ this.panelOrder = { 'master': ['summary', 'history'], 'slave': ['preview'] };
19864
+ this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
19865
+ this.externalPanels = new QueryList();
19866
+ this.parseDmsParams = this.getDmsParams;
19867
+ this.hasContent = new EventEmitter();
19868
+ this.panelOrder = this.configService.getRaw('recyclebinDetailsTabs') || this.panelOrder;
19869
+ this.user$.subscribe(user => { this.userId = user.id; });
19870
+ }
19871
+ set showDeleteDialog(val) {
19872
+ this._showDeleteDialog = val;
19873
+ if (this._showDeleteDialog) {
19874
+ setTimeout(() => this.confirmDeleteButton.nativeElement.focus(), 0);
19875
+ }
19876
+ }
19877
+ get showDeleteDialog() {
19878
+ return this._showDeleteDialog;
19879
+ }
19880
+ set emptyState(e) {
19881
+ this._emptyState = e || EmptyStateService.defaultEmptyState();
19882
+ }
19883
+ get emptyState() {
19884
+ return this._emptyState;
19885
+ }
19886
+ set dmsParams(params) {
19887
+ this.showLoader = true;
19888
+ this.loadDmsObject(params).subscribe((res) => {
19889
+ this.dmsObject = res;
19890
+ this.showLoader = false;
19891
+ }, Utils.throw(() => this.onHasError(true, true, false)));
19892
+ }
19893
+ set dmsObject(v) {
19894
+ this.item = v;
19895
+ this.onHasError();
19896
+ // prepare indexdata preview
19897
+ this.onIndexDataSaved(null, this.item);
19898
+ this.eventService.trigger(EnaioEvent.DMS_OBJECT_LOADED, this.item);
19899
+ if (this.item) {
19900
+ if (this.item.lock) {
19901
+ this.lockTooltip = this.translate.instant('eo.object.lock') + ' '
19902
+ + (new LocaleDatePipe(this.translate).transform(this.item.lock.on))
19903
+ + ', ' + this.item.lock.by.label + ' (' + this.item.lock.by.name + ')';
19904
+ }
19905
+ }
19906
+ else {
19907
+ this.emptyState = this.empty.getEmptyState(0);
19908
+ }
19909
+ }
19910
+ get dataType() {
19911
+ return this.item ? this.item.typeName : 'none';
19912
+ }
19913
+ getDmsParams(data) {
19914
+ return data ? Object.assign(Object.assign({}, data), { type: data.type }) : null;
19915
+ }
19916
+ updateContent() {
19917
+ if (this.applySelection) {
19918
+ this.selection
19919
+ .find(this.applySelection.in)
19920
+ .focus$
19921
+ .pipe(takeUntil(this.componentDestroyed$))
19922
+ .subscribe(result => {
19923
+ this.showLoader = true;
19924
+ this.loadDmsObject(this.parseDmsParams(result)).subscribe((res) => {
19925
+ if (this.item && res && (this.item.id === res.id) && res.version > this.item.version) {
19926
+ this.eventService.trigger(EnaioEvent.DMS_OBJECT_UPDATED, res);
19927
+ }
19928
+ this.dmsObject = res;
19929
+ this.showLoader = false;
19930
+ }, Utils.throw((error) => {
19931
+ return this.onHasError(true, true, false);
19932
+ }));
19933
+ });
19934
+ }
19935
+ }
19936
+ restoreFile(openLocationAfterRestore = false) {
19937
+ this.dmsService.restore(this.item.id, this.userId, this.item.typeName).subscribe(() => {
19938
+ this.updateContent();
19939
+ if (openLocationAfterRestore) {
19940
+ this.router.navigate(['/object', this.item.id]);
19941
+ }
19942
+ this.toast.success(this.translate.instant('eo.recyclebin.details.restore.done.title'), this.translate.instant('eo.recyclebin.details.restore.done.message', { item: this.item.title }));
19943
+ this.eventService.trigger(EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED);
19944
+ }, (error) => {
19945
+ if (error.status === 409) {
19946
+ this.toast.error(this.translate.instant('eo.recyclebin.details.restore.dms.object.error.409'));
19947
+ }
19948
+ });
19949
+ }
19950
+ deleteDmsObject() {
19951
+ this.dmsService
19952
+ .deleteDmsObject(this.item.id, this.item.type.name, true)
19953
+ .subscribe(() => {
19954
+ this.toast.success(this.translate.instant('eo.recyclebin.details.delete.done.title'), this.translate.instant('eo.recyclebin.details.delete.done.message', { item: this.item.title }));
19955
+ this._showDeleteDialog = false;
19956
+ this.eventService.trigger(EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED);
19957
+ });
19958
+ }
19959
+ prepareIndexDataPreview(item, formData) {
19960
+ const { id, data, type, created, modified, content, contentFileName, contentFileSize, version } = item;
19961
+ return this.system
19962
+ .getObjectTypeForm(type.name, 'EDIT')
19963
+ .pipe(map(form => {
19964
+ let indexDataPreview = {
19965
+ form,
19966
+ data: formData || data
19967
+ };
19968
+ let baseparams = {
19969
+ id,
19970
+ type: type.name,
19971
+ createdOn: new Date(created.on),
19972
+ modifiedOn: new Date(modified.on),
19973
+ createdBy: `${created.by.title} (${created.by.name})`,
19974
+ modifiedBy: `${modified.by.title} (${modified.by.name})`,
19975
+ contentFileName: contentFileName ? contentFileName : null,
19976
+ contentFileSize: contentFileSize ? Number(contentFileSize) : null,
19977
+ version: version || 0,
19978
+ mimeGroup: content ? content.contents ? content.contents[0].mimegroup : null : null,
19979
+ digest: content ? content.contents ? content.contents[0].digest : null : null,
19980
+ contentId: content ? content.contents ? content.id : null : null,
19981
+ mimeType: content ? content.contents ? content.contents[0].mimetype : null : null,
19982
+ };
19983
+ return { indexDataPreview, baseparams };
19984
+ }));
19985
+ }
19986
+ onHasError(hasError = false, nodmsobject = false, showLoader = false) {
19987
+ this.hasError = hasError;
19988
+ this.nodmsobject = nodmsobject;
19989
+ this.showLoader = showLoader;
19990
+ this.hasContent.emit(!hasError);
19991
+ }
19992
+ loadDmsObject(params) {
19993
+ var _a;
19994
+ if (params) {
19995
+ delete params.version;
19996
+ }
19997
+ // check for valid id
19998
+ return ((_a = params === null || params === void 0 ? void 0 : params.id) === null || _a === void 0 ? void 0 : _a.length) === 32 ? this.dmsService.getDmsObjectByParams(params) : of(null);
19999
+ }
20000
+ downloadOriginalContent() {
20001
+ this.backend.downloadContent([this.item], null, false, true);
20002
+ }
20003
+ // executed when the dms object changed due to saving its indexdata
20004
+ onIndexDataSaved(formData, item) {
20005
+ if (!this.item) {
20006
+ this.indexDataPreview = null;
20007
+ this.baseparams = null;
20008
+ }
20009
+ if (!this.item2) {
20010
+ this.indexDataPreview2 = null;
20011
+ this.baseparams2 = null;
20012
+ }
20013
+ if (item) {
20014
+ this.prepareIndexDataPreview(item, formData)
20015
+ .subscribe(data => {
20016
+ if (item === this.item) {
20017
+ this.indexDataPreview = data.indexDataPreview;
20018
+ this.baseparams = data.baseparams;
20019
+ }
20020
+ else {
20021
+ this.indexDataPreview2 = data.indexDataPreview;
20022
+ this.baseparams2 = data.baseparams;
20023
+ }
20024
+ });
20025
+ }
20026
+ }
20027
+ isVisible(id) {
20028
+ return this.panelOrder.master.includes(id) || this.panelOrder.slave.includes(id);
20029
+ }
20030
+ ngOnInit() {
20031
+ this.capabilities = this.capabilityService.getCapabilities();
20032
+ this.updateContent();
20033
+ this.eventService
20034
+ .on(EnaioEvent.DMS_OBJECT_UPDATED)
20035
+ .pipe(takeUntil(this.componentDestroyed$))
20036
+ .subscribe(event => {
20037
+ if (event.data && this.item.id === event.data.id) {
20038
+ this.dmsObject = this.dmsService.createLocalCopyOfDMSObject(event.data);
20039
+ if (this.preview && !this.preview.disabled) {
20040
+ this.preview.refresh();
20041
+ }
20042
+ }
20043
+ });
20044
+ }
20045
+ ngAfterViewInit() {
20046
+ let panels = this.tabPanels.toArray();
20047
+ this.tabPlugins.forEach(p => panels = panels.concat(p.tabPanels.toArray()));
20048
+ this.externalPanels.reset(panels);
20049
+ }
20050
+ }
20051
+ RecyclebinDetailsComponent.decorators = [
20052
+ { type: Component, args: [{
20053
+ selector: 'eo-recyclebin-details',
20054
+ template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\" class=\"btn btn-download\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"('eo.recyclebin.details.delete.tooltip' | translate)\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <button class=\"btn-tpl-apply\" (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary btn-idx-restoreopen\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <eo-tab-container [defaultPanelOrder]=\"panelOrder\" [pluginPanels]=\"externalPanels\" [cacheLayout]=\"cacheLayout\"\n [enableSlave]=\"true\">\n\n <eo-tab-panel [id]=\"'summary'\" *ngIf=\"isVisible('summary')\"\n header=\"{{'eo.object.summary.title' | translate}}\">\n <ng-template pTemplate=\"content\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel [id]=\"'preview'\" *ngIf=\"isVisible('preview')\"\n header=\"{{'eo.object.content.title' | translate}}\" [isSlave]=\"true\" #preview>\n <ng-template pTemplate=\"content\">\n <eo-media *ngIf=\"item\" [dmsObject]=\"item\" [useVersion]=\"item.id === item.content?.id\" #viewer></eo-media>\n </ng-template>\n </eo-tab-panel>\n\n <eo-tab-panel *ngIf=\"isVisible('history')\" [id]=\"'history'\"\n header=\"{{'eo.object.history.title' | translate}}\" #history>\n <ng-template pTemplate=\"content\">\n <eo-object-history *ngIf=\"history.selected\" [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n </eo-tab-panel>\n\n <ng-content></ng-content>\n\n </eo-tab-container>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons recyclebin-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.recyclebin.details.delete.dialog.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.recyclebin.details.delete.dialog.delete</button>\n </div>\n</eo-dialog>\n",
20055
+ styles: [":host{background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-subtitle,:host .eo-head .eo-header .eo-header-info .eo-header-title{-moz-user-select:text;-webkit-user-select:text;user-select:text}:host .actions{align-items:center;align-self:flex-start;display:flex}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding)/2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding)/2)}:host .actions eo-icon{cursor:pointer;padding:calc(var(--app-pane-padding)/4)}:host .eo-body__not-available{background:rgba(var(--color-black-rgb),.4);opacity:.4}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;background:rgba(var(--color-white-rgb),.8);display:flex;height:100%;position:absolute;width:100%;z-index:11}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep .recyclebin-delete__dialog{min-height:unset!important;padding:8px}::ng-deep .recyclebin-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}"]
20056
+ },] }
20057
+ ];
20058
+ RecyclebinDetailsComponent.ctorParameters = () => [
20059
+ { type: Router },
20060
+ { type: ActivatedRoute },
20061
+ { type: SystemService },
20062
+ { type: EmptyStateService },
20063
+ { type: BackendService },
20064
+ { type: UserService },
20065
+ { type: NotificationsService },
20066
+ { type: DmsService },
20067
+ { type: SelectionService },
20068
+ { type: CapabilitiesService },
20069
+ { type: EventService },
20070
+ { type: Config },
20071
+ { type: TranslateService }
20072
+ ];
20073
+ RecyclebinDetailsComponent.propDecorators = {
20074
+ preview: [{ type: ViewChild, args: ['viewer',] }],
20075
+ confirmDeleteButton: [{ type: ViewChild, args: ['confirmDelete',] }],
20076
+ cacheLayout: [{ type: Input }],
20077
+ tabPanels: [{ type: ContentChildren, args: [TabPanelComponent,] }],
20078
+ tabPlugins: [{ type: ContentChildren, args: [TabPluginComponent,] }],
20079
+ applySelection: [{ type: Input }],
20080
+ parseDmsParams: [{ type: Input }],
20081
+ hasContent: [{ type: Output }],
20082
+ emptyState: [{ type: Input }],
20083
+ dmsParams: [{ type: Input, args: ['params',] }],
20084
+ dmsObject: [{ type: Input, args: ['item',] }],
20085
+ dataType: [{ type: HostBinding, args: ['attr.data-type',] }]
20086
+ };
20087
+
19790
20088
  class ObjectDetailsModule {
19791
20089
  }
19792
20090
  ObjectDetailsModule.decorators = [
@@ -19808,6 +20106,7 @@ ObjectDetailsModule.decorators = [
19808
20106
  ],
19809
20107
  declarations: [
19810
20108
  ObjectDetailsComponent,
20109
+ RecyclebinDetailsComponent,
19811
20110
  ObjectHistoryComponent,
19812
20111
  ObjectLinksComponent,
19813
20112
  FavoriteIconComponent,
@@ -19815,7 +20114,7 @@ ObjectDetailsModule.decorators = [
19815
20114
  HistoryFilterComponent,
19816
20115
  EditIconComponent
19817
20116
  ],
19818
- exports: [ObjectDetailsComponent, ObjectHistoryComponent, ObjectLinksComponent, FavoriteIconComponent, HistoryFilterPipe]
20117
+ exports: [ObjectDetailsComponent, RecyclebinDetailsComponent, ObjectHistoryComponent, ObjectLinksComponent, FavoriteIconComponent, HistoryFilterPipe]
19819
20118
  },] }
19820
20119
  ];
19821
20120
 
@@ -22112,6 +22411,14 @@ class FrameComponent {
22112
22411
  onExecuteAction: () => {
22113
22412
  this.router.navigateByUrl('/stored-queries');
22114
22413
  }
22414
+ },
22415
+ {
22416
+ name: this.translate.instant('eo.view.navigation.recyclebin'),
22417
+ nameKey: 'eo.view.navigation.recyclebin',
22418
+ shortcut: '8',
22419
+ onExecuteAction: () => {
22420
+ this.router.navigateByUrl('/recyclebin');
22421
+ }
22115
22422
  }
22116
22423
  ]
22117
22424
  };
@@ -23142,8 +23449,8 @@ class FavoriteStateComponent extends UnsubscribeOnDestroy {
23142
23449
  ];
23143
23450
  this.textFilterParams = { context: { defaultValue: '' } };
23144
23451
  this.sortFields = [
23145
- { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
23146
- { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' }
23452
+ { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
23453
+ { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' }
23147
23454
  ];
23148
23455
  const sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
23149
23456
  this.gridOptions = {
@@ -23216,10 +23523,10 @@ class AboutStateComponent {
23216
23523
  this.backend = backend;
23217
23524
  this.userService = userService;
23218
23525
  this.config = config;
23219
- 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": "9.5.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" }];
23526
+ 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": "9.6.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" }];
23220
23527
  this.ctrl = {
23221
23528
  componentName: 'yuuvis® RAD client',
23222
- componentVersion: '9.5.0-rc.1',
23529
+ componentVersion: '9.6.0-rc.1',
23223
23530
  productName: '',
23224
23531
  productVersion: ''
23225
23532
  };
@@ -23888,9 +24195,9 @@ class NotificationsStateComponent extends UnsubscribeOnDestroy {
23888
24195
  ];
23889
24196
  this.textFilterParams = { context: { defaultValue: '' } };
23890
24197
  this.sortFields = [
24198
+ { field: 'due', headerName: this.translate.instant('eo.notifications.sort.due'), sort: '' },
23891
24199
  { field: 'info', headerName: this.translate.instant('eo.notifications.sort.title'), sort: '' },
23892
- { field: 'messagetype', headerName: this.translate.instant('eo.notifications.sort.type'), sort: '' },
23893
- { field: 'due', headerName: this.translate.instant('eo.notifications.sort.due'), sort: '' }
24200
+ { field: 'messagetype', headerName: this.translate.instant('eo.notifications.sort.type'), sort: '' }
23894
24201
  ];
23895
24202
  const sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
23896
24203
  this.gridOptions = {
@@ -24121,13 +24428,14 @@ VersionStateComponent.propDecorators = {
24121
24428
  };
24122
24429
 
24123
24430
  class RecyclebinStateComponent extends UnsubscribeOnDestroy {
24124
- constructor(selection, translate, system, empty, pendingChanges, titleService, userService) {
24431
+ constructor(selection, translate, system, empty, pendingChanges, eventService, titleService, userService) {
24125
24432
  super();
24126
24433
  this.selection = selection;
24127
24434
  this.translate = translate;
24128
24435
  this.system = system;
24129
24436
  this.empty = empty;
24130
24437
  this.pendingChanges = pendingChanges;
24438
+ this.eventService = eventService;
24131
24439
  this.titleService = titleService;
24132
24440
  this.userService = userService;
24133
24441
  this.inboxDmsObjectSelectionId = 'inbox_dms';
@@ -24136,6 +24444,9 @@ class RecyclebinStateComponent extends UnsubscribeOnDestroy {
24136
24444
  this.textFilterParams = {};
24137
24445
  this.titleService.setBaseTitle(this.translate.instant('eo.recyclebin.list.title'));
24138
24446
  this.selection.createNew(this.inboxDmsObjectSelectionId);
24447
+ this.eventService
24448
+ .on(EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED).pipe(takeUntil(this.componentDestroyed$))
24449
+ .subscribe(() => this.refreshGrid());
24139
24450
  }
24140
24451
  set hasContent(hasContent) {
24141
24452
  this.showActionsMenu = hasContent;
@@ -24180,7 +24491,9 @@ class RecyclebinStateComponent extends UnsubscribeOnDestroy {
24180
24491
  }];
24181
24492
  this.textFilterParams = { context: { defaultValue: '' } };
24182
24493
  this.sortFields = [
24494
+ { field: 'recycled', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
24183
24495
  { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
24496
+ { field: 'description', headerName: this.translate.instant('eo.inbox.sort.description'), sort: '' }
24184
24497
  ];
24185
24498
  const sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
24186
24499
  this.gridOptions = {
@@ -24195,7 +24508,7 @@ class RecyclebinStateComponent extends UnsubscribeOnDestroy {
24195
24508
  let icon = params.context.cr.render('type', params, {
24196
24509
  value: params.data.type
24197
24510
  });
24198
- let createdTime = params.context.cr.render('dateTime', params, { value: params.data.recycled });
24511
+ let recycledTime = params.context.cr.render('dateTime', params, { value: params.data.recycled });
24199
24512
  return `<div class="list-item ${params.data.folder ? 'folder' : ''}" unselectable>
24200
24513
  ${icon}
24201
24514
  <div class="content">
@@ -24205,7 +24518,7 @@ class RecyclebinStateComponent extends UnsubscribeOnDestroy {
24205
24518
  ${params.data.description}
24206
24519
  </div>
24207
24520
  <div class='description date'>
24208
- <span class="period">${createdTime}</span>
24521
+ <span class="period">${recycledTime}</span>
24209
24522
  </div>
24210
24523
  </div>
24211
24524
  </div>
@@ -24226,7 +24539,7 @@ class RecyclebinStateComponent extends UnsubscribeOnDestroy {
24226
24539
  RecyclebinStateComponent.decorators = [
24227
24540
  { type: Component, args: [{
24228
24541
  selector: 'eo-recyclebin-state',
24229
- template: "<eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'recyclebin.state'\">\n <eo-split-area [size]=\"25\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{}\"[parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title']\"\n [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\"\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\"\n [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n\n <eo-split-area [size]=\"75\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n <eo-object-details [applySelection]=\"{}\"\n [parseDmsParams]=\"parseDmsParams\"\n [recyclebinTabs]=\"true\"\n [emptyState]=\"emptyState\"\n [cacheLayout]=\"'favorite.state.object-details'\"\n (hasContent)=\"hasContent = $event\">\n <eo-tab-plugin [type]=\"'object-details-tab.favorite'\"></eo-tab-plugin>\n\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n\n </eo-split>\n </eo-undock-split>\n",
24542
+ template: "<eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'recyclebin.state'\">\n <eo-split-area [size]=\"25\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{}\"[parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.recyclebin.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.recyclebin.filter.title' | translate\" [id]=\"'recyclebin.text'\"\n [matchFields]=\"['title','description']\"\n [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'recyclebin.sort'\"\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\"\n [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n \n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_trash.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.recyclebin.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n\n <eo-split-area [size]=\"75\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n <eo-recyclebin-details [applySelection]=\"{}\"\n [parseDmsParams]=\"parseDmsParams\"\n [emptyState]=\"emptyState\"\n [cacheLayout]=\"'recyclebin.state.details'\"\n (hasContent)=\"hasContent = $event\">\n <eo-tab-plugin [type]=\"'object-details-tab.favorite'\"></eo-tab-plugin>\n\n </eo-recyclebin-details>\n </ng-template>\n </eo-split-area>\n\n </eo-split>\n </eo-undock-split>\n",
24230
24543
  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 .error .button{background-color:#d3d3d3;margin:1em}:host eo-split-area{box-shadow:0 2px 5px 0 rgba(0,0,0,.2)}: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 .title{font-size:var(--font-body);font-weight:var(--font-weight-medium)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}"]
24231
24544
  },] }
24232
24545
  ];
@@ -24236,6 +24549,7 @@ RecyclebinStateComponent.ctorParameters = () => [
24236
24549
  { type: SystemService },
24237
24550
  { type: EmptyStateService },
24238
24551
  { type: PendingChangesService },
24552
+ { type: EventService },
24239
24553
  { type: PageTitleService },
24240
24554
  { type: UserService }
24241
24555
  ];
@@ -24318,7 +24632,7 @@ class ObjectStateService {
24318
24632
  let lastModified = null;
24319
24633
  if (res.hits.length) {
24320
24634
  size = res.hits.map(a => a.filesize || 0).reduce((acc, cur) => acc + cur);
24321
- lastModified = res.hits.sort(Utils.sortValues('modified', 'desc')).slice(0, 10);
24635
+ lastModified = res.hits.sort(Utils.sortValues('modified', 'desc')).slice(0, 100);
24322
24636
  }
24323
24637
  return {
24324
24638
  documentCount: { value: res.count.value },
@@ -24867,11 +25181,12 @@ class InboxStateComponent extends UnsubscribeOnDestroy {
24867
25181
  // cellRendererFramework: InboxRendererComponent
24868
25182
  }];
24869
25183
  this.sortFields = [
24870
- { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
24871
25184
  {
24872
25185
  field: 'received', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '',
24873
25186
  valueGetter: (p) => (p.data[p.colDef.field] || '').match(/\+\d\d:\d\d/) ? new Date(p.data[p.colDef.field]).toISOString() : p.data[p.colDef.field]
24874
- }
25187
+ },
25188
+ { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
25189
+ { field: 'description', headerName: this.translate.instant('eo.inbox.sort.description'), sort: '' }
24875
25190
  ];
24876
25191
  let sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
24877
25192
  this.gridOptions = {
@@ -24893,10 +25208,11 @@ class InboxStateComponent extends UnsubscribeOnDestroy {
24893
25208
  let shortDate = params.context.cr.render('dateTime', params, { value: params.data.received, pattern: 'eoShortDate' });
24894
25209
  let shortTime = params.context.cr.render('dateTime', params, { value: params.data.received, pattern: 'eoShortTime' });
24895
25210
  let duetime = params.context.cr.render('dateTime', params, { value: params.data.duetime });
25211
+ const titleClass = params.data.accepted ? 'title' : 'title-bold';
24896
25212
  return `<div class="list-item${params.data.folder ? ' folder' : ''}" unselectable>
24897
25213
  ${icon}
24898
25214
  <div class='content'>
24899
- <div class='title'>${params.data.title || ''}</div>
25215
+ <div class='${titleClass}'>${params.data.title || ''}</div>
24900
25216
  <div class='description'>${params.data.description || ''}</div>
24901
25217
  <div class='notes${params.data.isOverdue() ? ' pastDue' : ''}'>
24902
25218
  ${params.data.duetime ? '<span class="period">' + duetime + '</span>' : ''}
@@ -24936,7 +25252,7 @@ InboxStateComponent.decorators = [
24936
25252
  { type: Component, args: [{
24937
25253
  selector: 'eo-inbox-state',
24938
25254
  template: "<eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\"\n [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"refreshGrid()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\"\n [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\"\n [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\"\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\"\n [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid\n *ngIf=\"gridOptions?.rowData\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n [selectFirst]=\"selectFirst\"\n [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\n <ng-template pTemplate=\"content\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\" [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n </eo-split>\n</eo-undock-split>\n",
24939
- 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)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{bottom:15px;left:25px;position:relative}"]
25255
+ 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-normal)}:host ::ng-deep .ag-cell .list-item .content .title-bold{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)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{bottom:15px;left:25px;position:relative}"]
24940
25256
  },] }
24941
25257
  ];
24942
25258
  InboxStateComponent.ctorParameters = () => [
@@ -25046,8 +25362,8 @@ class PrepareStateComponent extends UnsubscribeOnDestroy {
25046
25362
  }
25047
25363
  ];
25048
25364
  this.sortFields = [
25049
- { field: 'selectedtype.label', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
25050
- { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' }
25365
+ { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
25366
+ { field: 'selectedtype.label', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' }
25051
25367
  ];
25052
25368
  let sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
25053
25369
  this.gridOptions = {
@@ -25206,5 +25522,5 @@ EoClientModule.ctorParameters = () => [
25206
25522
  * Generated bundle index. Do not edit.
25207
25523
  */
25208
25524
 
25209
- 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, DeleteActionComponent as ɵbn, DeleteComponent as ɵbo, OpenVersionsActionComponent as ɵbp, RestoreVersionActionComponent as ɵbq, DeletePreparedActionComponent as ɵbr, AddSubscriptionActionComponent as ɵbs, AddSubscriptionComponent as ɵbt, RemoveSubscriptionActionComponent as ɵbu, WorkflowActionComponent as ɵbv, WorkflowComponent as ɵbw, CustomActionsComponent as ɵbx, AddResubmissionActionComponent as ɵby, AddResubmissionComponent as ɵbz, AppShellRoutingModule as ɵc, UpdateResubmissionActionComponent as ɵca, ShareObjectActionComponent as ɵcb, ShareObjectComponent as ɵcc, CutActionComponent as ɵcd, FinalizeActionComponent as ɵce, FinalizeObjectActionComponent as ɵcf, DefinalizeActionComponent as ɵcg, DeleteContentComponent as ɵch, DeleteContentActionComponent as ɵci, UnlockActionComponent as ɵcj, SimpleWorkflowActionComponent as ɵck, SignatureActionComponent as ɵcl, SignatureComponent as ɵcm, CancelSigningActionComponent as ɵcn, CancelSigningComponent as ɵco, FavoriteActionComponent as ɵcp, PreventDoubleClickDirective as ɵcq, EditIconComponent as ɵcr, DuetimeInfoComponent as ɵcs, PrepareContentExistsInfoComponent as ɵct, ObjectStateRoutingModule as ɵcu, InboxStateRoutingModule as ɵcv, PrepareStateRoutingModule as ɵcw, EoClientRoutingModule as ɵcx, ProcessStateComponent as ɵcy, RecyclebinStateComponent as ɵcz, AppProcessComponent as ɵd, PipesModule as ɵe, UnsubscribeOnDestroy as ɵf, QueryScopeSelectComponent as ɵg, TrapFocusDirective as ɵh, SignatureTabComponent as ɵi, IndexdataSummaryEntryComponent as ɵj, OrderByPipe as ɵk, TreeNodeComponent as ɵl, DatepickerService as ɵm, YearRangeDirective as ɵn, ReferenceFinderComponent as ɵo, fadeInOut as ɵp, ReferenceFinderService as ɵq, ReferenceFinderEntryComponent as ɵr, DynamicListFilterComponent as ɵs, ListFilterComponent as ɵt, PaginationComponent as ɵu, ProcessFormModule as ɵv, ProcessFormComponent as ɵw, ActionComponentAnchorDirective as ɵx, OpenDocumentComponent as ɵy, CopyActionComponent as ɵz };
25525
+ 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, DeleteActionComponent as ɵbn, DeleteComponent as ɵbo, OpenVersionsActionComponent as ɵbp, RestoreVersionActionComponent as ɵbq, DeletePreparedActionComponent as ɵbr, AddSubscriptionActionComponent as ɵbs, AddSubscriptionComponent as ɵbt, RemoveSubscriptionActionComponent as ɵbu, WorkflowActionComponent as ɵbv, WorkflowComponent as ɵbw, CustomActionsComponent as ɵbx, AddResubmissionActionComponent as ɵby, AddResubmissionComponent as ɵbz, AppShellRoutingModule as ɵc, UpdateResubmissionActionComponent as ɵca, ShareObjectActionComponent as ɵcb, ShareObjectComponent as ɵcc, CutActionComponent as ɵcd, FinalizeActionComponent as ɵce, FinalizeObjectActionComponent as ɵcf, DefinalizeActionComponent as ɵcg, DeleteContentComponent as ɵch, DeleteContentActionComponent as ɵci, UnlockActionComponent as ɵcj, SimpleWorkflowActionComponent as ɵck, SignatureActionComponent as ɵcl, SignatureComponent as ɵcm, CancelSigningActionComponent as ɵcn, CancelSigningComponent as ɵco, FavoriteActionComponent as ɵcp, PreventDoubleClickDirective as ɵcq, RecyclebinDetailsComponent as ɵcr, EditIconComponent as ɵcs, DuetimeInfoComponent as ɵct, PrepareContentExistsInfoComponent as ɵcu, ObjectStateRoutingModule as ɵcv, InboxStateRoutingModule as ɵcw, PrepareStateRoutingModule as ɵcx, EoClientRoutingModule as ɵcy, ProcessStateComponent as ɵcz, AppProcessComponent as ɵd, RecyclebinStateComponent as ɵda, PipesModule as ɵe, UnsubscribeOnDestroy as ɵf, QueryScopeSelectComponent as ɵg, TrapFocusDirective as ɵh, SignatureTabComponent as ɵi, IndexdataSummaryEntryComponent as ɵj, OrderByPipe as ɵk, TreeNodeComponent as ɵl, DatepickerService as ɵm, YearRangeDirective as ɵn, ReferenceFinderComponent as ɵo, fadeInOut as ɵp, ReferenceFinderService as ɵq, ReferenceFinderEntryComponent as ɵr, DynamicListFilterComponent as ɵs, ListFilterComponent as ɵt, PaginationComponent as ɵu, ProcessFormModule as ɵv, ProcessFormComponent as ɵw, ActionComponentAnchorDirective as ɵx, OpenDocumentComponent as ɵy, CopyActionComponent as ɵz };
25210
25526
  //# sourceMappingURL=eo-sdk-client.js.map