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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +19 -12
  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 +428 -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 +42 -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 +379 -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,33 @@
11777
11788
  }
11778
11789
  this.storageService.setItem(columnsDefinition, cachedColumns);
11779
11790
  };
11791
+ FormElementTableComponent.prototype._updateSplitViewLayoutCache = function () {
11792
+ var _this = this;
11793
+ setTimeout(function () {
11794
+ var _a;
11795
+ (_a = _this.splitView) === null || _a === void 0 ? void 0 : _a.updateLayoutCache();
11796
+ });
11797
+ };
11780
11798
  FormElementTableComponent.prototype.togglePreview = function () {
11781
11799
  this.showPreview = !this.showPreview;
11782
- this.storageService.setItem('eo.table.showPreview', this.showPreview);
11800
+ // make sure that the layout of the split view is updated after the preview panels
11801
+ // visibility changed
11802
+ this._updateSplitViewLayoutCache();
11803
+ this.storageService.setItem(this.cacheLayoutKey + '.showPreview', this.showPreview);
11804
+ };
11805
+ FormElementTableComponent.prototype.ngAfterViewInit = function () {
11806
+ this._updateSplitViewLayoutCache();
11807
+ };
11808
+ FormElementTableComponent.prototype.ngOnInit = function () {
11809
+ var _a;
11810
+ this.hasPreviewFile = this.hasPreviewFile !== undefined ? this.hasPreviewFile : !!((_a = this.params.object) === null || _a === void 0 ? void 0 : _a.content);
11783
11811
  };
11784
11812
  return FormElementTableComponent;
11785
11813
  }(UnsubscribeOnDestroy));
