@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
@@ -4266,7 +4266,8 @@
4266
4266
  scrollStrategy: this.overlay.scrollStrategies.reposition(),
4267
4267
  positionStrategy: this.getPositionStrategy(),
4268
4268
  minHeight: this.minHeight,
4269
- minWidth: this.minWidth
4269
+ minWidth: this.minWidth,
4270
+ height: this.height
4270
4271
  });
4271
4272
  //Then we create a portal to render a component
4272
4273
  var portal$1 = new portal.TemplatePortal(this.dialogContent, this.viewContainerRef);
@@ -4364,6 +4365,7 @@
4364
4365
  dirtyCheck: [{ type: i0.Input }],
4365
4366
  minWidth: [{ type: i0.Input }],
4366
4367
  minHeight: [{ type: i0.Input }],
4368
+ height: [{ type: i0.Input }],
4367
4369
  focusOnShow: [{ type: i0.Input }],
4368
4370
  align: [{ type: i0.Input }],
4369
4371
  isFormTable: [{ type: i0.Input }],
@@ -4572,8 +4574,8 @@
4572
4574
  SignatureTabComponent.decorators = [
4573
4575
  { type: i0.Component, args: [{
4574
4576
  selector: 'eo-signature-tab',
4575
- 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",
4576
- 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)}"]
4577
+ 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",
4578
+ 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}"]
4577
4579
  },] }
4578
4580
  ];
4579
4581
  SignatureTabComponent.ctorParameters = function () { return [
@@ -5781,6 +5783,12 @@
5781
5783
  AppProcessComponent.prototype.cancelDialog = function () {
5782
5784
  this.processForm = null;
5783
5785
  };
5786
+ AppProcessComponent.prototype.onCancel = function (dialog) {
5787
+ if (!this.pendingChanges.checkForPendingTasks(this.pendingTaskIds)) {
5788
+ this.finishPending();
5789
+ dialog.visible = false;
5790
+ }
5791
+ };
5784
5792
  AppProcessComponent.prototype.startPending = function () {
5785
5793
  // because this method will be called every time the form status changes,
5786
5794
  // pending task will only be started once until it was finished
@@ -5809,7 +5817,7 @@
5809
5817
  AppProcessComponent.decorators = [
5810
5818
  { type: i0.Component, args: [{
5811
5819
  selector: 'eo-app-process',
5812
- 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",
5820
+ 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",
5813
5821
  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)}"]
5814
5822
  },] }
5815
5823
  ];
@@ -11371,15 +11379,17 @@
11371
11379
 
11372
11380
  var FormElementTableComponent = /** @class */ (function (_super) {
11373
11381
  __extends(FormElementTableComponent, _super);
11374
- function FormElementTableComponent(systemService, pendingChanges, gridApi, translate, storageService, eventService) {
11382
+ function FormElementTableComponent(storageService, systemService, pendingChanges, gridApi) {
11375
11383
  var _this = _super.call(this) || this;
11384
+ _this.storageService = storageService;
11376
11385
  _this.systemService = systemService;
11377
11386
  _this.pendingChanges = pendingChanges;
11378
11387
  _this.gridApi = gridApi;
11379
- _this.translate = translate;
11380
- _this.storageService = storageService;
11381
- _this.eventService = eventService;
11382
11388
  _this.modules = [clientSideRowModel.ClientSideRowModelModule, csvExport.CsvExportModule];
11389
+ _this.BASE_CACHE_LAYOUT_KEY = 'table.state';
11390
+ _this.cacheLayoutKey = _this.BASE_CACHE_LAYOUT_KEY;
11391
+ _this.minWidth = '97vw';
11392
+ _this.height = '95vh';
11383
11393
  _this.gridReady = false;
11384
11394
  _this.showDialog = false;
11385
11395
  _this.showPreview = false;
@@ -11436,9 +11446,6 @@
11436
11446
  _this.overlayGridOptions.suppressRowClickSelection = !!_this.rowEdit && !!tasks.includes(_this.rowEdit.pendingTaskId);
11437
11447
  }, 0);
11438
11448
  });
11439
- _this._cachedColumns = _this.storageService.getItem(FormElementTableComponent.COLUMNS_DEFINITION) || [];
11440
- _this._cachedColumnsOverlay = _this.storageService.getItem(FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY) || [];
11441
- _this.showPreview = !!_this.storageService.getItem('eo.table.showPreview');
11442
11449
  return _this;
11443
11450
  }