11786
- FormElementTableComponent.COLUMNS_DEFINITION = 'eo.framework.cache.tables.columns.definition';
11787
- FormElementTableComponent.COLUMNS_DEFINITION_OVERLAY = 'eo.framework.cache.tables.overlay.columns.definition';
11788
11814
  FormElementTableComponent.decorators = [
11789
11815
  { type: i0.Component, args: [{
11790
11816
  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",
11817
+ 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
11818
  providers: [
11793
11819
  {
11794
11820
  provide: forms.NG_VALUE_ACCESSOR,
@@ -11805,16 +11831,18 @@
11805
11831
  },] }
11806
11832
  ];
11807
11833
  FormElementTableComponent.ctorParameters = function () { return [
11834
+ { type: i1.LocalStorageService },
11808
11835
  { type: i1.SystemService },
11809
11836
  { type: PendingChangesService },
11810
- { type: GridService },
11811
- { type: i1.TranslateService },
11812
- { type: i1.LocalStorageService },
11813
- { type: i1.EventService }
11837
+ { type: GridService }
11814
11838
  ]; };
11815
11839
  FormElementTableComponent.propDecorators = {
11816
11840
  rowEdit: [{ type: i0.ViewChild, args: ['rowEdit',] }],
11841
+ splitView: [{ type: i0.ViewChild, args: ['splitView',] }],
11817
11842
  limit: [{ type: i0.Input }],
11843
+ hasPreviewFile: [{ type: i0.Input }],
11844
+ minWidth: [{ type: i0.Input }],
11845
+ height: [{ type: i0.Input }],
11818
11846
  params: [{ type: i0.Input }],
11819
11847
  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
11848
  };
@@ -12092,7 +12120,7 @@
12092
12120
  this.layoutService.getLayout("eo.split.layout." + this.cacheLayout)
12093
12121
  .subscribe(function (layout) {
12094
12122
  (layout || []).forEach(function (area) {
12095
- if (area && _this.areas.length) {
12123
+ if (area && _this.areas.length > area.index) {
12096
12124
  _this.areas[area.index].size = area.size;
12097
12125
  _this.areas[area.index].sizeUser = area.size;
12098
12126
  _this.areas[area.index].component.visible = area.visible;
@@ -12145,14 +12173,14 @@
12145
12173
  var item = this.areas.find(function (a) { return a.component === area; });
12146
12174
  if (item) {
12147
12175
  this.refresh();
12148
- this.updateCache();
12176
+ this.updateLayoutCache();
12149
12177
  }
12150
12178
  };
12151
12179
  SplitComponent.prototype.showArea = function (area) {
12152
12180
  var item = this.areas.find(function (a) { return a.component === area; });
12153
12181
  if (item) {
12154
12182
  this.refresh();
12155
- this.updateCache();
12183
+ this.updateLayoutCache();
12156
12184
  }
12157
12185
  };
12158
12186
  SplitComponent.prototype.isLastVisibleArea = function (area) {
@@ -12300,7 +12328,7 @@
12300
12328
  this.containerSize = 0;
12301
12329
  this.areaASize = 0;
12302
12330
  this.areaBSize = 0;
12303
- this.updateCache();
12331
+ this.updateLayoutCache();
12304
12332
  this.isDragging = false;
12305
12333
  this.notify('end');
12306
12334
  };
@@ -12317,7 +12345,7 @@
12317
12345
  return this.visibleTransitionEndInternal.next(data);
12318
12346
  }
12319
12347
  };
12320
- SplitComponent.prototype.updateCache = function () {
12348
+ SplitComponent.prototype.updateLayoutCache = function () {
12321
12349
  if (this.cacheLayout) {
12322
12350
  var layout = this.areas.map(function (a, i) { return ({ index: i, size: a.size, visible: a.component.visible }); });
12323
12351
  this.layoutService.cacheLayout("eo.split.layout." + this.cacheLayout, layout);
@@ -12475,6 +12503,13 @@
12475
12503
  _this.eventsLockFct = [];
12476
12504
  return _this;
12477
12505
  }
12506
+ Object.defineProperty(SplitAreaComponent.prototype, "height", {
12507
+ set: function (height) {
12508
+ this._height = height;
12509
+ },
12510
+ enumerable: false,
12511
+ configurable: true
12512
+ });
12478
12513
  Object.defineProperty(SplitAreaComponent.prototype, "order", {
12479
12514
  set: function (v) {
12480
12515
  this._order = !isNaN(v) ? v : null;
@@ -12568,6 +12603,7 @@
12568
12603
  _height: [{ type: i0.HostBinding, args: ['style.height.%',] }],
12569
12604
  minWidth: [{ type: i0.HostBinding, args: ['style.min-width.px',] }],
12570
12605
  visibleCls: [{ type: i0.HostBinding, args: ['class.visible',] }],
12606
+ height: [{ type: i0.Input }],
12571
12607
  order: [{ type: i0.Input }],
12572
12608
  size: [{ type: i0.Input }],
12573
12609
  minSizePixel: [{ type: i0.Input }],
@@ -14557,7 +14593,7 @@
14557
14593
  }
14558
14594
  };
14559
14595
  TextFilterComponent.prototype.saveFilter = function (term) {
14560
- if (!this.savedFilters.includes(term)) {
14596
+ if (term && !this.savedFilters.includes(term)) {
14561
14597
  this.savedFilters.push(term);
14562
14598
  this.userService.changeSavedInboxFilters(this.savedFilters).subscribe();
14563
14599
  }
@@ -14578,7 +14614,7 @@
14578
14614
  TextFilterComponent.decorators = [
14579
14615
  { type: i0.Component, args: [{
14580
14616
  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",
14617
+ 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
14618
  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
14619
  },] }
14584
14620
  ];
@@ -14911,9 +14947,11 @@
14911
14947
  this.finished.emit();
14912
14948
  };
14913
14949
  WorkflowComponent.prototype.cancel = function () {
14914
- this.finishPending();
14915
- this.dialog.visible = false;
14916
- this.canceled.emit();
14950
+ if (!this.pendingChanges.checkForPendingTasks(this.pendingTaskIds)) {
14951
+ this.finishPending();
14952
+ this.dialog.visible = false;
14953
+ this.canceled.emit();
14954
+ }
14917
14955
  };
14918
14956
  WorkflowComponent.prototype.onIndexDataChanged = function (event) {
14919
14957
  this.form = event;
@@ -17188,7 +17226,10 @@
17188
17226
  .deleteDmsObject(dmsObject.id, dmsObject.type.name, hardDelete, force)
17189
17227
  .subscribe(function () {
17190
17228
  _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'));
17229
+ var successMessage = _this.capabilitiesService.hasCapability('recyclebin')
17230
+ ? _this.translate.instant('eo.action.delete.dms.object.done.enabled.message', { title: dmsObject.title })
17231
+ : _this.translate.instant('eo.action.delete.dms.object.done.message', { title: dmsObject.title });
17232
+ _this.toast.success(_this.translate.instant('eo.action.delete.dms.object.done.title'), successMessage);
17192
17233
  _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_DELETED, _this.selection[0]);
17193
17234
  if ((dmsObject.isContextFolder || !dmsObject.contextFolder) && _this.isAllowedState()) {
17194
17235
  _this.router.navigate(['/']);
@@ -18512,9 +18553,11 @@
18512
18553
  this.finished.emit();
18513
18554
  };
18514
18555
  SignatureComponent.prototype.cancel = function () {
18515
- this.finishPending();
18516
- this.dialog.visible = false;
18517
- this.canceled.emit();
18556
+ if (!this.pendingChanges.checkForPendingTasks(this.pendingTaskIds)) {
18557
+ this.finishPending();
18558
+ this.dialog.visible = false;
18559
+ this.canceled.emit();
18560
+ }
18518
18561
  };
18519
18562
  SignatureComponent.prototype.onIndexDataChanged = function () {
18520
18563
  if (this.signingForm.dirty) {
@@ -18545,8 +18588,8 @@
18545
18588
  SignatureComponent.decorators = [
18546
18589
  { type: i0.Component, args: [{
18547
18590
  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)}"]
18591
+ 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",
18592
+ 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
18593
  },] }
18551
18594
  ];
18552
18595
  SignatureComponent.ctorParameters = function () { return [
@@ -18586,7 +18629,13 @@
18586
18629
  && !this.isFinalized(element));
18587
18630
  };
18588
18631
  SignatureActionComponent.prototype.isAllowedMimeType = function (item) {
18589
- return item.content && item.content.contents[0].mimetype === 'application/pdf';
18632
+ return item.content && (item.content.contents[0].mimetype === 'application/pdf'
18633
+ || item.content.contents[0].mimetype === 'application/msword'
18634
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
18635
+ || item.content.contents[0].mimetype === 'application/vnd.ms-excel'
18636
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
18637
+ || item.content.contents[0].mimetype === 'application/vnd.ms-powerpoint'
18638
+ || item.content.contents[0].mimetype === 'application/vnd.openxmlformats-officedocument.presentationml.presentation');
18590
18639
  };
18591
18640
  SignatureActionComponent.prototype.isAllowedObjectType = function (item) {
18592
18641
  return item.type.supertypes.includes('yuvsigning');
@@ -20550,6 +20599,7 @@
20550
20599
  _this.enableSync = true;
20551
20600
  _this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
20552
20601
  _this.externalPanels = new i0.QueryList();
20602
+ _this.preventClickThrough = false;
20553
20603
  // shortcut actions
20554
20604
  _this.shortcuts = {
20555
20605
  id: 'eo.object-details',
@@ -20706,7 +20756,7 @@
20706
20756
  _this.loadDmsObject(_this.parseDmsParams(res)).subscribe(function (res) {
20707
20757
  // refreshing object details may result in an updated version of the object
20708
20758
  // 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) {
20759
+ if (_this.item && res && (_this.item.id === res.id)) {
20710
20760
  _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_UPDATED, res);
20711
20761
  }
20712
20762
  _this.dmsObject = res;
@@ -20720,7 +20770,14 @@
20720
20770
  }
20721
20771
  };
20722
20772
  ObjectDetailsComponent.prototype.refreshContent = function () {
20723
- this.updateContent();
20773
+ var _this = this;
20774
+ if (!this.preventClickThrough) {
20775
+ this.preventClickThrough = true;
20776
+ this.updateContent();
20777
+ }
20778
+ setTimeout(function () {
20779
+ _this.preventClickThrough = false;
20780
+ }, 5000);
20724
20781
  };
20725
20782
  ObjectDetailsComponent.prototype.prepareIndexDataPreview = function (item, formData) {
20726
20783
  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 +20929,9 @@
20872
20929
  ObjectDetailsComponent.decorators = [
20873
20930
  { type: i0.Component, args: [{
20874
20931
  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",
20932
+ 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
20933
  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}"]
20934
+ 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
20935
  },] }
20879
20936
  ];
20880
20937
  ObjectDetailsComponent.ctorParameters = function () { return [
@@ -21258,7 +21315,7 @@
21258
21315
  ObjectHistoryComponent.decorators = [
21259
21316
  { type: i0.Component, args: [{
21260
21317
  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",
21318
+ 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
21319
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
21263
21320
  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
21321
  },] }
@@ -21779,6 +21836,288 @@
21779
21836
  item: [{ type: i0.Input }]
21780
21837
  };
21781
21838
 
21839
+ var RecyclebinDetailsComponent = /** @class */ (function (_super) {
21840
+ __extends(RecyclebinDetailsComponent, _super);
21841
+ function RecyclebinDetailsComponent(router, route, system, empty, backend, userService, toast, dmsService, selection, capabilityService, eventService, configService, translate) {
21842
+ var _this = _super.call(this) || this;
21843
+ _this.router = router;
21844
+ _this.route = route;
21845
+ _this.system = system;
21846
+ _this.empty = empty;
21847
+ _this.backend = backend;
21848
+ _this.userService = userService;
21849
+ _this.toast = toast;
21850
+ _this.dmsService = dmsService;
21851
+ _this.selection = selection;
21852
+ _this.capabilityService = capabilityService;
21853
+ _this.eventService = eventService;
21854
+ _this.configService = configService;
21855
+ _this.translate = translate;
21856
+ // generate unique id to pass to upload registry
21857
+ _this.user$ = _this.userService.user$;
21858
+ _this._showDeleteDialog = false;
21859
+ _this.userId = '';
21860
+ _this.hasError = false;
21861
+ _this.nodmsobject = false;
21862
+ _this.showLoader = false;
21863
+ _this.panelOrder = { 'master': ['summary', 'history'], 'slave': ['preview'] };
21864
+ _this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
21865
+ _this.externalPanels = new i0.QueryList();
21866
+ _this.parseDmsParams = _this.getDmsParams;
21867
+ _this.hasContent = new i0.EventEmitter();
21868
+ _this.panelOrder = _this.configService.getRaw('recyclebinDetailsTabs') || _this.panelOrder;
21869
+ _this.user$.subscribe(function (user) { _this.userId = user.id; });
21870
+ return _this;
21871
+ }
21872
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "showDeleteDialog", {
21873
+ get: function () {
21874
+ return this._showDeleteDialog;
21875
+ },
21876
+ set: function (val) {
21877
+ var _this = this;
21878
+ this._showDeleteDialog = val;
21879
+ if (this._showDeleteDialog) {
21880
+ setTimeout(function () { return _this.confirmDeleteButton.nativeElement.focus(); }, 0);
21881
+ }
21882
+ },
21883
+ enumerable: false,
21884
+ configurable: true
21885
+ });
21886
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "emptyState", {
21887
+ get: function () {
21888
+ return this._emptyState;
21889
+ },
21890
+ set: function (e) {
21891
+ this._emptyState = e || EmptyStateService.defaultEmptyState();
21892
+ },
21893
+ enumerable: false,
21894
+ configurable: true
21895
+ });
21896
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "dmsParams", {
21897
+ set: function (params) {
21898
+ var _this = this;
21899
+ this.showLoader = true;
21900
+ this.loadDmsObject(params).subscribe(function (res) {
21901
+ _this.dmsObject = res;
21902
+ _this.showLoader = false;
21903
+ }, i1.Utils.throw(function () { return _this.onHasError(true, true, false); }));
21904
+ },
21905
+ enumerable: false,
21906
+ configurable: true
21907
+ });
21908
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "dmsObject", {
21909
+ set: function (v) {
21910
+ this.item = v;
21911
+ this.onHasError();
21912
+ // prepare indexdata preview
21913
+ this.onIndexDataSaved(null, this.item);
21914
+ this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_LOADED, this.item);
21915
+ if (this.item) {
21916
+ if (this.item.lock) {
21917
+ this.lockTooltip = this.translate.instant('eo.object.lock') + ' '
21918
+ + (new LocaleDatePipe(this.translate).transform(this.item.lock.on))
21919
+ + ', ' + this.item.lock.by.label + ' (' + this.item.lock.by.name + ')';
21920
+ }
21921
+ }
21922
+ else {
21923
+ this.emptyState = this.empty.getEmptyState(0);
21924
+ }
21925
+ },
21926
+ enumerable: false,
21927
+ configurable: true
21928
+ });
21929
+ Object.defineProperty(RecyclebinDetailsComponent.prototype, "dataType", {
21930
+ get: function () {
21931
+ return this.item ? this.item.typeName : 'none';
21932
+ },
21933
+ enumerable: false,
21934
+ configurable: true
21935
+ });
21936
+ RecyclebinDetailsComponent.prototype.getDmsParams = function (data) {
21937
+ return data ? Object.assign(Object.assign({}, data), { type: data.type }) : null;
21938
+ };
21939
+ RecyclebinDetailsComponent.prototype.updateContent = function () {
21940
+ var _this = this;
21941
+ if (this.applySelection) {
21942
+ this.selection
21943
+ .find(this.applySelection.in)
21944
+ .focus$
21945
+ .pipe(operators.takeUntil(this.componentDestroyed$))
21946
+ .subscribe(function (result) {
21947
+ _this.showLoader = true;
21948
+ _this.loadDmsObject(_this.parseDmsParams(result)).subscribe(function (res) {
21949
+ if (_this.item && res && (_this.item.id === res.id) && res.version > _this.item.version) {
21950
+ _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_UPDATED, res);
21951
+ }
21952
+ _this.dmsObject = res;
21953
+ _this.showLoader = false;
21954
+ }, i1.Utils.throw(function (error) {
21955
+ return _this.onHasError(true, true, false);
21956
+ }));
21957
+ });
21958
+ }
21959
+ };
21960
+ RecyclebinDetailsComponent.prototype.restoreFile = function (openLocationAfterRestore) {
21961
+ var _this = this;
21962
+ if (openLocationAfterRestore === void 0) { openLocationAfterRestore = false; }
21963
+ this.dmsService.restore(this.item.id, this.userId, this.item.typeName).subscribe(function () {
21964
+ _this.updateContent();
21965
+ if (openLocationAfterRestore) {
21966
+ _this.router.navigate(['/object', _this.item.id]);
21967
+ }
21968
+ _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 }));
21969
+ _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED);
21970
+ }, function (error) {
21971
+ if (error.status === 409) {
21972
+ _this.toast.error(_this.translate.instant('eo.recyclebin.details.restore.dms.object.error.409'));
21973
+ }
21974
+ });
21975
+ };
21976
+ RecyclebinDetailsComponent.prototype.deleteDmsObject = function () {
21977
+ var _this = this;
21978
+ this.dmsService
21979
+ .deleteDmsObject(this.item.id, this.item.type.name, true)
21980
+ .subscribe(function () {
21981
+ _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 }));
21982
+ _this._showDeleteDialog = false;
21983
+ _this.eventService.trigger(i1.EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED);
21984
+ });
21985
+ };
21986
+ RecyclebinDetailsComponent.prototype.prepareIndexDataPreview = function (item, formData) {
21987
+ 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;
21988
+ return this.system
21989
+ .getObjectTypeForm(type.name, 'EDIT')
21990
+ .pipe(operators.map(function (form) {
21991
+ var indexDataPreview = {
21992
+ form: form,
21993
+ data: formData || data
21994
+ };
21995
+ var baseparams = {
21996
+ id: id,
21997
+ type: type.name,
21998
+ createdOn: new Date(created.on),
21999
+ modifiedOn: new Date(modified.on),
22000
+ createdBy: created.by.title + " (" + created.by.name + ")",
22001
+ modifiedBy: modified.by.title + " (" + modified.by.name + ")",
22002
+ contentFileName: contentFileName ? contentFileName : null,
22003
+ contentFileSize: contentFileSize ? Number(contentFileSize) : null,
22004
+ version: version || 0,
22005
+ mimeGroup: content ? content.contents ? content.contents[0].mimegroup : null : null,
22006
+ digest: content ? content.contents ? content.contents[0].digest : null : null,
22007
+ contentId: content ? content.contents ? content.id : null : null,
22008
+ mimeType: content ? content.contents ? content.contents[0].mimetype : null : null,
22009
+ };
22010
+ return { indexDataPreview: indexDataPreview, baseparams: baseparams };
22011
+ }));
22012
+ };
22013
+ RecyclebinDetailsComponent.prototype.onHasError = function (hasError, nodmsobject, showLoader) {
22014
+ if (hasError === void 0) { hasError = false; }
22015
+ if (nodmsobject === void 0) { nodmsobject = false; }
22016
+ if (showLoader === void 0) { showLoader = false; }
22017
+ this.hasError = hasError;
22018
+ this.nodmsobject = nodmsobject;
22019
+ this.showLoader = showLoader;
22020
+ this.hasContent.emit(!hasError);
22021
+ };
22022
+ RecyclebinDetailsComponent.prototype.loadDmsObject = function (params) {
22023
+ var _a;
22024
+ if (params) {
22025
+ delete params.version;
22026
+ }
22027
+ // check for valid id
22028
+ 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);
22029
+ };
22030
+ RecyclebinDetailsComponent.prototype.downloadOriginalContent = function () {
22031
+ this.backend.downloadContent([this.item], null, false, true);
22032
+ };
22033
+ // executed when the dms object changed due to saving its indexdata
22034
+ RecyclebinDetailsComponent.prototype.onIndexDataSaved = function (formData, item) {
22035
+ var _this = this;
22036
+ if (!this.item) {
22037
+ this.indexDataPreview = null;
22038
+ this.baseparams = null;
22039
+ }
22040
+ if (!this.item2) {
22041
+ this.indexDataPreview2 = null;
22042
+ this.baseparams2 = null;
22043
+ }
22044
+ if (item) {
22045
+ this.prepareIndexDataPreview(item, formData)
22046
+ .subscribe(function (data) {
22047
+ if (item === _this.item) {
22048
+ _this.indexDataPreview = data.indexDataPreview;
22049
+ _this.baseparams = data.baseparams;
22050
+ }
22051
+ else {
22052
+ _this.indexDataPreview2 = data.indexDataPreview;
22053
+ _this.baseparams2 = data.baseparams;
22054
+ }
22055
+ });
22056
+ }
22057
+ };
22058
+ RecyclebinDetailsComponent.prototype.isVisible = function (id) {
22059
+ return this.panelOrder.master.includes(id) || this.panelOrder.slave.includes(id);
22060
+ };
22061
+ RecyclebinDetailsComponent.prototype.ngOnInit = function () {
22062
+ var _this = this;
22063
+ this.capabilities = this.capabilityService.getCapabilities();
22064
+ this.updateContent();
22065
+ this.eventService
22066
+ .on(i1.EnaioEvent.DMS_OBJECT_UPDATED)
22067
+ .pipe(operators.takeUntil(this.componentDestroyed$))
22068
+ .subscribe(function (event) {
22069
+ if (event.data && _this.item.id === event.data.id) {
22070
+ _this.dmsObject = _this.dmsService.createLocalCopyOfDMSObject(event.data);
22071
+ if (_this.preview && !_this.preview.disabled) {
22072
+ _this.preview.refresh();
22073
+ }
22074
+ }
22075
+ });
22076
+ };
22077
+ RecyclebinDetailsComponent.prototype.ngAfterViewInit = function () {
22078
+ var panels = this.tabPanels.toArray();
22079
+ this.tabPlugins.forEach(function (p) { return panels = panels.concat(p.tabPanels.toArray()); });
22080
+ this.externalPanels.reset(panels);
22081
+ };
22082
+ return RecyclebinDetailsComponent;
22083
+ }(UnsubscribeOnDestroy));
22084
+ RecyclebinDetailsComponent.decorators = [
22085
+ { type: i0.Component, args: [{
22086
+ selector: 'eo-recyclebin-details',
22087
+ 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",
22088
+ 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}"]
22089
+ },] }
22090
+ ];
22091
+ RecyclebinDetailsComponent.ctorParameters = function () { return [
22092
+ { type: i2.Router },
22093
+ { type: i2.ActivatedRoute },
22094
+ { type: i1.SystemService },
22095
+ { type: EmptyStateService },
22096
+ { type: i1.BackendService },
22097
+ { type: i1.UserService },
22098
+ { type: i1.NotificationsService },
22099
+ { type: i1.DmsService },
22100
+ { type: SelectionService },
22101
+ { type: i1.CapabilitiesService },
22102
+ { type: i1.EventService },
22103
+ { type: i1.Config },
22104
+ { type: i1.TranslateService }
22105
+ ]; };
22106
+ RecyclebinDetailsComponent.propDecorators = {
22107
+ preview: [{ type: i0.ViewChild, args: ['viewer',] }],
22108
+ confirmDeleteButton: [{ type: i0.ViewChild, args: ['confirmDelete',] }],
22109
+ cacheLayout: [{ type: i0.Input }],
22110
+ tabPanels: [{ type: i0.ContentChildren, args: [TabPanelComponent,] }],
22111
+ tabPlugins: [{ type: i0.ContentChildren, args: [TabPluginComponent,] }],
22112
+ applySelection: [{ type: i0.Input }],
22113
+ parseDmsParams: [{ type: i0.Input }],
22114
+ hasContent: [{ type: i0.Output }],
22115
+ emptyState: [{ type: i0.Input }],
22116
+ dmsParams: [{ type: i0.Input, args: ['params',] }],
22117
+ dmsObject: [{ type: i0.Input, args: ['item',] }],
22118
+ dataType: [{ type: i0.HostBinding, args: ['attr.data-type',] }]
22119
+ };
22120
+
21782
22121
  var ObjectDetailsModule = /** @class */ (function () {
21783
22122
  function ObjectDetailsModule() {
21784
22123
  }
@@ -21803,6 +22142,7 @@
21803
22142
  ],
21804
22143
  declarations: [
21805
22144
  ObjectDetailsComponent,
22145
+ RecyclebinDetailsComponent,
21806
22146
  ObjectHistoryComponent,
21807
22147
  ObjectLinksComponent,
21808
22148
  FavoriteIconComponent,
@@ -21810,7 +22150,7 @@
21810
22150
  HistoryFilterComponent,
21811
22151
  EditIconComponent
21812
22152
  ],
21813
- exports: [ObjectDetailsComponent, ObjectHistoryComponent, ObjectLinksComponent, FavoriteIconComponent, HistoryFilterPipe]
22153
+ exports: [ObjectDetailsComponent, RecyclebinDetailsComponent, ObjectHistoryComponent, ObjectLinksComponent, FavoriteIconComponent, HistoryFilterPipe]
21814
22154
  },] }