11444
11451
  Object.defineProperty(FormElementTableComponent.prototype, "params", {
@@ -11446,8 +11453,12 @@
11446
11453
  return this._params;
11447
11454
  },
11448
11455
  set: function (p) {
11456
+ this.cacheLayoutKey = p ? this.BASE_CACHE_LAYOUT_KEY + "." + p.element.name : this.BASE_CACHE_LAYOUT_KEY;
11449
11457
  if (p) {
11450
11458
  this._params = p;
11459
+ this._cachedColumns = this.storageService.getItem(this.cacheLayoutKey + '.colDef') || [];
11460
+ this._cachedColumnsOverlay = this.storageService.getItem(this.cacheLayoutKey + '.colDefOverlay') || [];
11461
+ this.showPreview = this.storageService.getItem(this.cacheLayoutKey + '.showPreview');
11451
11462
  CellRenderer.situation = this._params.situation;
11452
11463
  if (this._params.situation === 'SEARCH') {
11453
11464
  this._params.size = 'supersmall';
@@ -11762,10 +11773,10 @@
11762
11773
  }
11763
11774
  };
11764
11775
  FormElementTableComponent.prototype.onColumnResized = function (column, overlay) {
11765
- var columnsDefinition = FormElementTableComponent.COLUMNS_DEFINITION;
11776
+ var columnsDefinition = this.cacheLayoutKey + '.colDef';
11766
11777
  var cachedColumns = this._cachedColumns;
11767
11778
  if (overlay) {
11768
- columnsDefinition = FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY;
11779
+ columnsDefinition = this.cacheLayoutKey + '.colDefOverlay';
11769
11780
  cachedColumns = this._cachedColumnsOverlay;
11770
11781
  }
11771
11782
  var col = cachedColumns.find(function (c) { return c.qname === column.colDef.refData.qname; });
@@ -11777,18 +11788,32 @@
11777
11788
  }
11778
11789
  this.storageService.setItem(columnsDefinition, cachedColumns);
11779
11790
  };
11791
+ FormElementTableComponent.prototype._updateSplitViewLayoutCache = function () {
11792
+ var _this = this;
11793
+ setTimeout(function () {
11794
+ _this.splitView.updateLayoutCache();
11795
+ });
11796
+ };
11780
11797
  FormElementTableComponent.prototype.togglePreview = function () {
11781
11798
  this.showPreview = !this.showPreview;
11782
- this.storageService.setItem('eo.table.showPreview', this.showPreview);
11799
+ // make sure that the layout of the split view is updated after the preview panels
11800
+ // visibility changed
11801
+ this._updateSplitViewLayoutCache();
11802
+ this.storageService.setItem(this.cacheLayoutKey + '.showPreview', this.showPreview);
11803
+ };
11804
+ FormElementTableComponent.prototype.ngAfterViewInit = function () {
11805
+ this._updateSplitViewLayoutCache();
11806
+ };
11807
+ FormElementTableComponent.prototype.ngOnInit = function () {
11808
+ var _a;
11809
+ this.hasPreviewFile = this.hasPreviewFile !== undefined ? this.hasPreviewFile : !!((_a = this.params.object) === null || _a === void 0 ? void 0 : _a.content);
11783
11810
  };
11784
11811
  return FormElementTableComponent;
11785
11812
  }(UnsubscribeOnDestroy));
11786
- FormElementTableComponent.COLUMNS_DEFINITION = 'eo.framework.cache.tables.columns.definition';
11787
- FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY = 'eo.framework.cache.tables.overlay.columns.definition';
11788
11813
  FormElementTableComponent.decorators = [
11789
11814
  { type: i0.Component, args: [{
11790
11815
  selector: 'eo-table',
11791
- 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",
11816
+ 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",
11792
11817
  providers: [
11793
11818
  {
11794
11819
  provide: forms.NG_VALUE_ACCESSOR,
@@ -11805,16 +11830,18 @@
11805
11830
  },] }
11806
11831
  ];
11807
11832
  FormElementTableComponent.ctorParameters = function () { return [
11833
+ { type: i1.LocalStorageService },
11808
11834
  { type: i1.SystemService },
11809
11835
  { type: PendingChangesService },
11810
- { type: GridService },
11811
- { type: i1.TranslateService },
11812
- { type: i1.LocalStorageService },
11813
- { type: i1.EventService }
11836
+ { type: GridService }
11814
11837
  ]; };
11815
11838
  FormElementTableComponent.propDecorators = {
11816
11839
  rowEdit: [{ type: i0.ViewChild, args: ['rowEdit',] }],
11840
+ splitView: [{ type: i0.ViewChild, args: ['splitView',] }],
11817
11841
  limit: [{ type: i0.Input }],
11842
+ hasPreviewFile: [{ type: i0.Input }],
11843
+ minWidth: [{ type: i0.Input }],
11844
+ height: [{ type: i0.Input }],
11818
11845
  params: [{ type: i0.Input }],
11819
11846
  copyCellHandler: [{ type: i0.HostListener, args: ['keydown.control.alt.shift.c', ['$event'],] }, { type: i0.HostListener, args: ['keydown.control.shift.c', ['$event'],] }, { type: i0.HostListener, args: ['keydown.control.alt.c', ['$event'],] }, { type: i0.HostListener, args: ['keydown.control.c', ['$event'],] }]
11820
11847
  };
@@ -12092,7 +12119,7 @@
12092
12119
  this.layoutService.getLayout("eo.split.layout." + this.cacheLayout)
12093
12120
  .subscribe(function (layout) {
12094
12121
  (layout || []).forEach(function (area) {
12095
- if (area && _this.areas.length) {
12122
+ if (area && _this.areas.length > area.index) {
12096
12123
  _this.areas[area.index].size = area.size;
12097
12124
  _this.areas[area.index].sizeUser = area.size;
12098
12125
  _this.areas[area.index].component.visible = area.visible;
@@ -12145,14 +12172,14 @@
12145
12172
  var item = this.areas.find(function (a) { return a.component === area; });
12146
12173
  if (item) {
12147
12174
  this.refresh();
12148
- this.updateCache();
12175
+ this.updateLayoutCache();
12149
12176
  }
12150
12177
  };
12151
12178
  SplitComponent.prototype.showArea = function (area) {
12152
12179
  var item = this.areas.find(function (a) { return a.component === area; });
12153
12180
  if (item) {
12154
12181
  this.refresh();
12155
- this.updateCache();
12182
+ this.updateLayoutCache();
12156
12183
  }
12157
12184
  };
12158
12185
  SplitComponent.prototype.isLastVisibleArea = function (area) {
@@ -12300,7 +12327,7 @@
12300
12327
  this.containerSize = 0;
12301
12328
  this.areaASize = 0;
12302
12329
  this.areaBSize = 0;
12303
- this.updateCache();
12330
+ this.updateLayoutCache();
12304
12331
  this.isDragging = false;
12305
12332
  this.notify('end');
12306
12333
  };
@@ -12317,7 +12344,7 @@
12317
12344
  return this.visibleTransitionEndInternal.next(data);
12318
12345
  }
12319
12346
  };
12320
- SplitComponent.prototype.updateCache = function () {
12347
+ SplitComponent.prototype.updateLayoutCache = function () {
12321
12348
  if (this.cacheLayout) {
12322
12349
  var layout = this.areas.map(function (a, i) { return ({ index: i, size: a.size, visible: a.component.visible }); });
12323
12350
  this.layoutService.cacheLayout("eo.split.layout." + this.cacheLayout, layout);
@@ -12475,6 +12502,13 @@
12475
12502
  _this.eventsLockFct = [];
12476
12503
  return _this;
12477
12504
  }
12505
+ Object.defineProperty(SplitAreaComponent.prototype, "height", {
12506
+ set: function (height) {
12507
+ this._height = height;
12508
+ },
12509
+ enumerable: false,
12510
+ configurable: true
12511
+ });
12478
12512
  Object.defineProperty(SplitAreaComponent.prototype, "order", {
12479
12513
  set: function (v) {
12480
12514
  this._order = !isNaN(v) ? v : null;
@@ -12568,6 +12602,7 @@
12568
12602
  _height: [{ type: i0.HostBinding, args: ['style.height.%',] }],
12569
12603
  minWidth: [{ type: i0.HostBinding, args: ['style.min-width.px',] }],
12570
12604
  visibleCls: [{ type: i0.HostBinding, args: ['class.visible',] }],
12605
+ height: [{ type: i0.Input }],
12571
12606
  order: [{ type: i0.Input }],
12572
12607
  size: [{ type: i0.Input }],
12573
12608
  minSizePixel: [{ type: i0.Input }],
@@ -14557,7 +14592,7 @@
14557
14592
  }
14558
14593
  };
14559
14594
  TextFilterComponent.prototype.saveFilter = function (term) {
14560
- if (!this.savedFilters.includes(term)) {
14595
+ if (term && !this.savedFilters.includes(term)) {
14561
14596
  this.savedFilters.push(term);
14562
14597
  this.userService.changeSavedInboxFilters(this.savedFilters).subscribe();
14563
14598
  }
@@ -14578,7 +14613,7 @@
14578
14613
  TextFilterComponent.decorators = [
14579
14614
  { type: i0.Component, args: [{
14580
14615
  selector: 'eo-text-filter',
14581
- 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",
14616
+ 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",
14582
14617
  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}"]
14583
14618
  },] }
14584
14619
  ];
@@ -14911,9 +14946,11 @@
14911
14946
  this.finished.emit();
14912
14947
  };
14913
14948
  WorkflowComponent.prototype.cancel = function () {
14914
- this.finishPending();
14915
- this.dialog.visible = false;
14916
- this.canceled.emit();
14949
+ if (!this.pendingChanges.checkForPendingTasks(this.pendingTaskIds)) {
14950
+ this.finishPending();
14951
+ this.dialog.visible = false;
14952
+ this.canceled.emit();
14953
+ }
14917
14954
  };
14918
14955
  WorkflowComponent.prototype.onIndexDataChanged = function (event) {
14919
14956
  this.form = event;
@@ -17188,7 +17225,10 @@
17188
17225
  .deleteDmsObject(dmsObject.id, dmsObject.type.name, hardDelete, force)
17189
17226
  .subscribe(function () {
17190
17227
  _this.showForceDeleteDialog = false;
17191
- _this.toast.success(_this.translate.instant('eo.action.delete.dms.object.done.title'), _this.translate.instant('eo.action.delete.dms.object.done.message'));
17228
+ var successMessage = _this.capabilitiesService.hasCapability('recyclebin')
17229
+ ? _this.translate.instant('eo.action.delete.dms.object.done.enabled.message', { title: dmsObject.title })
17230
+ : _this.translate.instant('eo.action.delete.dms.object.done.message', { title: dmsObject.title });
17231
+ _this.toast.success(_this.translate.instant('eo.action.delete.dms.object.done.title'), successMessage);
17192
17232
  _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_DELETED, _this.selection[0]);
17193
17233
  if ((dmsObject.isContextFolder || !dmsObject.contextFolder) && _this.isAllowedState()) {
17194
17234
  _this.router.navigate(['/']);
@@ -18512,9 +18552,11 @@
18512
18552
  this.finished.emit();
18513
18553
  };
18514
18554
  SignatureComponent.prototype.cancel = function () {
18515
- this.finishPending();
18516
- this.dialog.visible = false;
18517
- this.canceled.emit();
18555
+ if (!this.pendingChanges.checkForPendingTasks(this.pendingTaskIds)) {
18556
+ this.finishPending();
18557
+ this.dialog.visible = false;
18558
+ this.canceled.emit();
18559
+ }
18518
18560
  };
18519
18561
  SignatureComponent.prototype.onIndexDataChanged = function () {
18520
18562
  if (this.signingForm.dirty) {
@@ -18545,8 +18587,8 @@
18545
18587
  SignatureComponent.decorators = [
18546
18588
  { type: i0.Component, args: [{
18547
18589
  selector: 'eo-signature',
18548
- 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",
18549
- 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)}"]
18590
+ 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",
18591
+ 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}"]
18550
18592
  },] }
18551
18593
  ];
18552
18594
  SignatureComponent.ctorParameters = function () { return [
@@ -18586,7 +18628,13 @@
18586
18628
  && !this.isFinalized(element));
18587
18629
  };
18588
18630
  SignatureActionComponent.prototype.isAllowedMimeType = function (item) {
18589
- return item.content && item.content.contents[0].mimetype === 'application/pdf';
18631
+ return item.content && (item.content.contents[0].mimetype === 'application/pdf'
18632
+ || item.content.contents[0].mimetype === 'application/msword'
18633
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
18634
+ || item.content.contents[0].mimetype === 'application/vnd.ms-excel'
18635
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
18636
+ || item.content.contents[0].mimetype === 'application/vnd.ms-powerpoint'
18637
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.presentationml.presentation');
18590
18638
  };
18591
18639
  SignatureActionComponent.prototype.isAllowedObjectType = function (item) {
18592
18640
  return item.type.supertypes.includes('yuvsigning');
@@ -20550,6 +20598,7 @@
20550
20598
  _this.enableSync = true;
20551
20599
  _this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
20552
20600
  _this.externalPanels = new i0.QueryList();
20601
+ _this.preventClickThrough = false;
20553
20602
  // shortcut actions
20554
20603
  _this.shortcuts = {
20555
20604
  id: 'eo.object-details',
@@ -20706,7 +20755,7 @@
20706
20755
  _this.loadDmsObject(_this.parseDmsParams(res)).subscribe(function (res) {
20707
20756
  // refreshing object details may result in an updated version of the object
20708
20757
  // so we'll use this trigger to also emitt those changes to other listening components
20709
- if (_this.item && res && (_this.item.id === res.id) && res.version > _this.item.version) {
20758
+ if (_this.item && res && (_this.item.id === res.id)) {
20710
20759
  _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_UPDATED, res);
20711
20760
  }
20712
20761
  _this.dmsObject = res;
@@ -20720,7 +20769,14 @@
20720
20769
  }
20721
20770
  };
20722
20771
  ObjectDetailsComponent.prototype.refreshContent = function () {
20723
- this.updateContent();
20772
+ var _this = this;
20773
+ if (!this.preventClickThrough) {
20774
+ this.preventClickThrough = true;
20775
+ this.updateContent();
20776
+ }
20777
+ setTimeout(function () {
20778
+ _this.preventClickThrough = false;
20779
+ }, 5000);
20724
20780
  };
20725
20781
  ObjectDetailsComponent.prototype.prepareIndexDataPreview = function (item, formData) {
20726
20782
  var id = item.id, data = item.data, type = item.type, created = item.created, modified = item.modified, content = item.content, contentFileName = item.contentFileName, contentFileSize = item.contentFileSize, version = item.version;
@@ -20872,9 +20928,9 @@
20872
20928
  ObjectDetailsComponent.decorators = [
20873
20929
  { type: i0.Component, args: [{
20874
20930
  selector: 'eo-object-details',
20875
- 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",
20931
+ 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",
20876
20932
  providers: [ContentPreviewService],
20877
- 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}"]
20933
+ 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}"]
20878
20934
  },] }
20879
20935
  ];
20880
20936
  ObjectDetailsComponent.ctorParameters = function () { return [
@@ -21258,7 +21314,7 @@
21258
21314
  ObjectHistoryComponent.decorators = [
21259
21315
  { type: i0.Component, args: [{
21260
21316
  selector: 'eo-object-history',
21261
- 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",
21317
+ 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",
21262
21318
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
21263
21319
  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)}"]
21264
21320
  },] }
@@ -21779,6 +21835,288 @@
21779
21835
  item: [{ type: i0.Input }]
21780
21836
  };
21781
21837
 
21838
+ var RecyclebinDetailsComponent = /** @class */ (function (_super) {
21839
+ __extends(RecyclebinDetailsComponent, _super);
21840
+ function RecyclebinDetailsComponent(router, route, system, empty, backend, userService, toast, dmsService, selection, capabilityService, eventService, configService, translate) {
21841
+ var _this = _super.call(this) || this;
21842
+ _this.router = router;
21843
+ _this.route = route;
21844
+ _this.system = system;
21845
+ _this.empty = empty;
21846
+ _this.backend = backend;
21847
+ _this.userService = userService;
21848
+ _this.toast = toast;
21849
+ _this.dmsService = dmsService;
21850
+ _this.selection = selection;
21851
+ _this.capabilityService = capabilityService;
21852
+ _this.eventService = eventService;
21853
+ _this.configService = configService;
21854
+ _this.translate = translate;
21855
+ // generate unique id to pass to upload registry
21856
+ _this.user$ = _this.userService.user$;
21857
+ _this._showDeleteDialog = false;
21858
+ _this.userId = '';
21859
+ _this.hasError = false;
21860
+ _this.nodmsobject = false;
21861
+ _this.showLoader = false;
21862
+ _this.panelOrder = { 'master': ['summary', 'history'], 'slave': ['preview'] };
21863
+ _this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
21864
+ _this.externalPanels = new i0.QueryList();
21865
+ _this.parseDmsParams = _this.getDmsParams;
21866
+ _this.hasContent = new i0.EventEmitter();
21867
+ _this.panelOrder = _this.configService.getRaw('recyclebinDetailsTabs') || _this.panelOrder;
21868
+ _this.user$.subscribe(function (user) { _this.userId = user.id; });
21869
+ return _this;
21870
+ }
21871
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "showDeleteDialog", {
21872
+ get: function () {
21873
+ return this._showDeleteDialog;
21874
+ },
21875
+ set: function (val) {
21876
+ var _this = this;
21877
+ this._showDeleteDialog = val;
21878
+ if (this._showDeleteDialog) {
21879
+ setTimeout(function () { return _this.confirmDeleteButton.nativeElement.focus(); }, 0);
21880
+ }
21881
+ },
21882
+ enumerable: false,
21883
+ configurable: true
21884
+ });
21885
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "emptyState", {
21886
+ get: function () {
21887
+ return this._emptyState;
21888
+ },
21889
+ set: function (e) {
21890
+ this._emptyState = e || EmptyStateService.defaultEmptyState();
21891
+ },
21892
+ enumerable: false,
21893
+ configurable: true
21894
+ });
21895
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "dmsParams", {
21896
+ set: function (params) {
21897
+ var _this = this;
21898
+ this.showLoader = true;
21899
+ this.loadDmsObject(params).subscribe(function (res) {
21900
+ _this.dmsObject = res;
21901
+ _this.showLoader = false;
21902
+ }, i1.Utils.throw(function () { return _this.onHasError(true, true, false); }));
21903
+ },
21904
+ enumerable: false,
21905
+ configurable: true
21906
+ });
21907
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "dmsObject", {
21908
+ set: function (v) {
21909
+ this.item = v;
21910
+ this.onHasError();
21911
+ // prepare indexdata preview
21912
+ this.onIndexDataSaved(null, this.item);
21913
+ this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_LOADED, this.item);
21914
+ if (this.item) {
21915
+ if (this.item.lock) {
21916
+ this.lockTooltip = this.translate.instant('eo.object.lock') + ' '
21917
+ + (new LocaleDatePipe(this.translate).transform(this.item.lock.on))
21918
+ + ', ' + this.item.lock.by.label + ' (' + this.item.lock.by.name + ')';
21919
+ }
21920
+ }
21921
+ else {
21922
+ this.emptyState = this.empty.getEmptyState(0);
21923
+ }
21924
+ },
21925
+ enumerable: false,
21926
+ configurable: true
21927
+ });
21928
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "dataType", {
21929
+ get: function () {
21930
+ return this.item ? this.item.typeName : 'none';
21931
+ },
21932
+ enumerable: false,
21933
+ configurable: true
21934
+ });
21935
+ RecyclebinDetailsComponent.prototype.getDmsParams = function (data) {
21936
+ return data ? Object.assign(Object.assign({}, data), { type: data.type }) : null;
21937
+ };
21938
+ RecyclebinDetailsComponent.prototype.updateContent = function () {
21939
+ var _this = this;
21940
+ if (this.applySelection) {
21941
+ this.selection
21942
+ .find(this.applySelection.in)
21943
+ .focus$
21944
+ .pipe(operators.takeUntil(this.componentDestroyed$))
21945
+ .subscribe(function (result) {
21946
+ _this.showLoader = true;
21947
+ _this.loadDmsObject(_this.parseDmsParams(result)).subscribe(function (res) {
21948
+ if (_this.item && res && (_this.item.id === res.id) && res.version > _this.item.version) {
21949
+ _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_UPDATED, res);
21950
+ }
21951
+ _this.dmsObject = res;
21952
+ _this.showLoader = false;
21953
+ }, i1.Utils.throw(function (error) {
21954
+ return _this.onHasError(true, true, false);
21955
+ }));
21956
+ });
21957
+ }
21958
+ };
21959
+ RecyclebinDetailsComponent.prototype.restoreFile = function (openLocationAfterRestore) {
21960
+ var _this = this;
21961
+ if (openLocationAfterRestore === void 0) { openLocationAfterRestore = false; }
21962
+ this.dmsService.restore(this.item.id, this.userId, this.item.typeName).subscribe(function () {
21963
+ _this.updateContent();
21964
+ if (openLocationAfterRestore) {
21965
+ _this.router.navigate(['/object', _this.item.id]);
21966
+ }
21967
+ _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 }));
21968
+ _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED);
21969
+ }, function (error) {
21970
+ if (error.status === 409) {
21971
+ _this.toast.error(_this.translate.instant('eo.recyclebin.details.restore.dms.object.error.409'));
21972
+ }
21973
+ });
21974
+ };
21975
+ RecyclebinDetailsComponent.prototype.deleteDmsObject = function () {
21976
+ var _this = this;
21977
+ this.dmsService
21978
+ .deleteDmsObject(this.item.id, this.item.type.name, true)
21979
+ .subscribe(function () {
21980
+ _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 }));
21981
+ _this._showDeleteDialog = false;
21982
+ _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED);
21983
+ });
21984
+ };
21985
+ RecyclebinDetailsComponent.prototype.prepareIndexDataPreview = function (item, formData) {
21986
+ var id = item.id, data = item.data, type = item.type, created = item.created, modified = item.modified, content = item.content, contentFileName = item.contentFileName, contentFileSize = item.contentFileSize, version = item.version;
21987
+ return this.system
21988
+ .getObjectTypeForm(type.name, 'EDIT')
21989
+ .pipe(operators.map(function (form) {
21990
+ var indexDataPreview = {
21991
+ form: form,
21992
+ data: formData || data
21993
+ };
21994
+ var baseparams = {
21995
+ id: id,
21996
+ type: type.name,
21997
+ createdOn: new Date(created.on),
21998
+ modifiedOn: new Date(modified.on),
21999
+ createdBy: created.by.title + " (" + created.by.name + ")",
22000
+ modifiedBy: modified.by.title + " (" + modified.by.name + ")",
22001
+ contentFileName: contentFileName ? contentFileName : null,
22002
+ contentFileSize: contentFileSize ? Number(contentFileSize) : null,
22003
+ version: version || 0,
22004
+ mimeGroup: content ? content.contents ? content.contents[0].mimegroup : null : null,
22005
+ digest: content ? content.contents ? content.contents[0].digest : null : null,
22006
+ contentId: content ? content.contents ? content.id : null : null,
22007
+ mimeType: content ? content.contents ? content.contents[0].mimetype : null : null,
22008
+ };
22009
+ return { indexDataPreview: indexDataPreview, baseparams: baseparams };
22010
+ }));
22011
+ };
22012
+ RecyclebinDetailsComponent.prototype.onHasError = function (hasError, nodmsobject, showLoader) {
22013
+ if (hasError === void 0) { hasError = false; }
22014
+ if (nodmsobject === void 0) { nodmsobject = false; }
22015
+ if (showLoader === void 0) { showLoader = false; }
22016
+ this.hasError = hasError;
22017
+ this.nodmsobject = nodmsobject;
22018
+ this.showLoader = showLoader;
22019
+ this.hasContent.emit(!hasError);
22020
+ };
22021
+ RecyclebinDetailsComponent.prototype.loadDmsObject = function (params) {
22022
+ var _a;
22023
+ if (params) {
22024
+ delete params.version;
22025
+ }
22026
+ // check for valid id
22027
+ return ((_a = params === null || params === void 0 ? void 0 : params.id) === null || _a === void 0 ? void 0 : _a.length) === 32 ? this.dmsService.getDmsObjectByParams(params) : rxjs.of(null);
22028
+ };
22029
+ RecyclebinDetailsComponent.prototype.downloadOriginalContent = function () {
22030
+ this.backend.downloadContent([this.item], null, false, true);
22031
+ };
22032
+ // executed when the dms object changed due to saving its indexdata
22033
+ RecyclebinDetailsComponent.prototype.onIndexDataSaved = function (formData, item) {
22034
+ var _this = this;
22035
+ if (!this.item) {
22036
+ this.indexDataPreview = null;
22037
+ this.baseparams = null;
22038
+ }
22039
+ if (!this.item2) {
22040
+ this.indexDataPreview2 = null;
22041
+ this.baseparams2 = null;
22042
+ }
22043
+ if (item) {
22044
+ this.prepareIndexDataPreview(item, formData)
22045
+ .subscribe(function (data) {
22046
+ if (item === _this.item) {
22047
+ _this.indexDataPreview = data.indexDataPreview;
22048
+ _this.baseparams = data.baseparams;
22049
+ }
22050
+ else {
22051
+ _this.indexDataPreview2 = data.indexDataPreview;
22052
+ _this.baseparams2 = data.baseparams;
22053
+ }
22054
+ });
22055
+ }
22056
+ };
22057
+ RecyclebinDetailsComponent.prototype.isVisible = function (id) {
22058
+ return this.panelOrder.master.includes(id) || this.panelOrder.slave.includes(id);
22059
+ };
22060
+ RecyclebinDetailsComponent.prototype.ngOnInit = function () {
22061
+ var _this = this;
22062
+ this.capabilities = this.capabilityService.getCapabilities();
22063
+ this.updateContent();
22064
+ this.eventService
22065
+ .on(i1.EnaioEvent.DMS_OBJECT_UPDATED)
22066
+ .pipe(operators.takeUntil(this.componentDestroyed$))
22067
+ .subscribe(function (event) {
22068
+ if (event.data && _this.item.id === event.data.id) {
22069
+ _this.dmsObject = _this.dmsService.createLocalCopyOfDMSObject(event.data);
22070
+ if (_this.preview && !_this.preview.disabled) {
22071
+ _this.preview.refresh();
22072
+ }
22073
+ }
22074
+ });
22075
+ };
22076
+ RecyclebinDetailsComponent.prototype.ngAfterViewInit = function () {
22077
+ var panels = this.tabPanels.toArray();
22078
+ this.tabPlugins.forEach(function (p) { return panels = panels.concat(p.tabPanels.toArray()); });
22079
+ this.externalPanels.reset(panels);
22080
+ };
22081
+ return RecyclebinDetailsComponent;
22082
+ }(UnsubscribeOnDestroy));
22083
+ RecyclebinDetailsComponent.decorators = [
22084
+ { type: i0.Component, args: [{
22085
+ selector: 'eo-recyclebin-details',
22086
+ 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",
22087
+ 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}"]
22088
+ },] }
22089
+ ];
22090
+ RecyclebinDetailsComponent.ctorParameters = function () { return [
22091
+ { type: i2.Router },
22092
+ { type: i2.ActivatedRoute },
22093
+ { type: i1.SystemService },
22094
+ { type: EmptyStateService },
22095
+ { type: i1.BackendService },
22096
+ { type: i1.UserService },
22097
+ { type: i1.NotificationsService },
22098
+ { type: i1.DmsService },
22099
+ { type: SelectionService },
22100
+ { type: i1.CapabilitiesService },
22101
+ { type: i1.EventService },
22102
+ { type: i1.Config },
22103
+ { type: i1.TranslateService }
22104
+ ]; };
22105
+ RecyclebinDetailsComponent.propDecorators = {
22106
+ preview: [{ type: i0.ViewChild, args: ['viewer',] }],
22107
+ confirmDeleteButton: [{ type: i0.ViewChild, args: ['confirmDelete',] }],
22108
+ cacheLayout: [{ type: i0.Input }],
22109
+ tabPanels: [{ type: i0.ContentChildren, args: [TabPanelComponent,] }],
22110
+ tabPlugins: [{ type: i0.ContentChildren, args: [TabPluginComponent,] }],
22111
+ applySelection: [{ type: i0.Input }],
22112
+ parseDmsParams: [{ type: i0.Input }],
22113
+ hasContent: [{ type: i0.Output }],
22114
+ emptyState: [{ type: i0.Input }],
22115
+ dmsParams: [{ type: i0.Input, args: ['params',] }],
22116
+ dmsObject: [{ type: i0.Input, args: ['item',] }],
22117
+ dataType: [{ type: i0.HostBinding, args: ['attr.data-type',] }]
22118
+ };
22119
+
21782
22120
  var ObjectDetailsModule = /** @class */ (function () {
21783
22121
  function ObjectDetailsModule() {
21784
22122
  }
@@ -21803,6 +22141,7 @@
21803
22141
  ],
21804
22142
  declarations: [
21805
22143
  ObjectDetailsComponent,
22144
+ RecyclebinDetailsComponent,
21806
22145
  ObjectHistoryComponent,
21807
22146
  ObjectLinksComponent,
21808
22147
  FavoriteIconComponent,
@@ -21810,7 +22149,7 @@
21810
22149
  HistoryFilterComponent,
21811
22150
  EditIconComponent
21812
22151
  ],
21813
- exports: [ObjectDetailsComponent, ObjectHistoryComponent, ObjectLinksComponent, FavoriteIconComponent, HistoryFilterPipe]
22152
+ exports: [ObjectDetailsComponent, RecyclebinDetailsComponent, ObjectHistoryComponent, ObjectLinksComponent, FavoriteIconComponent, HistoryFilterPipe]
21814
22153
  },] }