21815
22155
  ];
21816
22156
 
@@ -24241,6 +24581,14 @@
24241
24581
  onExecuteAction: function () {
24242
24582
  _this.router.navigateByUrl('/stored-queries');
24243
24583
  }
24584
+ },
24585
+ {
24586
+ name: this.translate.instant('eo.view.navigation.recyclebin'),
24587
+ nameKey: 'eo.view.navigation.recyclebin',
24588
+ shortcut: '8',
24589
+ onExecuteAction: function () {
24590
+ _this.router.navigateByUrl('/recyclebin');
24591
+ }
24244
24592
  }
24245
24593
  ]
24246
24594
  };
@@ -25363,8 +25711,8 @@
25363
25711
  ];
25364
25712
  this.textFilterParams = { context: { defaultValue: '' } };
25365
25713
  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: '' }
25714
+ { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
25715
+ { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' }
25368
25716
  ];
25369
25717
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
25370
25718
  this.gridOptions = {
@@ -25429,10 +25777,10 @@
25429
25777
  this.backend = backend;
25430
25778
  this.userService = userService;
25431
25779
  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" }];
25780
+ 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.2", "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
25781
  this.ctrl = {
25434
25782
  componentName: 'yuuvis® RAD client',
25435
- componentVersion: '9.5.0-rc.1',
25783
+ componentVersion: '9.6.0-rc.2',
25436
25784
  productName: '',
25437
25785
  productVersion: ''
25438
25786
  };
@@ -26097,9 +26445,9 @@
26097
26445
  ];
26098
26446
  this.textFilterParams = { context: { defaultValue: '' } };
26099
26447
  this.sortFields = [
26448
+ { field: 'due', headerName: this.translate.instant('eo.notifications.sort.due'), sort: '' },
26100
26449
  { 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: '' }
26450
+ { field: 'messagetype', headerName: this.translate.instant('eo.notifications.sort.type'), sort: '' }
26103
26451
  ];
26104
26452
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
26105
26453
  this.gridOptions = {
@@ -26314,13 +26662,14 @@
26314
26662
 
26315
26663
  var RecyclebinStateComponent = /** @class */ (function (_super) {
26316
26664
  __extends(RecyclebinStateComponent, _super);
26317
- function RecyclebinStateComponent(selection, translate, system, empty, pendingChanges, titleService, userService) {
26665
+ function RecyclebinStateComponent(selection, translate, system, empty, pendingChanges, eventService, titleService, userService) {
26318
26666
  var _this = _super.call(this) || this;
26319
26667
  _this.selection = selection;
26320
26668
  _this.translate = translate;
26321
26669
  _this.system = system;
26322
26670
  _this.empty = empty;
26323
26671
  _this.pendingChanges = pendingChanges;
26672
+ _this.eventService = eventService;
26324
26673
  _this.titleService = titleService;
26325
26674
  _this.userService = userService;
26326
26675
  _this.inboxDmsObjectSelectionId = 'inbox_dms';
@@ -26329,6 +26678,9 @@
26329
26678
  _this.textFilterParams = {};
26330
26679
  _this.titleService.setBaseTitle(_this.translate.instant('eo.recyclebin.list.title'));
26331
26680
  _this.selection.createNew(_this.inboxDmsObjectSelectionId);
26681
+ _this.eventService
26682
+ .on(i1.EnaioEvent.DMS_OBJECT_RESTORED_OR_DELETED).pipe(operators.takeUntil(_this.componentDestroyed$))
26683
+ .subscribe(function () { return _this.refreshGrid(); });
26332
26684
  return _this;
26333
26685
  }
26334
26686
  Object.defineProperty(RecyclebinStateComponent.prototype, "hasContent", {
@@ -26378,7 +26730,9 @@
26378
26730
  }];
26379
26731
  this.textFilterParams = { context: { defaultValue: '' } };
26380
26732
  this.sortFields = [
26733
+ { field: 'recycled', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
26381
26734
  { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
26735
+ { field: 'description', headerName: this.translate.instant('eo.inbox.sort.description'), sort: '' }
26382
26736
  ];
26383
26737
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
26384
26738
  this.gridOptions = {
@@ -26393,8 +26747,8 @@
26393
26747
  var icon = params.context.cr.render('type', params, {
26394
26748
  value: params.data.type
26395
26749
  });
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>";
26750
+ var recycledTime = params.context.cr.render('dateTime', params, { value: params.data.recycled });
26751
+ 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
26752
  };
26399
26753
  RecyclebinStateComponent.prototype.ngOnInit = function () {
26400
26754
  var _this = this;
@@ -26413,7 +26767,7 @@
26413
26767
  RecyclebinStateComponent.decorators = [
26414
26768
  { type: i0.Component, args: [{
26415
26769
  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",
26770
+ 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
26771
  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
26772
  },] }
26419
26773
  ];
@@ -26423,6 +26777,7 @@
26423
26777
  { type: i1.SystemService },
26424
26778
  { type: EmptyStateService },
26425
26779
  { type: PendingChangesService },
26780
+ { type: i1.EventService },
26426
26781
  { type: PageTitleService },
26427
26782
  { type: i1.UserService }
26428
26783
  ]; };
@@ -26508,7 +26863,7 @@
26508
26863
  var lastModified = null;
26509
26864
  if (res.hits.length) {
26510
26865
  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);
26866
+ lastModified = res.hits.sort(i1.Utils.sortValues('modified', 'desc')).slice(0, 100);
26512
26867
  }
26513
26868
  return {
26514
26869
  documentCount: { value: res.count.value },
@@ -27091,11 +27446,12 @@
27091
27446
  // cellRendererFramework: InboxRendererComponent
27092
27447
  }];
27093
27448
  this.sortFields = [
27094
- { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
27095
27449
  {
27096
27450
  field: 'received', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '',
27097
27451
  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
- }
27452
+ },
27453
+ { field: 'title', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' },
27454
+ { field: 'description', headerName: this.translate.instant('eo.inbox.sort.description'), sort: '' }
27099
27455
  ];
27100
27456
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
27101
27457
  this.gridOptions = {
@@ -27117,7 +27473,8 @@
27117
27473
  var shortDate = params.context.cr.render('dateTime', params, { value: params.data.received, pattern: 'eoShortDate' });
27118
27474
  var shortTime = params.context.cr.render('dateTime', params, { value: params.data.received, pattern: 'eoShortTime' });
27119
27475
  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 ";
27476
+ var titleClass = params.data.accepted ? 'title' : 'title-bold';
27477
+ 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
27478
  };
27122
27479
  InboxStateComponent.prototype.ngOnInit = function () {
27123
27480
  var _this = this;
@@ -27147,7 +27504,7 @@
27147
27504
  { type: i0.Component, args: [{
27148
27505
  selector: 'eo-inbox-state',
27149
27506
  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}"]
27507
+ 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
27508
  },] }
27152
27509
  ];
27153
27510
  InboxStateComponent.ctorParameters = function () { return [
@@ -27265,8 +27622,8 @@
27265
27622
  }
27266
27623
  ];
27267
27624
  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: '' }
27625
+ { field: 'created', headerName: this.translate.instant('eo.inbox.sort.date'), sort: '' },
27626
+ { field: 'selectedtype.label', headerName: this.translate.instant('eo.inbox.sort.title'), sort: '' }
27270
27627
  ];
27271
27628
  var sortColDefs = CustomSortComponent.sortColDefs(this.sortFields);
27272
27629
  this.gridOptions = {
@@ -27667,16 +28024,17 @@
27667
28024
  exports.ɵco = CancelSigningComponent;
27668
28025
  exports.ɵcp = FavoriteActionComponent;
27669
28026
  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;
28027
+ exports.ɵcr = RecyclebinDetailsComponent;
28028
+ exports.ɵcs = EditIconComponent;
28029
+ exports.ɵct = DuetimeInfoComponent;
28030
+ exports.ɵcu = PrepareContentExistsInfoComponent;
28031
+ exports.ɵcv = ObjectStateRoutingModule;
28032
+ exports.ɵcw = InboxStateRoutingModule;
28033
+ exports.ɵcx = PrepareStateRoutingModule;
28034
+ exports.ɵcy = EoClientRoutingModule;
28035
+ exports.ɵcz = ProcessStateComponent;
27679
28036
  exports.ɵd = AppProcessComponent;
28037
+ exports.ɵda = RecyclebinStateComponent;
27680
28038
  exports.ɵe = PipesModule;
27681
28039
  exports.ɵf = UnsubscribeOnDestroy;
27682
28040
  exports.ɵg = QueryScopeSelectComponent;