21815
22154
  ];
21816
22155
 
@@ -24241,6 +24580,14 @@
24241
24580
  onExecuteAction: function () {
24242
24581
  _this.router.navigateByUrl('/stored-queries');
24243
24582
  }
24583
+ },
24584
+ {
24585
+ name: this.translate.instant('eo.view.navigation.recyclebin'),
24586
+ nameKey: 'eo.view.navigation.recyclebin',
24587
+ shortcut: '8',
24588
+ onExecuteAction: function () {
24589
+ _this.router.navigateByUrl('/recyclebin');
24590
+ }
24244
24591
  }
24245
24592
  ]
24246
24593
  };
@@ -25363,8 +25710,8 @@
25363
25710
  ];
25364
25711
  this.textFilterParams = { context: { defaultValue: '' } };
25365
25712
  this.sortFields = [
25366
- { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
25367
- { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' }
25713
+ { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
25714
+ { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' }
25368
25715
  ];
25369
25716
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
25370
25717
  this.gridOptions = {
@@ -25429,10 +25776,10 @@
25429
25776
  this.backend = backend;
25430
25777
  this.userService = userService;
25431
25778
  this.config = config;
25432
- 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" }];
25779
+ 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" }];
25433
25780
  this.ctrl = {
25434
25781
  componentName: 'yuuvis® RAD client',
25435
- componentVersion: '9.5.0-rc.1',
25782
+ componentVersion: '9.6.0-rc.1',
25436
25783
  productName: '',
25437
25784
  productVersion: ''
25438
25785
  };
@@ -26097,9 +26444,9 @@
26097
26444
  ];
26098
26445
  this.textFilterParams = { context: { defaultValue: '' } };
26099
26446
  this.sortFields = [
26447
+ { field: 'due', headerName: this.translate.instant('eo.notifications.sort.due'), sort: '' },
26100
26448
  { field: 'info', headerName: this.translate.instant('eo.notifications.sort.title'), sort: '' },
26101
- { field: 'messagetype', headerName: this.translate.instant('eo.notifications.sort.type'), sort: '' },
26102
- { field: 'due', headerName: this.translate.instant('eo.notifications.sort.due'), sort: '' }
26449
+ { field: 'messagetype', headerName: this.translate.instant('eo.notifications.sort.type'), sort: '' }
26103
26450
  ];
26104
26451
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
26105
26452
  this.gridOptions = {
@@ -26314,13 +26661,14 @@
26314
26661
 
26315
26662
  var RecyclebinStateComponent = /** @class */ (function (_super) {
26316
26663
  __extends(RecyclebinStateComponent, _super);
26317
- function RecyclebinStateComponent(selection, translate, system, empty, pendingChanges, titleService, userService) {
26664
+ function RecyclebinStateComponent(selection, translate, system, empty, pendingChanges, eventService, titleService, userService) {
26318
26665
  var _this = _super.call(this) || this;
26319
26666
  _this.selection = selection;
26320
26667
  _this.translate = translate;
26321
26668
  _this.system = system;
26322
26669
  _this.empty = empty;
26323
26670
  _this.pendingChanges = pendingChanges;
26671
+ _this.eventService = eventService;
26324
26672
  _this.titleService = titleService;
26325
26673
  _this.userService = userService;
26326
26674
  _this.inboxDmsObjectSelectionId = 'inbox_dms';
@@ -26329,6 +26677,9 @@
26329
26677
  _this.textFilterParams = {};
26330
26678
  _this.titleService.setBaseTitle(_this.translate.instant('eo.recyclebin.list.title'));
26331
26679
  _this.selection.createNew(_this.inboxDmsObjectSelectionId);
26680
+ _this.eventService
26681
+ .on(i1.EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED).pipe(operators.takeUntil(_this.componentDestroyed$))
26682
+ .subscribe(function () { return _this.refreshGrid(); });
26332
26683
  return _this;
26333
26684
  }
26334
26685
  Object.defineProperty(RecyclebinStateComponent.prototype, "hasContent", {
@@ -26378,7 +26729,9 @@
26378
26729
  }];
26379
26730
  this.textFilterParams = { context: { defaultValue: '' } };
26380
26731
  this.sortFields = [
26732
+ { field: 'recycled', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
26381
26733
  { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
26734
+ { field: 'description', headerName: this.translate.instant('eo.inbox.sort.description'), sort: '' }
26382
26735
  ];
26383
26736
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
26384
26737
  this.gridOptions = {
@@ -26393,8 +26746,8 @@
26393
26746
  var icon = params.context.cr.render('type', params, {
26394
26747
  value: params.data.type
26395
26748
  });
26396
- var createdTime = params.context.cr.render('dateTime', params, { value: params.data.recycled });
26397
- return "<div class=\"list-item " + (params.data.folder ? 'folder' : '') + "\" unselectable>\n " + icon + "\n <div class=\"content\">\n <div class=\"title\">" + (params.data.title || '') + "</div>\n <div class=\"meta\">\n <div class=\"description\">\n " + params.data.description + "\n </div>\n <div class='description date'>\n <span class=\"period\">" + createdTime + "</span>\n </div>\n </div>\n </div>\n </div>";
26749
+ var recycledTime = params.context.cr.render('dateTime', params, { value: params.data.recycled });
26750
+ return "<div class=\"list-item " + (params.data.folder ? 'folder' : '') + "\" unselectable>\n " + icon + "\n <div class=\"content\">\n <div class=\"title\">" + (params.data.title || '') + "</div>\n <div class=\"meta\">\n <div class=\"description\">\n " + params.data.description + "\n </div>\n <div class='description date'>\n <span class=\"period\">" + recycledTime + "</span>\n </div>\n </div>\n </div>\n </div>";
26398
26751
  };
26399
26752
  RecyclebinStateComponent.prototype.ngOnInit = function () {
26400
26753
  var _this = this;
@@ -26413,7 +26766,7 @@
26413
26766
  RecyclebinStateComponent.decorators = [
26414
26767
  { type: i0.Component, args: [{
26415
26768
  selector: 'eo-recyclebin-state',
26416
- 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",
26769
+ 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",
26417
26770
  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)}"]
26418
26771
  },] }
26419
26772
  ];
@@ -26423,6 +26776,7 @@
26423
26776
  { type: i1.SystemService },
26424
26777
  { type: EmptyStateService },
26425
26778
  { type: PendingChangesService },
26779
+ { type: i1.EventService },
26426
26780
  { type: PageTitleService },
26427
26781
  { type: i1.UserService }
26428
26782
  ]; };
@@ -26508,7 +26862,7 @@
26508
26862
  var lastModified = null;
26509
26863
  if (res.hits.length) {
26510
26864
  size = res.hits.map(function (a) { return a.filesize || 0; }).reduce(function (acc, cur) { return acc + cur; });
26511
- lastModified = res.hits.sort(i1.Utils.sortValues('modified', 'desc')).slice(0, 10);
26865
+ lastModified = res.hits.sort(i1.Utils.sortValues('modified', 'desc')).slice(0, 100);
26512
26866
  }
26513
26867
  return {
26514
26868
  documentCount: { value: res.count.value },
@@ -27091,11 +27445,12 @@
27091
27445
  // cellRendererFramework: InboxRendererComponent
27092
27446
  }];
27093
27447
  this.sortFields = [
27094
- { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
27095
27448
  {
27096
27449
  field: 'received', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '',
27097
27450
  valueGetter: function (p) { return (p.data[p.colDef.field] || '').match(/\+\d\d:\d\d/) ? new Date(p.data[p.colDef.field]).toISOString() : p.data[p.colDef.field]; }
27098
- }
27451
+ },
27452
+ { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
27453
+ { field: 'description', headerName: this.translate.instant('eo.inbox.sort.description'), sort: '' }
27099
27454
  ];
27100
27455
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
27101
27456
  this.gridOptions = {
@@ -27117,7 +27472,8 @@
27117
27472
  var shortDate = params.context.cr.render('dateTime', params, { value: params.data.received, pattern: 'eoShortDate' });
27118
27473
  var shortTime = params.context.cr.render('dateTime', params, { value: params.data.received, pattern: 'eoShortTime' });
27119
27474
  var duetime = params.context.cr.render('dateTime', params, { value: params.data.duetime });
27120
- return "<div class=\"list-item" + (params.data.folder ? ' folder' : '') + "\" unselectable>\n " + icon + "\n <div class='content'>\n <div class='title'>" + (params.data.title || '') + "</div>\n <div class='description'>" + (params.data.description || '') + "</div>\n <div class='notes" + (params.data.isOverdue() ? ' pastDue' : '') + "'>\n " + (params.data.duetime ? '<span class="period">' + duetime + '</span>' : '') + "\n " + (params.data.isdeputy ? '<span>' + params.context.translate.instant('eo.inbox.item.note.absence') + '</span>' : '') + "\n </div>\n </div>\n <div class=\"meta\">\n <div class=\"date\">" + shortDate + "</div>\n <div class=\"date\">" + shortTime + "</div>\n </div>\n </div>\n ";
27475
+ var titleClass = params.data.accepted ? 'title' : 'title-bold';
27476
+ return "<div class=\"list-item" + (params.data.folder ? ' folder' : '') + "\" unselectable>\n " + icon + "\n <div class='content'>\n <div class='" + titleClass + "'>" + (params.data.title || '') + "</div>\n <div class='description'>" + (params.data.description || '') + "</div>\n <div class='notes" + (params.data.isOverdue() ? ' pastDue' : '') + "'>\n " + (params.data.duetime ? '<span class="period">' + duetime + '</span>' : '') + "\n " + (params.data.isdeputy ? '<span>' + params.context.translate.instant('eo.inbox.item.note.absence') + '</span>' : '') + "\n </div>\n </div>\n <div class=\"meta\">\n <div class=\"date\">" + shortDate + "</div>\n <div class=\"date\">" + shortTime + "</div>\n </div>\n </div>\n ";
27121
27477
  };
27122
27478
  InboxStateComponent.prototype.ngOnInit = function () {
27123
27479
  var _this = this;
@@ -27147,7 +27503,7 @@
27147
27503
  { type: i0.Component, args: [{
27148
27504
  selector: 'eo-inbox-state',
27149
27505
  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",
27150
- 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}"]
27506
+ 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}"]
27151
27507
  },] }
27152
27508
  ];
27153
27509
  InboxStateComponent.ctorParameters = function () { return [
@@ -27265,8 +27621,8 @@
27265
27621
  }
27266
27622
  ];
27267
27623
  this.sortFields = [
27268
- { field: 'selectedtype.label', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
27269
- { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' }
27624
+ { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
27625
+ { field: 'selectedtype.label', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' }
27270
27626
  ];
27271
27627
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
27272
27628
  this.gridOptions = {
@@ -27667,16 +28023,17 @@
27667
28023
  exports.ɵco = CancelSigningComponent;
27668
28024
  exports.ɵcp = FavoriteActionComponent;
27669
28025
  exports.ɵcq = PreventDoubleClickDirective;
27670
- exports.ɵcr = EditIconComponent;
27671
- exports.ɵcs = DuetimeInfoComponent;
27672
- exports.ɵct = PrepareContentExistsInfoComponent;
27673
- exports.ɵcu = ObjectStateRoutingModule;
27674
- exports.ɵcv = InboxStateRoutingModule;
27675
- exports.ɵcw = PrepareStateRoutingModule;
27676
- exports.ɵcx = EoClientRoutingModule;
27677
- exports.ɵcy = ProcessStateComponent;
27678
- exports.ɵcz = RecyclebinStateComponent;
28026
+ exports.ɵcr = RecyclebinDetailsComponent;
28027
+ exports.ɵcs = EditIconComponent;
28028
+ exports.ɵct = DuetimeInfoComponent;
28029
+ exports.ɵcu = PrepareContentExistsInfoComponent;
28030
+ exports.ɵcv = ObjectStateRoutingModule;
28031
+ exports.ɵcw = InboxStateRoutingModule;
28032
+ exports.ɵcx = PrepareStateRoutingModule;
28033
+ exports.ɵcy = EoClientRoutingModule;
28034
+ exports.ɵcz = ProcessStateComponent;
27679
28035
  exports.ɵd = AppProcessComponent;
28036
+ exports.ɵda = RecyclebinStateComponent;
27680
28037
  exports.ɵe = PipesModule;
27681
28038
  exports.ɵf = UnsubscribeOnDestroy;
27682
28039
  exports.ɵg = QueryScopeSelectComponent;