@eo-sdk/client 9.1.0-rc.1 → 9.2.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 (75) hide show
  1. package/app/eo-client/inbox-state/inbox-state/inbox.types.enum.d.ts +2 -2
  2. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts +6 -2
  3. package/app/eo-framework/actions/action.module.d.ts +3 -1
  4. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +2 -1
  5. package/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.d.ts +2 -1
  6. package/app/eo-framework/actions/actions/delete-action/delete/delete.component.d.ts +4 -2
  7. package/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.d.ts +22 -0
  8. package/app/eo-framework/actions/actions/delete-content-action/delete-content-action.d.ts +6 -7
  9. package/app/eo-framework/actions/actions/finalize/finalize-action.d.ts +5 -5
  10. package/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.d.ts +14 -0
  11. package/app/eo-framework/actions/actions/open-context-action/open-context-action.d.ts +1 -0
  12. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts +5 -2
  13. package/app/eo-framework/form-elements/organization/organization.component.d.ts +3 -2
  14. package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +0 -1
  15. package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts +8 -4
  16. package/app/eo-framework/util/directive/prevent-double-click.directive.d.ts +1 -0
  17. package/assets/_default/i18n/de.json +12 -6
  18. package/assets/_default/i18n/en.json +12 -5
  19. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +547 -515
  20. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  21. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -3
  22. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  23. package/bundles/eo-sdk-client.umd.js +432 -242
  24. package/bundles/eo-sdk-client.umd.js.map +1 -1
  25. package/bundles/eo-sdk-client.umd.min.js +1 -1
  26. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  27. package/eo-sdk-client.d.ts +66 -65
  28. package/eo-sdk-client.metadata.json +1 -1
  29. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  30. package/esm2015/app/eo-client/dashboard/dashboard.component.js +2 -4
  31. package/esm2015/app/eo-client/inbox-state/inbox-state/inbox-state.component.js +9 -7
  32. package/esm2015/app/eo-client/inbox-state/inbox-state/inbox.types.enum.js +3 -3
  33. package/esm2015/app/eo-client/object-state/object-state/object-state.component.js +2 -2
  34. package/esm2015/app/eo-framework/actions/action-menu/action-menu.component.js +40 -7
  35. package/esm2015/app/eo-framework/actions/action.module.js +7 -1
  36. package/esm2015/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.js +7 -3
  37. package/esm2015/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.js +8 -4
  38. package/esm2015/app/eo-framework/actions/actions/delete-action/delete/delete.component.js +11 -4
  39. package/esm2015/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.js +60 -0
  40. package/esm2015/app/eo-framework/actions/actions/delete-content-action/delete-content-action.js +5 -17
  41. package/esm2015/app/eo-framework/actions/actions/finalize/finalize-action.js +12 -11
  42. package/esm2015/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.js +39 -0
  43. package/esm2015/app/eo-framework/actions/actions/open-context-action/open-context-action.js +6 -2
  44. package/esm2015/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.js +44 -17
  45. package/esm2015/app/eo-framework/app-shell/app-shell.module.js +1 -3
  46. package/esm2015/app/eo-framework/form-elements/organization/organization.component.js +5 -2
  47. package/esm2015/app/eo-framework/form-elements/string/string.component.js +2 -2
  48. package/esm2015/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.js +2 -4
  49. package/esm2015/app/eo-framework/grid/extensions/filter/text/text-filter.component.js +30 -17
  50. package/esm2015/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.js +2 -2
  51. package/esm2015/app/eo-framework/grid/filters/codesystem-filter.component.js +2 -2
  52. package/esm2015/app/eo-framework/grid/filters/dynamic-list-filter.component.js +1 -2
  53. package/esm2015/app/eo-framework/grid/filters/list-filter.component.js +2 -3
  54. package/esm2015/app/eo-framework/grid/filters/organization-filter.component.js +3 -3
  55. package/esm2015/app/eo-framework/media/media.component.js +2 -2
  56. package/esm2015/app/eo-framework/result-list/result-list.module.js +2 -2
  57. package/esm2015/app/eo-framework/tree/tree.component.js +2 -2
  58. package/esm2015/app/eo-framework/ui/ui.module.js +6 -3
  59. package/esm2015/app/eo-framework/util/directive/prevent-double-click.directive.js +8 -2
  60. package/esm2015/eo-sdk-client.js +67 -66
  61. package/esm2015/projects/eo-sdk/core/lib/model/inbox-item.model.js +2 -2
  62. package/esm2015/projects/eo-sdk/core/lib/service/backend/backend.service.js +35 -9
  63. package/esm2015/projects/eo-sdk/core/lib/service/dms/dms.service.js +10 -11
  64. package/esm2015/projects/eo-sdk/core/lib/service/user/user.service.js +11 -1
  65. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +54 -19
  66. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  67. package/fesm2015/eo-sdk-client.js +353 -172
  68. package/fesm2015/eo-sdk-client.js.map +1 -1
  69. package/package.json +2 -2
  70. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
  71. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts +2 -2
  72. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +1 -0
  73. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +3 -2
  74. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +5 -0
  75. package/projects/eo-sdk/core/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@eo-sdk/core'), require('@angular/router'), require('@ag-grid-community/core'), require('@angular/platform-browser'), require('@angular/forms'), require('primeng/accordion'), require('@angular/platform-browser/animations'), require('primeng/primeng'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/cdk/a11y'), require('@angular/animations'), require('moment'), require('moment/min/locales'), require('lodash'), require('@ag-grid-community/angular'), require('@ag-grid-community/client-side-row-model'), require('@ag-grid-community/csv-export'), require('@angular/cdk/drag-drop')) :
3
- typeof define === 'function' && define.amd ? define('@eo-sdk/client', ['exports', '@angular/core', '@angular/common', '@angular/common/http', 'rxjs', 'rxjs/operators', '@eo-sdk/core', '@angular/router', '@ag-grid-community/core', '@angular/platform-browser', '@angular/forms', 'primeng/accordion', '@angular/platform-browser/animations', 'primeng/primeng', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/cdk/a11y', '@angular/animations', 'moment', 'moment/min/locales', 'lodash', '@ag-grid-community/angular', '@ag-grid-community/client-side-row-model', '@ag-grid-community/csv-export', '@angular/cdk/drag-drop'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['eo-sdk'] = global['eo-sdk'] || {}, global['eo-sdk'].client = {}), global.ng.core, global.ng.common, global.ng.common.http, global.rxjs, global.rxjs.operators, global.i1, global.ng.router, global.core, global.ng.platformBrowser, global.ng.forms, global.accordion, global.ng.platformBrowser.animations, global.primeng, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.cdk.a11y, global.ng.animations, global.moment_, null, global._, global.angular, global.clientSideRowModel, global.csvExport, global.ng.cdk.dragDrop));
5
- }(this, (function (exports, i0, common, http, rxjs, operators, i1, i2, core, i1$1, forms, accordion, animations, primeng, overlay, portal, a11y, animations$1, moment_, locales, _, angular, clientSideRowModel, csvExport, dragDrop) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('rxjs'), require('rxjs/operators'), require('@eo-sdk/core'), require('@angular/router'), require('@ag-grid-community/core'), require('@angular/platform-browser'), require('@angular/forms'), require('primeng/accordion'), require('@angular/platform-browser/animations'), require('primeng/primeng'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/cdk/a11y'), require('@angular/animations'), require('moment'), require('moment/min/locales'), require('lodash'), require('@ag-grid-community/angular'), require('@ag-grid-community/client-side-row-model'), require('@ag-grid-community/csv-export'), require('@angular/cdk/drag-drop'), require('@ngx-translate/core')) :
3
+ typeof define === 'function' && define.amd ? define('@eo-sdk/client', ['exports', '@angular/core', '@angular/common', '@angular/common/http', 'rxjs', 'rxjs/operators', '@eo-sdk/core', '@angular/router', '@ag-grid-community/core', '@angular/platform-browser', '@angular/forms', 'primeng/accordion', '@angular/platform-browser/animations', 'primeng/primeng', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/cdk/a11y', '@angular/animations', 'moment', 'moment/min/locales', 'lodash', '@ag-grid-community/angular', '@ag-grid-community/client-side-row-model', '@ag-grid-community/csv-export', '@angular/cdk/drag-drop', '@ngx-translate/core'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['eo-sdk'] = global['eo-sdk'] || {}, global['eo-sdk'].client = {}), global.ng.core, global.ng.common, global.ng.common.http, global.rxjs, global.rxjs.operators, global.i1, global.ng.router, global.core, global.ng.platformBrowser, global.ng.forms, global.accordion, global.ng.platformBrowser.animations, global.primeng, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.cdk.a11y, global.ng.animations, global.moment_, null, global._, global.angular, global.clientSideRowModel, global.csvExport, global.ng.cdk.dragDrop, global.i1$2));
5
+ }(this, (function (exports, i0, common, http, rxjs, operators, i1, i2, core, i1$1, forms, accordion, animations, primeng, overlay, portal, a11y, animations$1, moment_, locales, _, angular, clientSideRowModel, csvExport, dragDrop, i1$2) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -4461,6 +4461,74 @@
4461
4461
  select: [{ type: i0.Output }]
4462
4462
  };
4463
4463
 
4464
+ /**
4465
+ * This directive traps the focus inside the element it is applied to.
4466
+ * When applied, a users can't "tab out" of the element.
4467
+ * You need at least two focusable children in the element for it to work properly.
4468
+ * See the querySelector in the trapFocus method to know which elements count as focusable.
4469
+ * Additionally you can add the attribute "focusable" to an element if you are unsure.
4470
+ */
4471
+ var TrapFocusDirective = /** @class */ (function () {
4472
+ function TrapFocusDirective(el) {
4473
+ this.el = el;
4474
+ this.focusableSelectors = 'a[href], button, textarea, input[type="text"],' +
4475
+ 'input[type="radio"], input[type="checkbox"], select, [focusable]';
4476
+ }
4477
+ TrapFocusDirective.prototype.ngAfterViewInit = function () {
4478
+ this.trapFocus(this.el.nativeElement);
4479
+ };
4480
+ TrapFocusDirective.prototype.trapFocus = function (element) {
4481
+ var focusableElements = element.querySelectorAll(this.focusableSelectors);
4482
+ focusableElements = Array.from(focusableElements)
4483
+ .filter(function (el) { return !el.disabled && !el.classList.contains('disabled'); });
4484
+ var firstFocusableElement = focusableElements[0];
4485
+ var lastFocusableElement = focusableElements[focusableElements.length - 1];
4486
+ element.addEventListener('keydown', (function (event) {
4487
+ var isTabPressed = event.keyCode === 9; // tab key code
4488
+ if (!isTabPressed)
4489
+ return;
4490
+ if (event.shiftKey) /* shift + tab */ {
4491
+ if (document.activeElement === firstFocusableElement) {
4492
+ lastFocusableElement.focus();
4493
+ event.preventDefault();
4494
+ }
4495
+ }
4496
+ else /* tab */ {
4497
+ if (document.activeElement === lastFocusableElement) {
4498
+ firstFocusableElement.focus();
4499
+ event.preventDefault();
4500
+ }
4501
+ }
4502
+ }));
4503
+ };
4504
+ TrapFocusDirective.prototype.isArrowUpOrDownPressed = function (event) {
4505
+ var key = event.key;
4506
+ if (key === 'ArrowUp' || key === 'ArrowDown') {
4507
+ event.preventDefault();
4508
+ var focusableElements = this.el.nativeElement.parentElement.querySelectorAll(this.focusableSelectors);
4509
+ var currentIndex = Array.from(focusableElements).indexOf(document.activeElement);
4510
+ if (key === 'ArrowDown' && currentIndex < focusableElements.length - 1) {
4511
+ focusableElements[currentIndex + 1].focus();
4512
+ }
4513
+ else if (key === 'ArrowUp' && currentIndex > 0) {
4514
+ focusableElements[currentIndex - 1].focus();
4515
+ }
4516
+ }
4517
+ };
4518
+ return TrapFocusDirective;
4519
+ }());
4520
+ TrapFocusDirective.decorators = [
4521
+ { type: i0.Directive, args: [{
4522
+ selector: '[eoTrapFocus]'
4523
+ },] }
4524
+ ];
4525
+ TrapFocusDirective.ctorParameters = function () { return [
4526
+ { type: i0.ElementRef }
4527
+ ]; };
4528
+ TrapFocusDirective.propDecorators = {
4529
+ isArrowUpOrDownPressed: [{ type: i0.HostListener, args: ['keydown', ['$event'],] }]
4530
+ };
4531
+
4464
4532
  /**
4465
4533
  * Shared module for all ui components that are used across the whole app
4466
4534
  * and in other components.
@@ -4502,7 +4570,8 @@
4502
4570
  OverlayComponent,
4503
4571
  ErrorMessageComponent,
4504
4572
  EoDialogComponent,
4505
- QueryScopeSelectComponent
4573
+ QueryScopeSelectComponent,
4574
+ TrapFocusDirective,
4506
4575
  ],
4507
4576
  declarations: [
4508
4577
  EoIconComponent,
@@ -4517,7 +4586,8 @@
4517
4586
  ErrorMessageComponent,
4518
4587
  EoDialogComponent,
4519
4588
  IndexdataSummaryEntryComponent,
4520
- QueryScopeSelectComponent
4589
+ QueryScopeSelectComponent,
4590
+ TrapFocusDirective
4521
4591
  ]
4522
4592
  },] }
4523
4593
  ];
@@ -6281,7 +6351,7 @@
6281
6351
  // Recursive function walking the tree nodes and setting the nodes `selected` flags
6282
6352
  TreeComponent.prototype.updateTreeNode = function (node, parents) {
6283
6353
  var _this = this;
6284
- node.selected = !!this.selectedNodes.find(function (n) { return node.id === n.value; });
6354
+ node.selected = !!this.selectedNodes.find(function (n) { return node.id === n.id; });
6285
6355
  node.expanded = this._expandedNodes.length ? !!this._expandedNodes.find(function (id) { return id === node.id; }) : node.expanded;
6286
6356
  node.highlighted = !!this._highlightedNodes.find(function (id) { return id === node.id; });
6287
6357
  node.focused = this.focusedNode && this.focusedNode.id === node.id ? this.focusedNode.focused : false;
@@ -8779,6 +8849,9 @@
8779
8849
  enumerable: false,
8780
8850
  configurable: true
8781
8851
  });
8852
+ OrganizationComponent.prototype.ngAfterViewInit = function () {
8853
+ this.autoCompleteInput.focusInput();
8854
+ };
8782
8855
  OrganizationComponent.prototype.validate = function () {
8783
8856
  return null;
8784
8857
  };
@@ -8906,7 +8979,7 @@
8906
8979
  multi: true
8907
8980
  }
8908
8981
  ],
8909
- styles: [".eo-organization .ui-autocomplete-token-label{display:inline-block}.eo-organization .fa.fa-user,.eo-organization .fa.fa-users{margin:0 4px;text-align:center;width:18px}:host.readonly ::ng-deep .ui-autocomplete-token-icon{display:none}:host ::ng-deep .ui-autocomplete-token{border:none!important;margin:0!important;padding:0!important}:host ::ng-deep .ui-autocomplete-token .token{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;overflow:hidden;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{opacity:1}[dir=ltr] :host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px}[dir=rtl] :host ::ng-deep .ui-autocomplete-token-icon{margin-left:4px}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}:host ::ng-deep .deleted-user-label{color:var(--color-error)}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token{margin:0;padding:0;width:0!important}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token input{width:0!important}"]
8982
+ styles: [".eo-organization .ui-autocomplete-token-label{display:inline-block}.eo-organization .fa.fa-user,.eo-organization .fa.fa-users{margin:0 4px;text-align:center;width:18px}:host.readonly ::ng-deep .ui-autocomplete-token-icon{display:none}:host ::ng-deep .ui-autocomplete-token{border:none!important;margin:0!important;padding:0!important}:host ::ng-deep .ui-autocomplete-token .token{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;overflow:hidden;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{opacity:1}[dir=ltr] :host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px}[dir=rtl] :host ::ng-deep .ui-autocomplete-token-icon{margin-left:4px}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}:host ::ng-deep .deleted-user-label{color:var(--color-error)}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token{margin:0;padding:0;width:0!important}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token input{width:0!important}:host ::ng-deep .ui-autocomplete-panel{left:0!important}"]
8910
8983
  },] }
8911
8984
  ];
8912
8985
  OrganizationComponent.ctorParameters = function () { return [
@@ -9227,7 +9300,7 @@
9227
9300
  };
9228
9301
  StringComponent.prototype.autocompleteFn = function (evt) {
9229
9302
  var _this = this;
9230
- var uri = "/autocomplete/element?prefix=" + evt.query + "&qname=" + this.qname;
9303
+ var uri = "/autocomplete/element?prefix=" + encodeURIComponent(evt.query) + "&qname=" + this.qname;
9231
9304
  var base = this.backend.getSearchBase();
9232
9305
  this.backend
9233
9306
  .getJson(uri, base)
@@ -13137,7 +13210,7 @@
13137
13210
  var _this = _super.call(this, backend, translate, systemService) || this;
13138
13211
  _this.params = {};
13139
13212
  _this.multiselect = true;
13140
- _this.placeholder = translate.instant('eo.resultlist.grid.filterOoo');
13213
+ _this.placeholder = translate.instant('eo.filter.input.placeholder');
13141
13214
  return _this;
13142
13215
  }
13143
13216
  OrganizationFilterComponent.prototype.onValueChange = function () {
@@ -13187,7 +13260,7 @@
13187
13260
  { type: i0.Component, args: [{
13188
13261
  selector: 'eo-organization-filter',
13189
13262
  template: "<div class=\"eo-organization\" [ngClass]=\"{acInputHidden: !multiselect && innerValue.length}\">\n\n <p-autoComplete [(ngModel)]=\"innerValue\" [minLength]=\"1\" #autocomplete\n (onSelect)=\"onSelect($event)\" (onUnselect)=\"onUnselect($event)\"\n (onBlur)=\"onAutoCompleteBlur()\"\n [readonly]=\"readonly\"\n [disabled]=\"readonly\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"autocompleteRes\" field=\"title\"\n (completeMethod)=\"autocompleteFn($event)\" [multiple]=\"true\">\n\n <!-- template for the suggest list -->\n <ng-template let-item pTemplate=\"item\">\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\"></i>\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\n </ng-template>\n\n <!-- template for the selected items when multiple -->\n <ng-template let-item pTemplate=\"selectedItem\">\n <div class=\"token\">\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\" [ngClass]=\"{'deleted-user-label': !item.firstname?.length && !item.lastname?.length && !item.active && !item.type}\"></i>\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length && item.active) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\n <span *ngIf=\"(!item.firstname?.length && !item.lastname?.length && !item.active && !item.type)\" class=\"ui-autocomplete-token-label deleted-user-label\">{{'eo.form.property.organization.error.usernotfound'|translate}}</span>\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.active && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\n </div>\n </ng-template>\n\n </p-autoComplete>\n</div>\n",
13190
- styles: [".eo-organization .ui-autocomplete-token-label{display:inline-block}.eo-organization .fa.fa-user,.eo-organization .fa.fa-users{margin:0 4px;text-align:center;width:18px}:host.readonly ::ng-deep .ui-autocomplete-token-icon{display:none}:host ::ng-deep .ui-autocomplete-token{border:none!important;margin:0!important;padding:0!important}:host ::ng-deep .ui-autocomplete-token .token{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;overflow:hidden;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{opacity:1}[dir=ltr] :host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px}[dir=rtl] :host ::ng-deep .ui-autocomplete-token-icon{margin-left:4px}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}:host ::ng-deep .deleted-user-label{color:var(--color-error)}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token{margin:0;padding:0;width:0!important}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token input{width:0!important}"]
13263
+ styles: [".eo-organization .ui-autocomplete-token-label{display:inline-block}.eo-organization .fa.fa-user,.eo-organization .fa.fa-users{margin:0 4px;text-align:center;width:18px}:host.readonly ::ng-deep .ui-autocomplete-token-icon{display:none}:host ::ng-deep .ui-autocomplete-token{border:none!important;margin:0!important;padding:0!important}:host ::ng-deep .ui-autocomplete-token .token{align-items:center;border:1px solid rgba(0,0,0,.1);display:flex;overflow:hidden;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{opacity:1}[dir=ltr] :host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px}[dir=rtl] :host ::ng-deep .ui-autocomplete-token-icon{margin-left:4px}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}:host ::ng-deep .deleted-user-label{color:var(--color-error)}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token{margin:0;padding:0;width:0!important}:host ::ng-deep .eo-organization.acInputHidden .ui-autocomplete-input-token input{width:0!important}:host ::ng-deep .ui-autocomplete-panel{left:0!important}"]
13191
13264
  },] }
13192
13265
  ];
13193
13266
  OrganizationFilterComponent.ctorParameters = function () { return [
@@ -13204,7 +13277,7 @@
13204
13277
  _this.params = {};
13205
13278
  _this.multiselect = true;
13206
13279
  _this.situation = 'SEARCH';
13207
- _this.placeholder = translate.instant('eo.resultlist.grid.filterOoo');
13280
+ _this.placeholder = translate.instant('eo.filter.input.placeholder');
13208
13281
  return _this;
13209
13282
  }
13210
13283
  CodesystemFilterComponent.prototype.onValueChange = function () {
@@ -13296,7 +13369,6 @@
13296
13369
  _this.multiselect = true;
13297
13370
  _this.situation = 'SEARCH';
13298
13371
  return _this;
13299
- // this.placeholder = translate.instant('eo.resultlist.grid.filterOoo');
13300
13372
  }
13301
13373
  DynamicListFilterComponent.prototype.onValueChange = function () {
13302
13374
  var _this = this;
@@ -13508,7 +13580,6 @@
13508
13580
  _this.title = '';
13509
13581
  _this.searchLimit = 10;
13510
13582
  _this.operator = 'OR'; // AND | OR
13511
- _this.selectedAllFilters = false;
13512
13583
  _this.id = '#set';
13513
13584
  return _this;
13514
13585
  }
@@ -13519,7 +13590,6 @@
13519
13590
  set: function (opts) {
13520
13591
  var _this = this;
13521
13592
  this._options = this.defaultValue ? opts || [] : this.settingsService.setupSettings(this.id, opts);
13522
- this.selectedAllFilters = this.options.every(function (opt) { return opt.value; });
13523
13593
  if (this.options && this.params && this.isFilterActive()) {
13524
13594
  setTimeout(function () { return _this.params.filterChangedCallback(); }, 0);
13525
13595
  }
@@ -13568,7 +13638,7 @@
13568
13638
  SetFilterComponent.decorators = [
13569
13639
  { type: i0.Component, args: [{
13570
13640
  selector: 'eo-set-filter',
13571
- template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n <input *ngIf=\"options?.length > searchLimit\" #input (ngModelChange)=\"onSearchChange($event)\" [ngModel]=\"''\"\n class=\"form-control\" placeholder=\"{{ 'eo.resultlist.grid.searchOoo' | translate}}\">\n <div class=\"option flex-row\">\n <eo-checkbox (ngModelChange)=\"onChange($event)\" [ngModel]=\"selectedAllFilters\" [tristate]=\"false\"></eo-checkbox>\n <label>({{'eo.resultlist.grid.selectAll' | translate}})</label>\n </div>\n</header>\n<div class=\"option flex-row\" *ngFor=\"let item of options\" [hidden]=\"item.hidden\">\n <eo-checkbox (ngModelChange)=\"onChange($event, item)\" [ngModel]=\"item.value\" [tristate]=\"false\"></eo-checkbox>\n <label [innerHTML]=\"item.label | safeHtml\"></label>\n</div>\n",
13641
+ template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n <input *ngIf=\"options?.length > searchLimit\" #input (ngModelChange)=\"onSearchChange($event)\" [ngModel]=\"''\"\n class=\"form-control\" placeholder=\"{{ 'eo.resultlist.grid.searchOoo' | translate}}\">\n</header>\n<div class=\"option flex-row\" *ngFor=\"let item of options\" [hidden]=\"item.hidden\">\n <eo-checkbox (ngModelChange)=\"onChange($event, item)\" [ngModel]=\"item.value\" [tristate]=\"false\"></eo-checkbox>\n <label [innerHTML]=\"item.label | safeHtml\"></label>\n</div>\n",
13572
13642
  styles: [".title{font-weight:700;margin-top:.5em}.option{margin:.5em 0}label{padding:0 .5em}input{border:none}"]
13573
13643
  },] }
13574
13644
  ];
@@ -13590,7 +13660,6 @@
13590
13660
  _this.params = {};
13591
13661
  _this.operator = 'OR';
13592
13662
  return _this;
13593
- // this.placeholder = translate.instant('eo.resultlist.grid.filterOoo');
13594
13663
  }
13595
13664
  ListFilterComponent.prototype.onValueChange = function () {
13596
13665
  this.value = this.isFilterActive() ? [''].concat(this.options.filter(function (o) { return o.value; }).map(function (o) { return o.val; })) : null;
@@ -13629,7 +13698,7 @@
13629
13698
  ListFilterComponent.decorators = [
13630
13699
  { type: i0.Component, args: [{
13631
13700
  selector: 'eo-list-filter',
13632
- template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n <input *ngIf=\"options?.length > searchLimit\" #input (ngModelChange)=\"onSearchChange($event)\" [ngModel]=\"''\"\n class=\"form-control\" placeholder=\"{{ 'eo.resultlist.grid.searchOoo' | translate}}\">\n <div class=\"option flex-row\">\n <eo-checkbox (ngModelChange)=\"onChange($event)\" [ngModel]=\"selectedAllFilters\" [tristate]=\"false\"></eo-checkbox>\n <label>({{'eo.resultlist.grid.selectAll' | translate}})</label>\n </div>\n</header>\n<div class=\"option flex-row\" *ngFor=\"let item of options\" [hidden]=\"item.hidden\">\n <eo-checkbox (ngModelChange)=\"onChange($event, item)\" [ngModel]=\"item.value\" [tristate]=\"false\"></eo-checkbox>\n <label [innerHTML]=\"item.label | safeHtml\"></label>\n</div>\n",
13701
+ template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n <input *ngIf=\"options?.length > searchLimit\" #input (ngModelChange)=\"onSearchChange($event)\" [ngModel]=\"''\"\n class=\"form-control\" placeholder=\"{{ 'eo.resultlist.grid.searchOoo' | translate}}\">\n</header>\n<div class=\"option flex-row\" *ngFor=\"let item of options\" [hidden]=\"item.hidden\">\n <eo-checkbox (ngModelChange)=\"onChange($event, item)\" [ngModel]=\"item.value\" [tristate]=\"false\"></eo-checkbox>\n <label [innerHTML]=\"item.label | safeHtml\"></label>\n</div>\n",
13633
13702
  styles: [".title{font-weight:700;margin-top:.5em}.option{margin:.5em 0}label{padding:0 .5em}input{border:none}"]
13634
13703
  },] }
13635
13704
  ];
@@ -14320,7 +14389,7 @@
14320
14389
  QuickFilterComponent.decorators = [
14321
14390
  { type: i0.Component, args: [{
14322
14391
  selector: 'eo-quick-filter',
14323
- template: "\n <div class=\"qSearch flex-row\" *ngIf=\"eoGrid?.gridOptions?.rowData\" [style.alignItems]=\"'center'\">\n <label>\n <eo-icon class=\"small\" [iconSrc]=\"'assets/_default/svg/ic_quickfilter.svg'\" [style.margin.px]=\"4\"></eo-icon>\n </label>\n <eo-form-input>\n <input (keyup)=\"eoGrid.onQuickFilterChanged($event)\" class=\"qInput\" [style.border]=\"'none'\"\n placeholder=\"{{'eo.resultlist.grid.filterOoo' | translate}}\"/>\n </eo-form-input>\n </div>\n "
14392
+ template: "\n <div class=\"qSearch flex-row\" *ngIf=\"eoGrid?.gridOptions?.rowData\" [style.alignItems]=\"'center'\">\n <label>\n <eo-icon class=\"small\" [iconSrc]=\"'assets/_default/svg/ic_quickfilter.svg'\" [style.margin.px]=\"4\"></eo-icon>\n </label>\n <eo-form-input>\n <input (keyup)=\"eoGrid.onQuickFilterChanged($event)\" class=\"qInput\" [style.border]=\"'none'\"\n placeholder=\"{{'eo.filter.input.placeholder' | translate}}\"/>\n </eo-form-input>\n </div>\n "
14324
14393
  },] }
14325
14394
  ];
14326
14395
  QuickFilterComponent.propDecorators = {
@@ -14411,15 +14480,18 @@
14411
14480
 
14412
14481
  var TextFilterComponent = /** @class */ (function (_super) {
14413
14482
  __extends(TextFilterComponent, _super);
14414
- function TextFilterComponent(settingsService, storageService) {
14483
+ function TextFilterComponent(settingsService, storageService, userService) {
14415
14484
  var _this = _super.call(this) || this;
14416
14485
  _this.settingsService = settingsService;
14417
14486
  _this.storageService = storageService;
14487
+ _this.userService = userService;
14418
14488
  _this.title = '';
14419
- _this.placeholder = 'eo.resultlist.grid.filterOoo';
14489
+ _this.placeholder = 'eo.filter.input.placeholder';
14490
+ _this.enableSave = false;
14420
14491
  _this.focused = false;
14421
- _this.autocompleteRes = [];
14492
+ _this.savedFilters = [];
14422
14493
  _this.id = '#text';
14494
+ _this.getSavedFilters();
14423
14495
  return _this;
14424
14496
  }
14425
14497
  Object.defineProperty(TextFilterComponent.prototype, "matchFields", {
@@ -14453,14 +14525,25 @@
14453
14525
  };
14454
14526
  TextFilterComponent.prototype.focusout = function () {
14455
14527
  this.focused = false;
14456
- if (this.value && !this.autocompleteRes.includes(this.value) && this.value !== '' && this.value.trim() !== '') {
14457
- if (this.autocompleteRes.length === 5) {
14458
- this.autocompleteRes.shift();
14459
- }
14460
- this.autocompleteRes.push(this.value);
14461
- this.storageService.setItem('eo.inbox.filter.suggestions', this.autocompleteRes);
14528
+ };
14529
+ TextFilterComponent.prototype.getSavedFilters = function () {
14530
+ if (this.userService.getCurrentUser().userSettings.savedInboxFilter) {
14531
+ this.savedFilters = this.userService.getCurrentUser().userSettings.savedInboxFilter;
14532
+ }
14533
+ else {
14534
+ this.savedFilters = this.storageService.getItem('eo.inbox.filter.suggestions') ? this.storageService.getItem('eo.inbox.filter.suggestions') : [];
14535
+ }
14536
+ };
14537
+ TextFilterComponent.prototype.saveFilter = function (term) {
14538
+ if (!this.savedFilters.includes(term)) {
14539
+ this.savedFilters.push(term);
14540
+ this.userService.changeSavedInboxFilters(this.savedFilters).subscribe();
14462
14541
  }
14463
14542
  };
14543
+ TextFilterComponent.prototype.removeFilter = function (term) {
14544
+ this.savedFilters = this.savedFilters.filter(function (t) { return t !== term; });
14545
+ this.userService.changeSavedInboxFilters(this.savedFilters).subscribe();
14546
+ };
14464
14547
  TextFilterComponent.prototype.focus = function () {
14465
14548
  if (!this.focused) {
14466
14549
  this.focused = true;
@@ -14468,25 +14551,24 @@
14468
14551
  setTimeout(function () { document.execCommand('selectall', false, null); });
14469
14552
  }
14470
14553
  };
14471
- TextFilterComponent.prototype.autocompleteFn = function (evt) {
14472
- this.autocompleteRes = this.storageService.getItem('eo.inbox.filter.suggestions') || [];
14473
- };
14474
14554
  return TextFilterComponent;
14475
14555
  }(AbstractFilterComponent));
14476
14556
  TextFilterComponent.decorators = [
14477
14557
  { type: i0.Component, args: [{
14478
14558
  selector: 'eo-text-filter',
14479
- template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<eo-form-input>\n <p-autoComplete #input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\" (completeMethod)=\"autocompleteFn($event)\" [suggestions]=\"autocompleteRes\"></p-autoComplete>\n</eo-form-input>\n",
14480
- styles: [".title{font-weight:700;margin-top:.5em}input{border:none}.form-control::-ms-clear{display:none}"]
14559
+ 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",
14560
+ 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}"]
14481
14561
  },] }
14482
14562
  ];
14483
14563
  TextFilterComponent.ctorParameters = function () { return [
14484
14564
  { type: ListSettingsService },
14485
- { type: i1.LocalStorageService }
14565
+ { type: i1.LocalStorageService },
14566
+ { type: i1.UserService }
14486
14567
  ]; };
14487
14568
  TextFilterComponent.propDecorators = {
14488
14569
  title: [{ type: i0.Input }],
14489
14570
  placeholder: [{ type: i0.Input }],
14571
+ enableSave: [{ type: i0.Input }],
14490
14572
  matchFields: [{ type: i0.Input }]
14491
14573
  };
14492
14574
 
@@ -15461,7 +15543,7 @@
15461
15543
  "viewer": "viewer/view/api/video/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}"
15462
15544
  },
15463
15545
  {
15464
- "mimeType": ["image/jpeg", "image/png", "image/apng", "image/gif", "image/svg+xml", "image/webp"],
15546
+ "mimeType": ["image/tiff", "image/jpeg", "image/png", "image/apng", "image/gif", "image/svg+xml", "image/webp"],
15465
15547
  "viewer": "viewer/view/api/img/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}"
15466
15548
  },
15467
15549
  {
@@ -16071,6 +16153,11 @@
16071
16153
  event.stopPropagation();
16072
16154
  this.clicks.next(event);
16073
16155
  };
16156
+ PreventDoubleClickDirective.prototype.onkeyDown = function (event) {
16157
+ event.preventDefault();
16158
+ event.stopPropagation();
16159
+ this.clicks.next(event);
16160
+ };
16074
16161
  return PreventDoubleClickDirective;
16075
16162
  }());
16076
16163
  PreventDoubleClickDirective.decorators = [
@@ -16082,7 +16169,8 @@
16082
16169
  PreventDoubleClickDirective.propDecorators = {
16083
16170
  debounceTime: [{ type: i0.Input }],
16084
16171
  debounceClick: [{ type: i0.Output }],
16085
- clickEvent: [{ type: i0.HostListener, args: ['click', ['$event'],] }]
16172
+ clickEvent: [{ type: i0.HostListener, args: ['click', ['$event'],] }],
16173
+ onkeyDown: [{ type: i0.HostListener, args: ['keydown.enter', ['$event'],] }]
16086
16174
  };
16087
16175
 
16088
16176
  var ActionComponentAnchorDirective = /** @class */ (function () {
@@ -16102,11 +16190,12 @@
16102
16190
 
16103
16191
  var ActionMenuComponent = /** @class */ (function (_super) {
16104
16192
  __extends(ActionMenuComponent, _super);
16105
- function ActionMenuComponent(actionService, router, viewContainerRef, componentFactoryResolver) {
16193
+ function ActionMenuComponent(actionService, router, viewContainerRef, elemRef, componentFactoryResolver) {
16106
16194
  var _this = _super.call(this) || this;
16107
16195
  _this.actionService = actionService;
16108
16196
  _this.router = router;
16109
16197
  _this.viewContainerRef = viewContainerRef;
16198
+ _this.elemRef = elemRef;
16110
16199
  _this.componentFactoryResolver = componentFactoryResolver;
16111
16200
  _this.actionLists = {
16112
16201
  common: [], further: []
@@ -16115,6 +16204,7 @@
16115
16204
  _this.showComponent = false;
16116
16205
  _this.showMenu = false;
16117
16206
  _this.loading = false;
16207
+ _this.activeActionIndex = 0;
16118
16208
  // subscribe for visibility observable indicating whether to show or hide the actions
16119
16209
  _this.actionService
16120
16210
  .actionsShowing$.pipe(operators.takeUntil(_this.componentDestroyed$))
@@ -16160,12 +16250,40 @@
16160
16250
  event.preventDefault();
16161
16251
  this.actionDescription = i === this.actionDescription ? null : i;
16162
16252
  };
16253
+ ActionMenuComponent.prototype.catchFocus = function () {
16254
+ var _this = this;
16255
+ setTimeout(function () {
16256
+ _this.elemRef.nativeElement.querySelector('[tabindex="0"]').focus();
16257
+ });
16258
+ };
16259
+ ActionMenuComponent.prototype.isArrowUpOrDownPressed = function (event) {
16260
+ var key = event.key;
16261
+ var length = this.actionLists.common.length + this.actionLists.further.length - 1;
16262
+ if (key === 'ArrowUp') {
16263
+ this.activeActionIndex = (this.activeActionIndex === 0) ? length : this.activeActionIndex - 1;
16264
+ }
16265
+ else if (key === 'ArrowDown') {
16266
+ this.activeActionIndex = (this.activeActionIndex === length) ? 0 : this.activeActionIndex + 1;
16267
+ }
16268
+ else if (key === 'Enter') {
16269
+ var clickedListEntry = void 0;
16270
+ if (this.activeActionIndex < this.actionLists.common.length) {
16271
+ clickedListEntry = this.actionLists.common[this.activeActionIndex];
16272
+ }
16273
+ else {
16274
+ clickedListEntry = this.actionLists.further[this.activeActionIndex - this.actionLists.common.length];
16275
+ }
16276
+ this.onClick(clickedListEntry);
16277
+ }
16278
+ };
16163
16279
  ActionMenuComponent.prototype.showActionMenu = function () {
16280
+ this.activeActionIndex = 0;
16164
16281
  this.getActions();
16165
16282
  if (this.target === 'DMS_OBJECT') {
16166
16283
  this.getMoreActions();
16167
16284
  }
16168
16285
  this.showMenu = true;
16286
+ this.catchFocus();
16169
16287
  };
16170
16288
  ActionMenuComponent.prototype.hideActionMenu = function () {
16171
16289
  this.clear();
@@ -16207,8 +16325,10 @@
16207
16325
  this.showActionComponent(extComponentAction.extComponents, this.externalDialog, this.componentFactoryResolver, false);
16208
16326
  }
16209
16327
  else if (isWorkFlowAction) {
16210
- var extComponentAction = actionListEntry.action;
16211
- this.showActionComponent(extComponentAction.extComponents, this.externalDialog, this.componentFactoryResolver, false, { executableProcess: extComponentAction.executableProcess });
16328
+ setTimeout(function () {
16329
+ var extComponentAction = actionListEntry.action;
16330
+ _this.showActionComponent(extComponentAction.extComponents, _this.externalDialog, _this.componentFactoryResolver, false, { executableProcess: extComponentAction.executableProcess });
16331
+ });
16212
16332
  }
16213
16333
  };
16214
16334
  ActionMenuComponent.prototype.showActionComponent = function (component, viewContRef, factoryResolver, showComponent, inputs) {
@@ -16242,6 +16362,7 @@
16242
16362
  };
16243
16363
  ActionMenuComponent.prototype.onCancel = function () {
16244
16364
  this.clear();
16365
+ this.catchFocus();
16245
16366
  };
16246
16367
  ActionMenuComponent.prototype.onFinish = function () {
16247
16368
  this.hideActionMenu();
@@ -16251,15 +16372,16 @@
16251
16372
  ActionMenuComponent.decorators = [
16252
16373
  { type: i0.Component, args: [{
16253
16374
  selector: 'eo-action-menu',
16254
- template: "<div class=\"action-menu dark\" *ngIf=\"showMenu\" (eoOutsideClick)=\"hide()\">\n\n <div class=\"head\">\n <div class=\"left\">\n <div class=\"title\" translate>eo.actions.sticky.title</div>\n <div class=\"sub-title\" *ngIf=\"selection?.length > 1; else multi\" translate>eo.actions.sticky.title.sub.selection</div>\n <ng-template #multi>\n <div class=\"sub-title\" *ngIf=\"selection && selection.length\"><span translate>eo.actions.sticky.title.sub.for</span> '{{selection[0].title}}'</div>\n </ng-template>\n </div>\n <div class=\"right\">\n <span class=\"count\">{{subSelection?.length || selection?.length || ''}}</span>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"hide()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"actions\" [hidden]=\"subActionsList || showComponent\">\n\n <ng-template #action let-entry let-id>\n\n <a *ngIf=\"isLinkAction(entry.action); else default\" class=\"link\"\n [routerLink]=\"entry.action.getLink(entry.availableSelection)\"\n [queryParams]=\"entry.action.getParams(entry.availableSelection, true)\">\n <ng-container *ngTemplateOutlet=\"default\"></ng-container>\n </a>\n\n <ng-template #default>\n <div>\n <eo-icon [iconSrc]=\"entry.action.iconSrc\" [iconId]=\"entry.action.iconId\"\n [badge]=\"entry.availableSelection?.length != selection?.length ? entry.availableSelection?.length : null\"></eo-icon>\n <div class=\"label\">{{entry.action.label}}</div>\n <!-- <div class=\"available-count\" *ngIf=\"entry.availableSelection?.length != selection?.length\">{{entry.availableSelection?.length}}</div> -->\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\" (click)=\"showActionDescription(id, $event)\"></eo-icon>\n </div>\n <div class=\"description\" [hidden]=\"id !== actionDescription\">{{entry.action.description}}</div>\n </ng-template>\n </ng-template>\n\n <div class=\"group\" *ngIf=\"actionLists?.common.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.common</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" *ngFor=\"let actionListEntry of actionLists.common; index as i\" (click)=\"onClick(actionListEntry)\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: +i}\"></ng-container>\n\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading; else loader\">\n <div *ngIf=\"actionLists?.further.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.further_actions</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" *ngFor=\"let actionListEntry of actionLists.further; index as i\" eoPreventDoubleClick (debounceClick)=\"onClick(actionListEntry)\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 'f'+i}\"></ng-container>\n\n </div>\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading && !actionLists?.further.length && !actionLists?.common.length\" [style.textAlign]=\"'center'\">\n {{ 'eo.action.not.available' | translate}}\n </div>\n\n <ng-template #loader>\n <div class=\"loading-container\">\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- sub actions -->\n <div class=\"group sub\" *ngIf=\"subActionsList && !showComponent\">\n <div class=\"sub-actions\">\n <div class=\"group-title\">{{subActionsListHeader}}</div>\n <div class=\"action sub\" *ngFor=\"let actionListEntry of subActionsList; index as i\" (click)=\"onClick(actionListEntry)\">\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 's'+i}\"></ng-container>\n </div>\n </div>\n <div class=\"group-buttons\">\n <button (click)=\"onCancel()\" translate>eo.export.cancel</button>\n </div>\n </div>\n\n <div>\n <ng-template eoActionComponentAnchor></ng-template>\n </div>\n\n <div>\n <ng-template eoExtActionComponentAnchor></ng-template>\n </div>\n\n</div>\n",
16375
+ template: "<div class=\"action-menu dark\" *ngIf=\"showMenu\" (eoOutsideClick)=\"hide()\">\n\n <div class=\"head\">\n <div class=\"left\">\n <div class=\"title\" translate>eo.actions.sticky.title</div>\n <div class=\"sub-title\" *ngIf=\"selection?.length > 1; else multi\" translate>eo.actions.sticky.title.sub.selection</div>\n <ng-template #multi>\n <div class=\"sub-title\" *ngIf=\"selection && selection.length\"><span translate>eo.actions.sticky.title.sub.for</span> '{{selection[0].title}}'</div>\n </ng-template>\n </div>\n <div class=\"right\">\n <span class=\"count\">{{subSelection?.length || selection?.length || ''}}</span>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"hide()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"actions\" [hidden]=\"subActionsList || showComponent\">\n\n <ng-template #action let-entry let-id>\n\n <a *ngIf=\"isLinkAction(entry.action); else default\" class=\"link\"\n [routerLink]=\"entry.action.getLink(entry.availableSelection)\"\n [queryParams]=\"entry.action.getParams(entry.availableSelection, true)\">\n <ng-container *ngTemplateOutlet=\"default\"></ng-container>\n </a>\n\n <ng-template #default>\n <div tabindex=\"0\" (keydown)=\"isArrowUpOrDownPressed($event)\">\n <eo-icon [iconSrc]=\"entry.action.iconSrc\" [iconId]=\"entry.action.iconId\"\n [badge]=\"entry.availableSelection?.length != selection?.length ? entry.availableSelection?.length : null\"></eo-icon>\n <div class=\"label\">{{entry.action.label}}</div>\n <!-- <div class=\"available-count\" *ngIf=\"entry.availableSelection?.length != selection?.length\">{{entry.availableSelection?.length}}</div> -->\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\" (click)=\"showActionDescription(id, $event)\"></eo-icon>\n </div>\n <div class=\"description\" [hidden]=\"id !== actionDescription\">{{entry.action.description}}</div>\n </ng-template>\n </ng-template>\n\n <div class=\"group\" *ngIf=\"actionLists?.common.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.common</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" *ngFor=\"let actionListEntry of actionLists.common; let i = index\"\n (click)=\"onClick(actionListEntry)\" [ngClass]=\"{active: activeActionIndex === i}\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: +i}\"></ng-container>\n\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading; else loader\">\n <div *ngIf=\"actionLists?.further.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.further_actions</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" *ngFor=\"let actionListEntry of actionLists.further; index as i\"\n eoPreventDoubleClick [ngClass]=\"{active: activeActionIndex === i + actionLists?.common.length }\"\n (debounceClick)=\"onClick(actionListEntry)\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 'f'+i}\"></ng-container>\n\n </div>\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading && !actionLists?.further.length && !actionLists?.common.length\" [style.textAlign]=\"'center'\">\n {{ 'eo.action.not.available' | translate}}\n </div>\n\n <ng-template #loader>\n <div class=\"loading-container\">\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- sub actions -->\n <div class=\"group sub\" *ngIf=\"subActionsList && !showComponent\">\n <div class=\"sub-actions\">\n <div class=\"group-title\">{{subActionsListHeader}}</div>\n <div class=\"action sub\" *ngFor=\"let actionListEntry of subActionsList; index as i\" (click)=\"onClick(actionListEntry)\">\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 's'+i}\"></ng-container>\n </div>\n </div>\n <div class=\"group-buttons\">\n <button (click)=\"onCancel()\" translate>eo.export.cancel</button>\n </div>\n </div>\n\n <div>\n <ng-template eoActionComponentAnchor></ng-template>\n </div>\n\n <div>\n <ng-template eoExtActionComponentAnchor></ng-template>\n </div>\n\n</div>\n",
16255
16376
  encapsulation: i0.ViewEncapsulation.None,
16256
- styles: [".action-menu{-webkit-animation:eoFadeInRight var(--app-default-transition-duration);animation:eoFadeInRight var(--app-default-transition-duration);background-color:rgba(var(--color-primary-rgb),.95);bottom:0;box-shadow:0 0 10px 0 rgba(var(--color-black-rgb),.3);color:var(--color-white);height:100vh;min-width:300px;overflow:hidden;position:absolute;right:0;top:0;width:25vw;z-index:100}.action-menu .head{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:0;padding:var(--app-pane-padding)}.action-menu .head .left{flex:1 1 auto;order:0}.action-menu .head .left .title{font-size:var(--font-headline);font-weight:var(--font-weight-light)}.action-menu .head .left .sub-title{font-size:var(--font-body);font-weight:var(--font-weight-light)}.action-menu .head .right{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:1}.action-menu .head .right .count{color:rgba(var(--color-white-rgb),.3);font-size:5em;font-weight:var(--font-weight-light);line-height:1em;padding-right:var(--app-pane-padding)}.action-menu .head .right .close{margin:0;z-index:10}.action-menu .actions{height:100%;overflow:scroll}.action-menu .actions .group:last-child{margin-bottom:100px}.action-menu .group{display:inline-block;min-width:200px;padding:var(--app-pane-padding);width:90%}.action-menu .group .group-title{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-white-rgb),.1);margin-bottom:calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .group:not(.sub):hover .group-title{background:rgba(var(--color-white-rgb),.3)}.action-menu .action{border-bottom:1px solid rgba(var(--color-white-rgb),.2)}.action-menu .action a.link{color:inherit;display:block;opacity:1;text-decoration:none}.action-menu .action>a.link>div:first-child,.action-menu .action>div:first-child{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;cursor:pointer;display:flex;padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding) calc(var(--app-pane-padding)/2) 0;transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .action.sub>div:first-child{padding-left:calc(var(--app-pane-padding)/2)}.action-menu .action .label{flex:1 1 auto}.action-menu .action .available-count{color:rgba(var(--color-white-rgb),.3)}.action-menu .action .available-count,.action-menu .action eo-icon{margin:0 calc(var(--app-pane-padding)/2)}.action-menu .action eo-icon.info-icon{border-radius:50%;box-sizing:border-box;color:rgba(var(--color-white-rgb),.3);margin:0;padding:3px}.action-menu .action eo-icon.info-icon:hover{background-color:var(--color-primary)}.action-menu .action .description{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-border-radius:2px;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;border-radius:2px;color:rgba(var(--color-white-rgb),.54);font-style:italic;padding:calc(var(--app-pane-padding)/4) var(--app-pane-padding) calc(var(--app-pane-padding)/2) var(--app-pane-padding);transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .action:last-child{border:0}.action-menu .action:focus,.action-menu .action:hover{background:rgba(var(--color-white-rgb),.1)}.action-menu .group-buttons{display:flex;justify-content:flex-end;padding-top:var(--app-pane-padding)}.action-menu .group-buttons button{background-color:transparent}.action-menu .group-buttons button:hover{background-color:rgba(var(--color-white-rgb),.1)}.action-menu .loading-container{align-items:center;display:flex;justify-content:center;margin:50% auto;padding:16px}"]
16377
+ styles: [".action-menu{-webkit-animation:eoFadeInRight var(--app-default-transition-duration);animation:eoFadeInRight var(--app-default-transition-duration);background-color:rgba(var(--color-primary-rgb),.95);bottom:0;box-shadow:0 0 10px 0 rgba(var(--color-black-rgb),.3);color:var(--color-white);height:100vh;min-width:300px;overflow:hidden;position:absolute;right:0;top:0;width:25vw;z-index:100}.action-menu .head{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:0;padding:var(--app-pane-padding)}.action-menu .head .left{flex:1 1 auto;order:0}.action-menu .head .left .title{font-size:var(--font-headline);font-weight:var(--font-weight-light)}.action-menu .head .left .sub-title{font-size:var(--font-body);font-weight:var(--font-weight-light)}.action-menu .head .right{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:1}.action-menu .head .right .count{color:rgba(var(--color-white-rgb),.3);font-size:5em;font-weight:var(--font-weight-light);line-height:1em;padding-right:var(--app-pane-padding)}.action-menu .head .right .close{margin:0;z-index:10}.action-menu .actions{height:100%;overflow:scroll}.action-menu .actions .group:last-child{margin-bottom:100px}.action-menu .group{display:inline-block;min-width:200px;padding:var(--app-pane-padding);width:90%}.action-menu .group .group-title{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-white-rgb),.1);margin-bottom:calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .group:not(.sub):hover .group-title{background:rgba(var(--color-white-rgb),.3)}.action-menu .action{border-bottom:1px solid rgba(var(--color-white-rgb),.2)}.action-menu .action a.link{color:inherit;display:block;opacity:1;text-decoration:none}.action-menu .action.active{background:rgba(var(--color-white-rgb),.1)}.action-menu .action>a.link>div:first-child,.action-menu .action>div:first-child{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;cursor:pointer;display:flex;padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding) calc(var(--app-pane-padding)/2) 0;transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .action.sub>div:first-child{padding-left:calc(var(--app-pane-padding)/2)}.action-menu .action .label{flex:1 1 auto}.action-menu .action .available-count{color:rgba(var(--color-white-rgb),.3)}.action-menu .action .available-count,.action-menu .action eo-icon{margin:0 calc(var(--app-pane-padding)/2)}.action-menu .action eo-icon.info-icon{border-radius:50%;box-sizing:border-box;color:rgba(var(--color-white-rgb),.3);margin:0;padding:3px}.action-menu .action eo-icon.info-icon:hover{background-color:var(--color-primary)}.action-menu .action .description{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-border-radius:2px;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;border-radius:2px;color:rgba(var(--color-white-rgb),.54);font-style:italic;padding:calc(var(--app-pane-padding)/4) var(--app-pane-padding) calc(var(--app-pane-padding)/2) var(--app-pane-padding);transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .action:last-child{border:0}.action-menu .action:focus,.action-menu .action:hover{background:rgba(var(--color-white-rgb),.1)}.action-menu .group-buttons{display:flex;justify-content:flex-end;padding-top:var(--app-pane-padding)}.action-menu .group-buttons button{background-color:transparent}.action-menu .group-buttons button:hover{background-color:rgba(var(--color-white-rgb),.1)}.action-menu .loading-container{align-items:center;display:flex;justify-content:center;margin:50% auto;padding:16px}"]
16257
16378
  },] }
16258
16379
  ];
16259
16380
  ActionMenuComponent.ctorParameters = function () { return [
16260
16381
  { type: ActionService },
16261
16382
  { type: i2.Router },
16262
16383
  { type: i0.ViewContainerRef },
16384
+ { type: i0.ElementRef },
16263
16385
  { type: i0.ComponentFactoryResolver }
16264
16386
  ]; };
16265
16387
  ActionMenuComponent.propDecorators = {
@@ -16328,7 +16450,7 @@
16328
16450
  return _this;
16329
16451
  }
16330
16452
  OpenContextActionComponent.prototype.isExecutable = function (item) {
16331
- var isExecutable = !this.isFolder(item) || (this.isFolder(item) && this.isNotInObjectState());
16453
+ var isExecutable = (!this.isFolder(item) && this.isNotAlreadyOpened(item.id)) || (this.isFolder(item) && this.isNotInObjectState());
16332
16454
  return rxjs.of(isExecutable);
16333
16455
  };
16334
16456
  OpenContextActionComponent.prototype.getParams = function (selection) {
@@ -16350,6 +16472,11 @@
16350
16472
  var disabledStates = ['/object'];
16351
16473
  return !disabledStates.some(function (s) { return _this.router.url.includes(s); });
16352
16474
  };
16475
+ OpenContextActionComponent.prototype.isNotAlreadyOpened = function (id) {
16476
+ var _this = this;
16477
+ var disabledStates = ['/object/' + id];
16478
+ return !disabledStates.some(function (s) { return _this.router.url.includes(s); });
16479
+ };
16353
16480
  return OpenContextActionComponent;
16354
16481
  }(DmsObjectTarget));
16355
16482
  OpenContextActionComponent.decorators = [
@@ -17008,13 +17135,14 @@
17008
17135
  ]; };
17009
17136
 
17010
17137
  var DeleteComponent = /** @class */ (function () {
17011
- function DeleteComponent(translate, backend, toast, router, capabilitiesService, dmsService, eventService) {
17138
+ function DeleteComponent(translate, backend, toast, router, capabilitiesService, dmsService, elemRef, eventService) {
17012
17139
  this.translate = translate;
17013
17140
  this.backend = backend;
17014
17141
  this.toast = toast;
17015
17142
  this.router = router;
17016
17143
  this.capabilitiesService = capabilitiesService;
17017
17144
  this.dmsService = dmsService;
17145
+ this.elemRef = elemRef;
17018
17146
  this.eventService = eventService;
17019
17147
  this.deleting = false;
17020
17148
  this.folder = '';
@@ -17065,6 +17193,12 @@
17065
17193
  DeleteComponent.prototype.isExpired = function (dateString) {
17066
17194
  return new Date(dateString).setHours(0, 0, 0, 0) < new Date().setHours(0, 0, 0, 0);
17067
17195
  };
17196
+ DeleteComponent.prototype.ngAfterViewInit = function () {
17197
+ var _this = this;
17198
+ setTimeout(function () {
17199
+ _this.elemRef.nativeElement.querySelector('.primary').focus();
17200
+ });
17201
+ };
17068
17202
  DeleteComponent.prototype.ngOnInit = function () {
17069
17203
  var _this = this;
17070
17204
  if (this.selection[0].isContextFolder) {
@@ -17085,7 +17219,7 @@
17085
17219
  DeleteComponent.decorators = [
17086
17220
  { type: i0.Component, args: [{
17087
17221
  selector: 'eo-delete',
17088
- template: "<div class=\"eo-delete\">\n\n <h2 *ngIf=\"!folder && !retentionTime\" translate [translateParams]=\"{item: selection[0].title}\">eo.action.delete.dms.object.confirm.message</h2>\n <h2 *ngIf=\"folder && !retentionTime\" translate [translateParams]=\"{folder: folder, count: count}\">eo.action.delete.dms.object.confirm.context.folder.title</h2>\n <h2 *ngIf=\"retentionTime\" translate [translateParams]=\"{retentionTime: retentionTime}\">eo.action.delete.dms.object.error.retention.title</h2>\n\n <div *ngIf=\"!deleting\">\n <div class=\"form-buttons\">\n <button (click)=\"cancel()\" translate>eo.checkout.cancel</button>\n <button *ngIf=\"!retentionTime\" class=\"primary\" (click)=\"run()\">OK</button>\n </div>\n </div>\n\n <div class=\"spinner-container\" *ngIf=\"deleting\">\n <eo-loading-spinner></eo-loading-spinner>\n </div>\n</div>\n",
17222
+ template: "<div class=\"eo-delete\" eoTrapFocus>\n\n <h2 *ngIf=\"!folder && !retentionTime\" translate [translateParams]=\"{item: selection[0].title}\">eo.action.delete.dms.object.confirm.message</h2>\n <h2 *ngIf=\"folder && !retentionTime\" translate [translateParams]=\"{folder: folder, count: count}\">eo.action.delete.dms.object.confirm.context.folder.title</h2>\n <h2 *ngIf=\"retentionTime\" translate [translateParams]=\"{retentionTime: retentionTime}\">eo.action.delete.dms.object.error.retention.title</h2>\n\n <div *ngIf=\"!deleting\">\n <div class=\"form-buttons\">\n <button (click)=\"cancel()\" translate>eo.checkout.cancel</button>\n <button *ngIf=\"!retentionTime\" class=\"primary\" (click)=\"run()\">OK</button>\n </div>\n </div>\n\n <div class=\"spinner-container\" *ngIf=\"deleting\">\n <eo-loading-spinner></eo-loading-spinner>\n </div>\n</div>\n",
17089
17223
  styles: [".eo-delete{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-delete h2{font-size:var(--font-subhead);font-weight:var(--font-weight-light)}.eo-delete .form-buttons{padding:5px 0;text-align:right}.eo-delete .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding)/2)}.eo-delete .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding)/2);margin-right:0}.eo-delete .spinner-container{align-items:center;display:flex;justify-content:center}"]
17090
17224
  },] }
17091
17225
  ];
@@ -17096,6 +17230,7 @@
17096
17230
  { type: i2.Router },
17097
17231
  { type: i1.CapabilitiesService },
17098
17232
  { type: i1.DmsService },
17233
+ { type: i0.ElementRef },
17099
17234
  { type: i1.EventService }
17100
17235
  ]; };
17101
17236
  DeleteComponent.propDecorators = {
@@ -17301,6 +17436,7 @@
17301
17436
  configurable: true
17302
17437
  });
17303
17438
  AddSubscriptionComponent.prototype.ngOnInit = function () {
17439
+ var _this = this;
17304
17440
  this.header = this.translate.instant('eo.object.inlinemenu.addsubscription');
17305
17441
  this.titleFieldLabel = this.translate.instant('eo.subscription.field.info');
17306
17442
  this.inboxCbLabel = this.translate.instant('eo.subscription.field.notification.inbox');
@@ -17342,6 +17478,9 @@
17342
17478
  ]
17343
17479
  };
17344
17480
  }
17481
+ setTimeout(function () {
17482
+ _this.titleField.nativeElement.getElementsByTagName('input')[0].select();
17483
+ });
17345
17484
  };
17346
17485
  Object.defineProperty(AddSubscriptionComponent.prototype, "titleValidity", {
17347
17486
  get: function () {
@@ -17395,7 +17534,7 @@
17395
17534
  AddSubscriptionComponent.decorators = [
17396
17535
  { type: i0.Component, args: [{
17397
17536
  selector: 'eo-add-subscription',
17398
- template: "<div class=\"eo-subscription\">\n <h2>{{header}}</h2>\n <form [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\" [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\"translate>eo.subscription.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidity\" (click)=\"createSubscription()\"translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n",
17537
+ template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\" [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\"translate>eo.subscription.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidity\" (click)=\"createSubscription()\"translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n",
17399
17538
  styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-size:var(--font-subhead);font-weight:var(--font-weight-light)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding)/2)}.eo-subscription .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding)/2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);border:0;border-radius:2px;color:var(--color-white);margin:calc(var(--app-pane-padding)/4) 0;padding:calc(var(--app-pane-padding)/4)}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding)/4)}"]
17400
17539
  },] }
17401
17540
  ];
@@ -17408,7 +17547,8 @@
17408
17547
  AddSubscriptionComponent.propDecorators = {
17409
17548
  selection: [{ type: i0.Input }],
17410
17549
  finished: [{ type: i0.Output }],
17411
- canceled: [{ type: i0.Output }]
17550
+ canceled: [{ type: i0.Output }],
17551
+ titleField: [{ type: i0.ViewChild, args: ['titleField', { static: true },] }]
17412
17552
  };
17413
17553
 
17414
17554
  var AddSubscriptionActionComponent = /** @class */ (function (_super) {
@@ -17678,18 +17818,22 @@
17678
17818
  this.canceled.emit();
17679
17819
  };
17680
17820
  AddResubmissionComponent.prototype.ngOnInit = function () {
17821
+ var _this = this;
17681
17822
  this.dueFieldLabel = this.translate.instant('eo.resubmission.field.due');
17682
17823
  this.titleFieldLabel = this.translate.instant('eo.resubmission.field.info');
17683
17824
  this.inboxCbLabel = this.translate.instant('eo.resubmission.field.notification.inbox');
17684
17825
  this.emailCbLabel = this.translate.instant('eo.resubmission.field.notification.email');
17685
17826
  this.createResubmissionForm();
17827
+ setTimeout(function () {
17828
+ _this.titleField.nativeElement.getElementsByTagName('input')[0].select();
17829
+ });
17686
17830
  };
17687
17831
  return AddResubmissionComponent;
17688
17832
  }());
17689
17833
  AddResubmissionComponent.decorators = [
17690
17834
  { type: i0.Component, args: [{
17691
17835
  selector: 'eo-add-resubmission',
17692
- template: "<div class=\"eo-resubmission\">\n <h2>{{header}}</h2>\n <form [formGroup]=\"addResubmissionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"dueFieldLabel\">\n <eo-datetime [withTime]=\"true\" [onlyFutureDates]=\"true\" formControlName=\"dueFieldFCN\"></eo-datetime>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [tristate]=\"false\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"notificationMethodValidation\" translate>eo.resubmission.error.msg</div>\n <div class=\"err-msg\" *ngIf=\"dateValidation\" translate>eo.resubmission.error.msg.date</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.resubmission.cancel</button>\n <button class=\"secondary\" *ngIf=\"selection[0].resubmissions.length\" (click)=\"removeResubmission()\" translate>eo.resubmission.delete</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidity\" *ngIf=\"selection[0].resubmissions.length\" (click)=\"updateResubmission()\" translate>eo.resubmission.apply</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidity\" *ngIf=\"!selection[0].resubmissions.length\" (click)=\"createResubmission()\" translate>eo.resubmission.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n",
17836
+ template: "<div class=\"eo-resubmission\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addResubmissionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"dueFieldLabel\">\n <eo-datetime [withTime]=\"true\" [onlyFutureDates]=\"true\" formControlName=\"dueFieldFCN\"></eo-datetime>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [tristate]=\"false\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"notificationMethodValidation\" translate>eo.resubmission.error.msg</div>\n <div class=\"err-msg\" *ngIf=\"dateValidation\" translate>eo.resubmission.error.msg.date</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.resubmission.cancel</button>\n <button class=\"secondary\" *ngIf=\"selection[0].resubmissions.length\" (click)=\"removeResubmission()\" translate>eo.resubmission.delete</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidity\" *ngIf=\"selection[0].resubmissions.length\" (click)=\"updateResubmission()\" translate>eo.resubmission.apply</button>\n <button class=\"primary\" [disabled]=\"addResubmissionForm.errors || titleValidity\" *ngIf=\"!selection[0].resubmissions.length\" (click)=\"createResubmission()\" translate>eo.resubmission.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n",
17693
17837
  styles: [".eo-resubmission{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-resubmission h2{font-size:var(--font-subhead);font-weight:var(--font-weight-light)}.eo-resubmission .form-buttons{padding:5px 0;text-align:right}.eo-resubmission .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding)/2)}.eo-resubmission .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding)/2);margin-right:0}.eo-resubmission .process-indicator{display:flex;justify-content:flex-end}.eo-resubmission .err-msg{background-color:var(--color-error);border:0;border-radius:2px;color:var(--color-white);margin:calc(var(--app-pane-padding)/4) 0;padding:calc(var(--app-pane-padding)/4)}.eo-resubmission .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding)/4)}"]
17694
17838
  },] }
17695
17839
  ];
@@ -17701,6 +17845,7 @@
17701
17845
  ]; };
17702
17846
  AddResubmissionComponent.propDecorators = {
17703
17847
  selection: [{ type: i0.Input }],
17848
+ titleField: [{ type: i0.ViewChild, args: ['titleField', { static: true },] }],
17704
17849
  finished: [{ type: i0.Output }],
17705
17850
  canceled: [{ type: i0.Output }]
17706
17851
  };
@@ -17791,10 +17936,11 @@
17791
17936
  ]; };
17792
17937
 
17793
17938
  var ShareObjectComponent = /** @class */ (function () {
17794
- function ShareObjectComponent(translate, dms, toast) {
17939
+ function ShareObjectComponent(translate, dms, toast, elemRef) {
17795
17940
  this.translate = translate;
17796
17941
  this.dms = dms;
17797
17942
  this.toast = toast;
17943
+ this.elemRef = elemRef;
17798
17944
  this.finished = new i0.EventEmitter();
17799
17945
  this.canceled = new i0.EventEmitter();
17800
17946
  this.dataMeta = [];
@@ -17808,37 +17954,63 @@
17808
17954
  }
17809
17955
  ShareObjectComponent.prototype.ngOnInit = function () {
17810
17956
  var orgaValue = [];
17811
- var shareChildren = this.selection[0].shares[0] ? this.selection[0].shares[0].sharechildren : true;
17812
- this.includeChildrenField.setValue(shareChildren);
17957
+ var shareChildren = [];
17958
+ this.elemRef.nativeElement.querySelector('[tabindex="0"]').focus();
17813
17959
  if (this.selection[0].isFolder) {
17814
17960
  this.header = this.translate.instant('eo.manage.rights.folder.title');
17815
17961
  }
17816
- this.selection[0].additionalvisibility.forEach(function (avObject) {
17817
- orgaValue.push(avObject.name);
17962
+ this.selection[0].shares.forEach(function (avObject) {
17963
+ if (avObject.sharechildren === true) {
17964
+ shareChildren.push(avObject.name);
17965
+ }
17966
+ else {
17967
+ orgaValue.push(avObject.name);
17968
+ }
17818
17969
  });
17819
17970
  this.orgaField.setValue(orgaValue);
17820
- this.dataMeta = this.dataMeta.concat(this.selection[0].additionalvisibility);
17971
+ this.includeChildrenField.setValue(shareChildren);
17821
17972
  };
17822
17973
  ShareObjectComponent.prototype.shareMessage = function () {
17823
17974
  var _this = this;
17975
+ var shared = '';
17976
+ var field = '';
17824
17977
  if (this.orgaField.value.length > 0) {
17825
- this.translate.get('eo.manage.rights.message', {
17826
- title: this.selection[0].title,
17827
- shared: this.orgaField.value.toString()
17828
- }).subscribe(function (val) { return _this.toast.info(val); });
17978
+ shared = this.orgaField.value.toString();
17979
+ }
17980
+ else if (this.includeChildrenField.value.length > 0) {
17981
+ shared = this.includeChildrenField.value.toString();
17829
17982
  }
17830
17983
  else {
17831
- this.toast.info(this.translate.instant('eo.manage.rights.message.notshared'));
17984
+ this.toast.success(this.translate.instant('eo.manage.rights.message.notshared'));
17985
+ return;
17986
+ }
17987
+ field = 'eo.manage.rights.message';
17988
+ if (this.orgaField.value.length > 0 && this.includeChildrenField.value.length > 0) {
17989
+ shared = this.orgaField.value.toString() + ", " + this.includeChildrenField.value.toString();
17832
17990
  }
17991
+ this.translate.get(field, {
17992
+ title: this.selection[0].title,
17993
+ shared: shared,
17994
+ }).subscribe(function (val) { return _this.toast.success(val); });
17833
17995
  };
17834
17996
  ShareObjectComponent.prototype.save = function () {
17835
17997
  var _this = this;
17836
- this.dms.setOrganizationObjectsWithReadRights(this.selection, this.orgaField.value, this.includeChildrenField.value)
17998
+ this.objectId = this.selection[0].id;
17999
+ this.dms.setOrganizationObjectsWithReadRights(this.selection, this.objectId, this.orgaField.value, this.includeChildrenField.value)
17837
18000
  .subscribe(function () {
17838
18001
  _this.shareMessage();
17839
18002
  _this.finished.emit();
17840
18003
  });
17841
18004
  };
18005
+ ShareObjectComponent.prototype.stop = function () {
18006
+ var _this = this;
18007
+ this.objectId = this.selection[0].id;
18008
+ this.dms.setOrganizationObjectsWithReadRights(this.selection, this.objectId, [], [])
18009
+ .subscribe(function () {
18010
+ _this.toast.success(_this.translate.instant('eo.manage.rights.message.notshared'));
18011
+ _this.finished.emit();
18012
+ });
18013
+ };
17842
18014
  ShareObjectComponent.prototype.cancel = function () {
17843
18015
  this.canceled.emit();
17844
18016
  };
@@ -17847,14 +18019,15 @@
17847
18019
  ShareObjectComponent.decorators = [
17848
18020
  { type: i0.Component, args: [{
17849
18021
  selector: 'eo-share-object',
17850
- template: "<div class=\"eo-share-object\">\n <h2>{{header}}</h2>\n\n <form [formGroup]=\"shareForm\">\n <eo-form-input [label]=\"orgaLabel\">\n <eo-organization [dataMeta]=\"dataMeta\" [multiselect]=\"true\" formControlName=\"orgaFieldFCN\"></eo-organization>\n </eo-form-input>\n <eo-form-input *ngIf=\"selection[0].isFolder\" [label]=\"('eo.manage.rights.folder.include.documents.label' | translate)\">\n <eo-checkbox formControlName=\"includeChildren\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n\n <div class=\"form-buttons\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.manage.rights.cancel</button>\n <button class=\"primary\" (click)=\"save()\" [disabled]=\"shareForm.errors || !shareForm.dirty\" translate>eo.manage.rights.apply</button>\n </div>\n</div>\n",
17851
- styles: [".eo-share-object{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-share-object h2{font-size:var(--font-subhead);font-weight:var(--font-weight-light)}.eo-share-object .form-buttons{padding:5px 0;text-align:right}.eo-share-object .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding)/2)}.eo-share-object .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding)/2);margin-right:0}"]
18022
+ template: "<div class=\"eo-share-object\" eoTrapFocus>\n <h2>{{header}}</h2>\n <div class=\"fieldset\">\n <div class=\"legend\"><span style=\"background-color: transparent !important;\" *ngIf=\"selection[0].isFolder\" translate>eo.manage.rights.folder.label</span></div>\n <div>\n <form [formGroup]=\"shareForm\">\n <eo-form-input [label]=\"orgaLabel\" tabindex=\"0\">\n <eo-organization [dataMeta]=\"dataMeta\" [multiselect]=\"true\" formControlName=\"orgaFieldFCN\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n <div *ngIf=\"selection[0].isFolder\">\n <div class=\"legend\"><span translate>eo.manage.rights.folder.include.children.label</span></div>\n <form [formGroup]=\"shareForm\">\n <eo-form-input [label]=\"orgaLabel\">\n <eo-organization [dataMeta]=\"dataMeta\" [multiselect]=\"true\" formControlName=\"includeChildren\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n <div class=\"form-buttons\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.manage.rights.cancel</button>\n <button class=\"danger\" (click)=\"stop()\" *ngIf=\"selection[0].additionalvisibility.length\" translate>eo.manage.rights.stop</button>\n <button class=\"primary\" (click)=\"save()\" [disabled]=\"shareForm.errors || !shareForm.dirty\" translate>eo.manage.rights.apply</button>\n </div>\n</div>\n",
18023
+ styles: [".eo-share-object{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-share-object h2{font-size:var(--font-subhead);font-weight:var(--font-weight-light)}.eo-share-object>.fieldset>:not(.legend){align-content:flex-start;align-items:flex-start;display:contents;flex-flow:row wrap;justify-content:flex-start}.eo-share-object>.fieldset>:not(.legend) span{background-color:transparent!important}.eo-share-object>.fieldset>:not(.legend) eo-form-group{flex:1 1 auto;min-width:200px}.eo-share-object .form-buttons{padding:5px 0;text-align:right}.eo-share-object .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding)/2)}.eo-share-object .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding)/2);margin-right:0}"]
17852
18024
  },] }
17853
18025
  ];
17854
18026
  ShareObjectComponent.ctorParameters = function () { return [
17855
18027
  { type: i1.TranslateService },
17856
18028
  { type: i1.DmsService },
17857
- { type: i1.NotificationsService }
18029
+ { type: i1.NotificationsService },
18030
+ { type: i0.ElementRef }
17858
18031
  ]; };
17859
18032
 
17860
18033
  var ShareObjectActionComponent = /** @class */ (function (_super) {
@@ -17937,6 +18110,45 @@
17937
18110
  { type: ActionService }
17938
18111
  ]; };
17939
18112
 
18113
+ var FinalizeObjectActionComponent = /** @class */ (function () {
18114
+ function FinalizeObjectActionComponent(elemRef, dmsService) {
18115
+ this.elemRef = elemRef;
18116
+ this.dmsService = dmsService;
18117
+ this.finished = new i0.EventEmitter();
18118
+ this.canceled = new i0.EventEmitter();
18119
+ }
18120
+ FinalizeObjectActionComponent.prototype.onClick = function () {
18121
+ this.dmsService.finalize(this.selection[0]).subscribe();
18122
+ this.finished.emit();
18123
+ };
18124
+ FinalizeObjectActionComponent.prototype.cancel = function () {
18125
+ this.canceled.emit();
18126
+ };
18127
+ FinalizeObjectActionComponent.prototype.ngAfterViewInit = function () {
18128
+ var _this = this;
18129
+ setTimeout(function () {
18130
+ _this.elemRef.nativeElement.querySelector('.primary').focus();
18131
+ });
18132
+ };
18133
+ return FinalizeObjectActionComponent;
18134
+ }());
18135
+ FinalizeObjectActionComponent.decorators = [
18136
+ { type: i0.Component, args: [{
18137
+ selector: 'eo-finalize-object-action',
18138
+ template: "<div class=\"finalize\">\n\n <h2 translate>eo.action.finalize.confirm</h2>\n\n <div class=\"form-buttons\" eoTrapFocus>\n <button (click)=\"cancel()\" translate>eo.checkout.cancel</button>\n <button class=\"primary\" (click)=\"onClick()\">OK</button>\n </div>\n\n</div>",
18139
+ styles: [".finalize{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.finalize h2{font-size:var(--font-subhead);font-weight:var(--font-weight-light)}.finalize .form-buttons{padding:5px 0;text-align:right}.finalize .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding)/2)}.finalize .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding)/2);margin-right:0}"]
18140
+ },] }
18141
+ ];
18142
+ FinalizeObjectActionComponent.ctorParameters = function () { return [
18143
+ { type: i0.ElementRef },
18144
+ { type: i1.DmsService }
18145
+ ]; };
18146
+ FinalizeObjectActionComponent.propDecorators = {
18147
+ selection: [{ type: i0.Input }],
18148
+ finished: [{ type: i0.Output }],
18149
+ canceled: [{ type: i0.Output }]
18150
+ };
18151
+
17940
18152
  var FinalizeActionComponent = /** @class */ (function (_super) {
17941
18153
  __extends(FinalizeActionComponent, _super);
17942
18154
  function FinalizeActionComponent(translate, dmsService) {
@@ -17946,7 +18158,8 @@
17946
18158
  _this.priority = 13;
17947
18159
  _this.iconSrc = 'assets/_default/svg/ic_finalized.svg';
17948
18160
  _this.group = 'common';
17949
- _this.range = exports.SelectionRange.MULTI_SELECT;
18161
+ _this.range = exports.SelectionRange.SINGLE_SELECT;
18162
+ _this.component = FinalizeObjectActionComponent;
17950
18163
  _this.label = _this.translate.instant('eo.action.finalize.label');
17951
18164
  _this.description = _this.translate.instant('eo.action.finalize.description');
17952
18165
  return _this;
@@ -17954,21 +18167,16 @@
17954
18167
  FinalizeActionComponent.prototype.isExecutable = function (item) {
17955
18168
  return rxjs.of((item.rights && item.rights.finalize) && !item.lock && !item.isFinalized && !window.location.href.includes('/versions'));
17956
18169
  };
17957
- ;
17958
- FinalizeActionComponent.prototype.run = function (selection) {
17959
- var _this = this;
17960
- if (confirm(this.translate.instant('eo.action.finalize.confirm'))) {
17961
- selection.forEach(function (item) {
17962
- _this.dmsService.finalize(item).subscribe();
17963
- });
17964
- }
17965
- };
17966
18170
  return FinalizeActionComponent;
17967
18171
  }(DmsObjectTarget));
18172
+ FinalizeActionComponent.ɵprov = i0.ɵɵdefineInjectable({ factory: function FinalizeActionComponent_Factory() { return new FinalizeActionComponent(i0.ɵɵinject(i1$2.TranslateService), i0.ɵɵinject(i1.DmsService)); }, token: FinalizeActionComponent, providedIn: "root" });
17968
18173
  FinalizeActionComponent.decorators = [
17969
18174
  { type: i0.Component, args: [{
17970
18175
  selector: 'eo-finalize-action',
17971
18176
  template: ""
18177
+ },] },
18178
+ { type: i0.Injectable, args: [{
18179
+ providedIn: 'root'
17972
18180
  },] }
17973
18181
  ];
17974
18182
  FinalizeActionComponent.ctorParameters = function () { return [
@@ -18016,18 +18224,76 @@
18016
18224
  { type: i1.DmsService }
18017
18225
  ]; };
18018
18226
 
18227
+ var DeleteContentComponent = /** @class */ (function () {
18228
+ function DeleteContentComponent(translate, backend, toast, router, capabilitiesService, dmsService, elemRef) {
18229
+ this.translate = translate;
18230
+ this.backend = backend;
18231
+ this.toast = toast;
18232
+ this.router = router;
18233
+ this.capabilitiesService = capabilitiesService;
18234
+ this.dmsService = dmsService;
18235
+ this.elemRef = elemRef;
18236
+ this.deleting = false;
18237
+ this.finished = new i0.EventEmitter();
18238
+ this.canceled = new i0.EventEmitter();
18239
+ }
18240
+ DeleteContentComponent.prototype.run = function () {
18241
+ var _this = this;
18242
+ this.deleting = true;
18243
+ this.selection.forEach(function (item) {
18244
+ _this.dmsService.removeContent(item).subscribe(function () {
18245
+ _this.toast.success(item.title, _this.translate.instant('eo.action.delete.content.success'));
18246
+ _this.finished.emit();
18247
+ }, function () {
18248
+ _this.toast.error(item.title, _this.translate.instant('eo.action.delete.content.error'));
18249
+ _this.finished.emit();
18250
+ });
18251
+ });
18252
+ };
18253
+ DeleteContentComponent.prototype.cancel = function () {
18254
+ this.canceled.emit();
18255
+ };
18256
+ DeleteContentComponent.prototype.ngAfterViewInit = function () {
18257
+ var _this = this;
18258
+ setTimeout(function () {
18259
+ _this.elemRef.nativeElement.querySelector('.primary').focus();
18260
+ });
18261
+ };
18262
+ return DeleteContentComponent;
18263
+ }());
18264
+ DeleteContentComponent.decorators = [
18265
+ { type: i0.Component, args: [{
18266
+ selector: 'eo-delete-content',
18267
+ template: "<div class=\"eo-delete\" eoTrapFocus>\n\n <h2 translate [translateParams]=\"{item: selection[0].title}\">eo.action.delete.content.confirm.message</h2>\n\n <div *ngIf=\"!deleting\">\n <div class=\"form-buttons\">\n <button (click)=\"cancel()\" translate>eo.checkout.cancel</button>\n <button class=\"primary\" (click)=\"run()\">OK</button>\n </div>\n </div>\n\n <div class=\"spinner-container\" *ngIf=\"deleting\">\n <eo-loading-spinner></eo-loading-spinner>\n </div>\n</div>\n",
18268
+ styles: [".eo-delete{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-delete h2{font-size:var(--font-subhead);font-weight:var(--font-weight-light)}.eo-delete .form-buttons{padding:5px 0;text-align:right}.eo-delete .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding)/2)}.eo-delete .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding)/2);margin-right:0}.eo-delete .spinner-container{align-items:center;display:flex;justify-content:center}"]
18269
+ },] }
18270
+ ];
18271
+ DeleteContentComponent.ctorParameters = function () { return [
18272
+ { type: i1.TranslateService },
18273
+ { type: i1.BackendService },
18274
+ { type: i1.NotificationsService },
18275
+ { type: i2.Router },
18276
+ { type: i1.CapabilitiesService },
18277
+ { type: i1.DmsService },
18278
+ { type: i0.ElementRef }
18279
+ ]; };
18280
+ DeleteContentComponent.propDecorators = {
18281
+ selection: [{ type: i0.Input }],
18282
+ finished: [{ type: i0.Output }],
18283
+ canceled: [{ type: i0.Output }]
18284
+ };
18285
+
18019
18286
  var DeleteContentActionComponent = /** @class */ (function (_super) {
18020
18287
  __extends(DeleteContentActionComponent, _super);
18021
- function DeleteContentActionComponent(router, translate, dms, notificationService) {
18288
+ function DeleteContentActionComponent(router, translate) {
18022
18289
  var _this = _super.call(this) || this;
18023
18290
  _this.router = router;
18024
18291
  _this.translate = translate;
18025
- _this.dms = dms;
18026
- _this.notificationService = notificationService;
18027
18292
  _this.priority = 8.1;
18028
18293
  _this.iconSrc = 'assets/_default/svg/ic_delete_sweep.svg';
18029
18294
  _this.group = 'common';
18030
18295
  _this.range = exports.SelectionRange.MULTI_SELECT;
18296
+ _this.component = DeleteContentComponent;
18031
18297
  _this.label = _this.translate.instant('eo.action.delete.content.label');
18032
18298
  _this.description = _this.translate.instant('eo.action.delete.content.description');
18033
18299
  return _this;
@@ -18037,16 +18303,6 @@
18037
18303
  var hasContent = item.content && item.content.id === item.id;
18038
18304
  return rxjs.of(this.isAllowedState() && !item.isFinalized && hasContent && item.rights.edit && !isLocked && item.type.minFiles === 0);
18039
18305
  };
18040
- DeleteContentActionComponent.prototype.run = function (selection) {
18041
- var _this = this;
18042
- selection.forEach(function (item) {
18043
- _this.dms.removeContent(item).subscribe(function () {
18044
- _this.notificationService.success(item.title, _this.translate.instant('eo.action.delete.content.success'));
18045
- }, function () {
18046
- _this.notificationService.error(item.title, _this.translate.instant('eo.action.delete.content.error'));
18047
- });
18048
- });
18049
- };
18050
18306
  DeleteContentActionComponent.prototype.isAllowedState = function () {
18051
18307
  var _this = this;
18052
18308
  var disabledStates = ['/versions'];
@@ -18062,9 +18318,7 @@
18062
18318
  ];
18063
18319
  DeleteContentActionComponent.ctorParameters = function () { return [
18064
18320
  { type: i2.Router },
18065
- { type: i1.TranslateService },
18066
- { type: i1.DmsService },
18067
- { type: i1.NotificationsService }
18321
+ { type: i1.TranslateService }
18068
18322
  ]; };
18069
18323
 
18070
18324
  var UnlockActionComponent = /** @class */ (function (_super) {
@@ -18197,7 +18451,9 @@
18197
18451
  ShareObjectComponent,
18198
18452
  CutActionComponent,
18199
18453
  FinalizeActionComponent,
18454
+ FinalizeObjectActionComponent,
18200
18455
  DefinalizeActionComponent,
18456
+ DeleteContentComponent,
18201
18457
  DeleteContentActionComponent,
18202
18458
  UnlockActionComponent,
18203
18459
  SimpleWorkflowActionComponent
@@ -18289,7 +18545,9 @@
18289
18545
  ShareObjectComponent,
18290
18546
  CutActionComponent,
18291
18547
  FinalizeActionComponent,
18548
+ FinalizeObjectActionComponent,
18292
18549
  DefinalizeActionComponent,
18550
+ DeleteContentComponent,
18293
18551
  DeleteContentActionComponent,
18294
18552
  UnlockActionComponent,
18295
18553
  SimpleWorkflowActionComponent,
@@ -18369,74 +18627,6 @@
18369
18627
  undockArea: [{ type: i0.Input }]
18370
18628
  };
18371
18629
 
18372
- /**
18373
- * This directive traps the focus inside the element it is applied to.
18374
- * When applied, a users can't "tab out" of the element.
18375
- * You need at least two focusable children in the element for it to work properly.
18376
- * See the querySelector in the trapFocus method to know which elements count as focusable.
18377
- * Additionally you can add the attribute "focusable" to an element if you are unsure.
18378
- */
18379
- var TrapFocusDirective = /** @class */ (function () {
18380
- function TrapFocusDirective(el) {
18381
- this.el = el;
18382
- this.focusableSelectors = 'a[href], button, textarea, input[type="text"],' +
18383
- 'input[type="radio"], input[type="checkbox"], select, [focusable]';
18384
- }
18385
- TrapFocusDirective.prototype.ngAfterViewInit = function () {
18386
- this.trapFocus(this.el.nativeElement);
18387
- };
18388
- TrapFocusDirective.prototype.trapFocus = function (element) {
18389
- var focusableElements = element.querySelectorAll(this.focusableSelectors);
18390
- focusableElements = Array.from(focusableElements)
18391
- .filter(function (el) { return !el.disabled && !el.classList.contains('disabled'); });
18392
- var firstFocusableElement = focusableElements[0];
18393
- var lastFocusableElement = focusableElements[focusableElements.length - 1];
18394
- element.addEventListener('keydown', (function (event) {
18395
- var isTabPressed = event.keyCode === 9; // tab key code
18396
- if (!isTabPressed)
18397
- return;
18398
- if (event.shiftKey) /* shift + tab */ {
18399
- if (document.activeElement === firstFocusableElement) {
18400
- lastFocusableElement.focus();
18401
- event.preventDefault();
18402
- }
18403
- }
18404
- else /* tab */ {
18405
- if (document.activeElement === lastFocusableElement) {
18406
- firstFocusableElement.focus();
18407
- event.preventDefault();
18408
- }
18409
- }
18410
- }));
18411
- };
18412
- TrapFocusDirective.prototype.isArrowUpOrDownPressed = function (event) {
18413
- var key = event.key;
18414
- if (key === 'ArrowUp' || key === 'ArrowDown') {
18415
- event.preventDefault();
18416
- var focusableElements = this.el.nativeElement.parentElement.querySelectorAll(this.focusableSelectors);
18417
- var currentIndex = Array.from(focusableElements).indexOf(document.activeElement);
18418
- if (key === 'ArrowDown' && currentIndex < focusableElements.length - 1) {
18419
- focusableElements[currentIndex + 1].focus();
18420
- }
18421
- else if (key === 'ArrowUp' && currentIndex > 0) {
18422
- focusableElements[currentIndex - 1].focus();
18423
- }
18424
- }
18425
- };
18426
- return TrapFocusDirective;
18427
- }());
18428
- TrapFocusDirective.decorators = [
18429
- { type: i0.Directive, args: [{
18430
- selector: '[eoTrapFocus]'
18431
- },] }
18432
- ];
18433
- TrapFocusDirective.ctorParameters = function () { return [
18434
- { type: i0.ElementRef }
18435
- ]; };
18436
- TrapFocusDirective.propDecorators = {
18437
- isArrowUpOrDownPressed: [{ type: i0.HostListener, args: ['keydown', ['$event'],] }]
18438
- };
18439
-
18440
18630
  /**
18441
18631
  * Module holding the base components of the application shell like application bar, side, search etc.
18442
18632
  */
@@ -18474,7 +18664,6 @@
18474
18664
  AppLayoutComponent,
18475
18665
  ContextSearchComponent,
18476
18666
  AppProcessComponent,
18477
- TrapFocusDirective,
18478
18667
  ]
18479
18668
  },] }
18480
18669
  ];
@@ -19815,12 +20004,6 @@
19815
20004
  },] }
19816
20005
  ];
19817
20006
 
19818
- (function (TypeFilter) {
19819
- TypeFilter["favored"] = "favorite";
19820
- TypeFilter["shared"] = "roles";
19821
- TypeFilter["others"] = "others";
19822
- })(exports.TypeFilter || (exports.TypeFilter = {}));
19823
-
19824
20007
  var ResultListModule = /** @class */ (function () {
19825
20008
  function ResultListModule() {
19826
20009
  }
@@ -24111,6 +24294,12 @@
24111
24294
  ])
24112
24295
  ]);
24113
24296
 
24297
+ (function (TypeFilter) {
24298
+ TypeFilter["favored"] = "favorite";
24299
+ TypeFilter["shared"] = "roles";
24300
+ TypeFilter["others"] = "others";
24301
+ })(exports.TypeFilter || (exports.TypeFilter = {}));
24302
+
24114
24303
  var DashboardComponent = /** @class */ (function (_super) {
24115
24304
  __extends(DashboardComponent, _super);
24116
24305
  function DashboardComponent(userService, titleService, router, route, config, searchService, authService, systemService, inboxService, prepareService, envService, capabilityService, storedQueriesService) {
@@ -24233,9 +24422,7 @@
24233
24422
  .pipe(operators.takeUntil(this.componentDestroyed$))
24234
24423
  .subscribe(function (user) {
24235
24424
  _this.user = user;
24236
- if (!_this.isCloud) {
24237
- _this.captureObjectLists();
24238
- }
24425
+ _this.captureObjectLists();
24239
24426
  });
24240
24427
  this.capabilities = this.capabilityService.getCapabilities();
24241
24428
  if (this.capabilities.storedqueries) {
@@ -24862,10 +25049,10 @@
24862
25049
  this.backend = backend;
24863
25050
  this.userService = userService;
24864
25051
  this.config = config;
24865
- 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.1.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" }];
25052
+ 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.2.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" }];
24866
25053
  this.ctrl = {
24867
25054
  componentName: 'yuuvis® RAD client',
24868
- componentVersion: '9.1.0-rc.1',
25055
+ componentVersion: '9.2.0-rc.2',
24869
25056
  productName: '',
24870
25057
  productVersion: ''
24871
25058
  };
@@ -26222,7 +26409,7 @@
26222
26409
  ObjectStateComponent.decorators = [
26223
26410
  { type: i0.Component, args: [{
26224
26411
  selector: 'eo-object-state',
26225
- template: "<div class=\"file\" [ngClass]=\"{ready: context || context === null}\" *ngIf=\"!error; else errorTmpl\">\n\n <div class=\"file-head\" *ngIf=\"context && context.isContextFolder\">\n <div class=\"left\">\n <eo-icon class=\"type-icon\" [objectType]=\"context.type\"></eo-icon>\n <div class=\"title\" (click)=\"setupFrontPage()\" (contextmenu)=\"onContextMenuClicked($event)\">\n <div class=\"label\">{{context.title || '&nbsp;'}}</div>\n <div class=\"description\">{{context.description || '&nbsp;'}}</div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"fold\">\n <span class=\"created-date\">{{context.created.on | localeDate}}</span>\n <span class=\"created-title\">{{context.created.by.title}}</span>\n </div>\n <div class=\"actions\">\n </div>\n </div>\n </div>\n\n <div class=\"file-body\">\n <div class=\"file-body-wrap\">\n\n <eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"cacheLayout\">\n\n <eo-split-area [size]=\"20\" [minSizePixel]=\"230\" class=\"tree\">\n <ng-template pTemplate=\"content\">\n\n <div class=\"tree-panel-error\" *ngIf=\"loadingState.tree.isError(); else tplTree\" translate>eo.state.object.tree.error</div>\n\n <ng-template #tplTree>\n\n <eo-list-container #eoList [loading]=\"!contextTree\" [tabs]=\"false\">\n <div class=\"eo-header dark\">\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\" translate>eo.state.object.tree.title</h2>\n <form name=\"structureForm\" class=\"tree-filter-form\" [ngClass]=\"{active: !!termFilter}\">\n <eo-form-input [skipToggle]=\"true\" [label]=\" 'eo.state.object.tree.filter.label' | translate\">\n <input [(ngModel)]=\"termFilter\" maxlength=\"250\" [ngModelOptions]=\"{standalone: true}\" (ngModelChange)=\"onTermFilterChange.emit($event)\"/>\n </eo-form-input>\n </form>\n </div>\n </div>\n <div class=\"eo-body tree\">\n <eo-tree [tree]=\"contextTree\" [options]=\"{multiselect: false, disableDeselection: true}\" [@panelLoading]=\"loadingState.tree.state\"\n *ngIf=\"contextTree\" [highlightedNodes]=\"highlightedNodes\" [treeUpdate]=\"contextTreeUpdate\"\n [(ngModel)]=\"selectedNodes\" (ngModelChange)=\"onTreeSelectionChanged($event)\"></eo-tree>\n <h3 *ngIf=\"contextTreeRef?.length\" title=\"{{'eo.state.object.tree.references.tooltip'|translate}}\" translate>eo.state.object.tree.references</h3> \n <eo-tree [tree]=\"contextTreeRef\" [options]=\"{multiselect: false, disableDeselection: true}\" [@panelLoading]=\"loadingState.treeRef.state\"\n *ngIf=\"contextTreeRef?.length\" [highlightedNodes]=\"highlightedNodes\" [treeUpdate]=\"contextTreeRefUpdate\"\n [(ngModel)]=\"selectedNodes\" (ngModelChange)=\"onTreeSelectionChanged($event)\" class=\"reference\"></eo-tree>\n </div>\n </eo-list-container>\n\n </ng-template>\n </ng-template>\n </eo-split-area>\n\n <eo-split-area [size]=\"35\" [minSizePixel]=\"250\" [@panelLoading]=\"loadingState.list.state\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-state-details *ngIf=\"context\" [context]=\"context\" [frontPageData]=\"frontPageData\" [visible]=\"frontPage\" (onTabChange)=\"setupFrontPage(true)\">\n <eo-tab-plugin [type]=\"'object-state-details-tab.object'\"></eo-tab-plugin>\n </eo-object-state-details>\n\n <eo-result-list *ngIf=\"!frontPage && searchResult\" [selectFirst]=\"false\" [title]=\"gridTitle\" [reference]=\"selectedNode?.isReference\"\n [searchResult]=\"searchResult\" [configType]=\"configType\" [configContext]=\"\"\n [emptyMessage]=\"'eo.state.object.list.error'\" (onRefresh)=\"refreshList()\">\n </eo-result-list>\n\n </ng-template>\n </eo-split-area>\n\n <eo-split-area [size]=\"45\" [minSizePixel]=\"250\" [cache]=\"false\" [@panelLoading]=\"loadingState.details.state\">\n <ng-template pTemplate=\"content\">\n <eo-object-details [applySelection]=\"{}\" [reference]=\"isReferenceActive\" [cacheLayout]=\"'object.state--' + typeName + '.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.object'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n\n </eo-split>\n </eo-undock-split>\n </div>\n </div>\n</div>\n\n<ng-template #errorTmpl>\n <eo-error404></eo-error404>\n</ng-template>\n\n",
26412
+ template: "<div class=\"file\" [ngClass]=\"{ready: context || context === null}\" *ngIf=\"!error; else errorTmpl\">\n\n <div class=\"file-head\" *ngIf=\"context && context.isContextFolder\">\n <div class=\"left\">\n <eo-icon class=\"type-icon\" [objectType]=\"context.type\"></eo-icon>\n <div class=\"title\" (click)=\"setupFrontPage()\" (contextmenu)=\"onContextMenuClicked($event)\">\n <div class=\"label\">{{context.title || '&nbsp;'}}</div>\n <div class=\"description\">{{context.description || '&nbsp;'}}</div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"fold\">\n <span class=\"created-date\">{{context.created.on | localeDate}}</span>\n <span class=\"created-title\">{{context.created.by.title}}</span>\n </div>\n <div class=\"actions\">\n </div>\n </div>\n </div>\n\n <div class=\"file-body\">\n <div class=\"file-body-wrap\">\n\n <eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"cacheLayout\">\n\n <eo-split-area [size]=\"20\" [minSizePixel]=\"230\" class=\"tree\">\n <ng-template pTemplate=\"content\">\n\n <div class=\"tree-panel-error\" *ngIf=\"loadingState.tree.isError(); else tplTree\" translate>eo.state.object.tree.error</div>\n\n <ng-template #tplTree>\n\n <eo-list-container #eoList [loading]=\"!contextTree\" [tabs]=\"false\">\n <div class=\"eo-header dark\">\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\" translate>eo.state.object.tree.title</h2>\n <form name=\"structureForm\" class=\"tree-filter-form\" [ngClass]=\"{active: !!termFilter}\">\n <eo-form-input [skipToggle]=\"true\" [label]=\" 'eo.state.object.tree.filter.label' | translate\">\n <input [(ngModel)]=\"termFilter\" maxlength=\"250\" [ngModelOptions]=\"{standalone: true}\" (ngModelChange)=\"onTermFilterChange.emit($event)\"/>\n </eo-form-input>\n </form>\n </div>\n </div>\n <div class=\"eo-body tree\">\n <eo-tree [tree]=\"contextTree\" [options]=\"{multiselect: false, disableDeselection: true}\" [@panelLoading]=\"loadingState.tree.state\"\n *ngIf=\"contextTree\" [highlightedNodes]=\"highlightedNodes\" [treeUpdate]=\"contextTreeUpdate\"\n [(ngModel)]=\"selectedNodes\" (ngModelChange)=\"onTreeSelectionChanged($event)\"></eo-tree>\n <h3 *ngIf=\"contextTreeRef?.length\" title=\"{{'eo.state.object.tree.references.tooltip'|translate}}\" translate>eo.state.object.tree.references</h3> \n <eo-tree [tree]=\"contextTreeRef\" [options]=\"{multiselect: false, disableDeselection: true}\" [@panelLoading]=\"loadingState.treeRef.state\"\n *ngIf=\"contextTreeRef?.length\" [highlightedNodes]=\"highlightedNodes\" [treeUpdate]=\"contextTreeRefUpdate\"\n [(ngModel)]=\"selectedNodes\" (ngModelChange)=\"onTreeSelectionChanged($event)\" class=\"reference\"></eo-tree>\n </div>\n </eo-list-container>\n\n </ng-template>\n </ng-template>\n </eo-split-area>\n\n <eo-split-area [size]=\"35\" [minSizePixel]=\"250\" [@panelLoading]=\"loadingState.list.state\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-state-details *ngIf=\"context\" [context]=\"context\" [frontPageData]=\"frontPageData\" [visible]=\"frontPage\" (onTabChange)=\"setupFrontPage(true)\">\n <eo-tab-plugin [type]=\"'object-state-details-tab.object'\"></eo-tab-plugin>\n </eo-object-state-details>\n\n <eo-result-list *ngIf=\"!frontPage && searchResult\" [selectFirst]=\"false\" [title]=\"gridTitle\" [reference]=\"selectedNode?.isReference\"\n [searchResult]=\"searchResult\" [configType]=\"configType\" [configContext]=\"\"\n [emptyMessage]=\"'eo.state.object.list.error'\" (onRefresh)=\"refreshList()\">\n </eo-result-list>\n\n </ng-template>\n </eo-split-area>\n\n <eo-split-area [size]=\"45\" [minSizePixel]=\"250\" [cache]=\"false\" [@panelLoading]=\"loadingState.details.state\">\n <ng-template pTemplate=\"content\">\n <eo-object-details eoTrapFocus [applySelection]=\"{}\" [reference]=\"isReferenceActive\" [cacheLayout]=\"'object.state--' + typeName + '.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.object'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n\n </eo-split>\n </eo-undock-split>\n </div>\n </div>\n</div>\n\n<ng-template #errorTmpl>\n <eo-error404></eo-error404>\n</ng-template>\n\n",
26226
26413
  providers: [ObjectStateService],
26227
26414
  animations: [panelLoadingAnimations],
26228
26415
  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{box-shadow:0 2px 5px 0 rgba(0,0,0,.2)}:host .eo-body.tree h3{border-top:1px solid var(--list-item-border-color);color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding) 0 var(--app-pane-padding)}:host .file{display:flex;flex-flow:column;height:100%}:host .file .file-body,:host .file .file-head{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;opacity:0;transition:all var(--app-default-transition-duration) ease-in-out}:host .file.ready .file-body,:host .file.ready .file-head{opacity:1}:host .file .empty-state{align-items:center;background:rgba(var(--color-white-rgb),.3);display:flex;flex-flow:column;height:100%;justify-content:center}:host .file.undocked .empty-state{background:var(--main-background)}:host .file-head{color:var(--text-color-caption);display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding)/4);width:100%}:host .file-head eo-icon{box-sizing:content-box;padding:var(--app-pane-padding)}:host .file-head .left,:host .file-head .right{border-bottom:4px solid var(--color-primary-3);box-sizing:border-box}:host .file-head .left{background:var(--color-white);display:flex;flex:0 0 auto;flex-flow:row nowrap;max-width:calc(100% - 350px)}:host .file-head .left div.title{cursor:pointer;flex:0 0 auto;padding:var(--app-pane-padding) 0}[dir=ltr] :host .file-head .left div.title{padding-left:0;padding-right:calc(var(--app-pane-padding)*2)}[dir=rtl] :host .file-head .left div.title{padding-left:calc(var(--app-pane-padding)*2);padding-right:0}:host .file-head .left div.title .description,:host .file-head .left div.title .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}:host .file-head .left div.title .label{font-size:var(--font-title)}:host .file-head .right{display:flex;flex:1 1 auto;flex-flow:column;min-width:350px}:host .file-head .right .fold{background:var(--main-background);color:var(--text-color-caption);display:flex;flex:0 0 auto;justify-content:flex-end;padding-bottom:calc(var(--app-pane-padding)/2);text-align:right}[dir=rtl] :host .file-head .right .fold{text-align:right;text-align:left}:host .file-head .right .fold .created-date{padding-right:5px}:host .file-head .right .actions{align-items:center;background:var(--color-white);display:flex;flex:1 1 auto;justify-content:flex-end;padding:0 var(--app-pane-padding)}:host .file-body{flex:1 1 auto;position:relative}:host .file-body .file-body-wrap,:host .file-body .file-body-wrap .frontPage{bottom:0;left:0;position:absolute;right:0;top:0}:host ::ng-deep .tree .tree-panel-error{align-items:center;color:var(--text-color-caption);display:flex;flex-flow:column;height:100%;justify-content:center}:host ::ng-deep .tree .eo-head{background-color:var(--color-primary-3)}:host ::ng-deep .tree .eo-head .eo-header-info{padding:0}:host ::ng-deep .tree .eo-head .eo-header-info h2{color:var(--color-white);flex:1 1 auto}:host ::ng-deep .tree .eo-head .eo-header-info form.tree-filter-form{align-self:flex-end;flex:0 0 auto;margin-bottom:var(--app-pane-padding);min-width:200px;width:61%}:host ::ng-deep eo-tree{padding:var(--app-pane-padding)}:host ::ng-deep eo-object-details{background:var(--panel-background-grey)}"]
@@ -26282,8 +26469,8 @@
26282
26469
  ];
26283
26470
 
26284
26471
  (function (InboxTypesFilter) {
26285
- InboxTypesFilter["mytasks"] = "mytasks";
26286
- InboxTypesFilter["opentasks"] = "opentasks";
26472
+ InboxTypesFilter["acceptedTasks"] = "acceptedtasks";
26473
+ InboxTypesFilter["unacceptedTasks"] = "unacceptedtasks";
26287
26474
  InboxTypesFilter["absent"] = "isdeputy";
26288
26475
  InboxTypesFilter["overdue"] = "overdue";
26289
26476
  })(exports.InboxTypesFilter || (exports.InboxTypesFilter = {}));
@@ -26360,15 +26547,17 @@
26360
26547
  };
26361
26548
  InboxStateComponent.prototype.itemFilterFields = function (node, item) {
26362
26549
  var value = node.data[exports.InboxTypesFilter[item]];
26550
+ var acceptedAndUnacceptedCombined = this.inboxFilterFields.find(function (filter) { return filter.id === 'acceptedTasks'; }).value
26551
+ && this.inboxFilterFields.find(function (filter) { return filter.id === 'unacceptedTasks'; }).value;
26363
26552
  switch (exports.InboxTypesFilter[item]) {
26364
26553
  case exports.InboxTypesFilter.overdue:
26365
26554
  return node.data.isOverdue();
26366
26555
  case exports.InboxTypesFilter.absent:
26367
26556
  return !!value;
26368
- case exports.InboxTypesFilter.mytasks:
26369
- return !(node.data.type === 'BPM' && !node.data.read);
26370
- case exports.InboxTypesFilter.opentasks:
26371
- return (node.data.type === 'BPM' && !node.data.read);
26557
+ case exports.InboxTypesFilter.acceptedTasks:
26558
+ return acceptedAndUnacceptedCombined ? node.data.type === 'BPM' : node.data.type === 'BPM' && !!node.data.accepted;
26559
+ case exports.InboxTypesFilter.unacceptedTasks:
26560
+ return acceptedAndUnacceptedCombined ? node.data.type === 'BPM' : node.data.type === 'BPM' && !node.data.accepted;
26372
26561
  }
26373
26562
  };
26374
26563
  InboxStateComponent.prototype.fieldFilters = function () {
@@ -26458,8 +26647,8 @@
26458
26647
  InboxStateComponent.decorators = [
26459
26648
  { type: i0.Component, args: [{
26460
26649
  selector: 'eo-inbox-state',
26461
- 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)=\"cFilter.resetFilter(); 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']\"></eo-text-filter>\n <eo-set-filter [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"\n [title]=\"'eo.inbox.filter.section.type' | translate\"></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",
26462
- 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)}"]
26650
+ 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",
26651
+ 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}"]
26463
26652
  },] }
26464
26653
  ];
26465
26654
  InboxStateComponent.ctorParameters = function () { return [
@@ -26934,76 +27123,77 @@
26934
27123
  exports.ɵ1 = ɵ1;
26935
27124
  exports.ɵa = PendingChangesGuard;
26936
27125
  exports.ɵb = UploadOverlayGuard;
26937
- exports.ɵba = DownloadOriginalActionComponent;
26938
- exports.ɵbb = DownloadPdfActionComponent;
26939
- exports.ɵbc = OpenDocumentActionComponent;
26940
- exports.ɵbd = EmailActionComponent;
26941
- exports.ɵbe = EmailLinkActionComponent;
26942
- exports.ɵbf = EmailOriginalActionComponent;
26943
- exports.ɵbg = EmailPdfActionComponent;
26944
- exports.ɵbh = ClipboardActionComponent;
26945
- exports.ɵbi = ClipboardLinkActionComponent;
26946
- exports.ɵbj = ClipboardOriginalActionComponent;
26947
- exports.ɵbk = ClipboardPdfActionComponent;
26948
- exports.ɵbl = DeleteActionComponent;
26949
- exports.ɵbm = DeleteComponent;
26950
- exports.ɵbn = OpenVersionsActionComponent;
26951
- exports.ɵbo = RestoreVersionActionComponent;
26952
- exports.ɵbp = DeletePreparedActionComponent;
26953
- exports.ɵbq = AddSubscriptionActionComponent;
26954
- exports.ɵbr = AddSubscriptionComponent;
26955
- exports.ɵbs = RemoveSubscriptionActionComponent;
26956
- exports.ɵbt = WorkflowActionComponent;
26957
- exports.ɵbu = WorkflowComponent;
26958
- exports.ɵbv = CustomActionsComponent;
26959
- exports.ɵbw = AddResubmissionActionComponent;
26960
- exports.ɵbx = AddResubmissionComponent;
26961
- exports.ɵby = UpdateResubmissionActionComponent;
26962
- exports.ɵbz = ShareObjectActionComponent;
27126
+ exports.ɵba = DownloadActionComponent;
27127
+ exports.ɵbb = DownloadOriginalActionComponent;
27128
+ exports.ɵbc = DownloadPdfActionComponent;
27129
+ exports.ɵbd = OpenDocumentActionComponent;
27130
+ exports.ɵbe = EmailActionComponent;
27131
+ exports.ɵbf = EmailLinkActionComponent;
27132
+ exports.ɵbg = EmailOriginalActionComponent;
27133
+ exports.ɵbh = EmailPdfActionComponent;
27134
+ exports.ɵbi = ClipboardActionComponent;
27135
+ exports.ɵbj = ClipboardLinkActionComponent;
27136
+ exports.ɵbk = ClipboardOriginalActionComponent;
27137
+ exports.ɵbl = ClipboardPdfActionComponent;
27138
+ exports.ɵbm = DeleteActionComponent;
27139
+ exports.ɵbn = DeleteComponent;
27140
+ exports.ɵbo = OpenVersionsActionComponent;
27141
+ exports.ɵbp = RestoreVersionActionComponent;
27142
+ exports.ɵbq = DeletePreparedActionComponent;
27143
+ exports.ɵbr = AddSubscriptionActionComponent;
27144
+ exports.ɵbs = AddSubscriptionComponent;
27145
+ exports.ɵbt = RemoveSubscriptionActionComponent;
27146
+ exports.ɵbu = WorkflowActionComponent;
27147
+ exports.ɵbv = WorkflowComponent;
27148
+ exports.ɵbw = CustomActionsComponent;
27149
+ exports.ɵbx = AddResubmissionActionComponent;
27150
+ exports.ɵby = AddResubmissionComponent;
27151
+ exports.ɵbz = UpdateResubmissionActionComponent;
26963
27152
  exports.ɵc = AppShellRoutingModule;
26964
- exports.ɵca = ShareObjectComponent;
26965
- exports.ɵcb = CutActionComponent;
26966
- exports.ɵcc = FinalizeActionComponent;
26967
- exports.ɵcd = DefinalizeActionComponent;
26968
- exports.ɵce = DeleteContentActionComponent;
26969
- exports.ɵcf = UnlockActionComponent;
26970
- exports.ɵcg = SimpleWorkflowActionComponent;
26971
- exports.ɵch = FavoriteActionComponent;
26972
- exports.ɵci = PreventDoubleClickDirective;
26973
- exports.ɵcj = UserAvatarComponent;
26974
- exports.ɵck = TrapFocusDirective;
26975
- exports.ɵcl = EditIconComponent;
26976
- exports.ɵcm = DuetimeInfoComponent;
26977
- exports.ɵcn = PrepareContentExistsInfoComponent;
26978
- exports.ɵco = StoredQueryModule;
26979
- exports.ɵcp = ObjectStateRoutingModule;
26980
- exports.ɵcq = InboxStateRoutingModule;
26981
- exports.ɵcr = PrepareStateRoutingModule;
26982
- exports.ɵcs = EoClientRoutingModule;
26983
- exports.ɵct = ProcessStateComponent;
27153
+ exports.ɵca = ShareObjectActionComponent;
27154
+ exports.ɵcb = ShareObjectComponent;
27155
+ exports.ɵcc = CutActionComponent;
27156
+ exports.ɵcd = FinalizeActionComponent;
27157
+ exports.ɵce = FinalizeObjectActionComponent;
27158
+ exports.ɵcf = DefinalizeActionComponent;
27159
+ exports.ɵcg = DeleteContentComponent;
27160
+ exports.ɵch = DeleteContentActionComponent;
27161
+ exports.ɵci = UnlockActionComponent;
27162
+ exports.ɵcj = SimpleWorkflowActionComponent;
27163
+ exports.ɵck = FavoriteActionComponent;
27164
+ exports.ɵcl = PreventDoubleClickDirective;
27165
+ exports.ɵcm = UserAvatarComponent;
27166
+ exports.ɵcn = EditIconComponent;
27167
+ exports.ɵco = DuetimeInfoComponent;
27168
+ exports.ɵcp = PrepareContentExistsInfoComponent;
27169
+ exports.ɵcq = ObjectStateRoutingModule;
27170
+ exports.ɵcr = InboxStateRoutingModule;
27171
+ exports.ɵcs = PrepareStateRoutingModule;
27172
+ exports.ɵct = EoClientRoutingModule;
27173
+ exports.ɵcu = ProcessStateComponent;
26984
27174
  exports.ɵd = AppProcessComponent;
26985
27175
  exports.ɵe = PipesModule;
26986
27176
  exports.ɵf = UnsubscribeOnDestroy;
26987
27177
  exports.ɵg = QueryScopeSelectComponent;
26988
- exports.ɵh = IndexdataSummaryEntryComponent;
26989
- exports.ɵi = OrderByPipe;
26990
- exports.ɵj = TreeNodeComponent;
26991
- exports.ɵk = DatepickerService;
26992
- exports.ɵl = YearRangeDirective;
26993
- exports.ɵm = ReferenceFinderComponent;
26994
- exports.ɵn = fadeInOut;
26995
- exports.ɵo = ReferenceFinderService;
26996
- exports.ɵp = ReferenceFinderEntryComponent;
26997
- exports.ɵq = DynamicListFilterComponent;
26998
- exports.ɵr = ListFilterComponent;
26999
- exports.ɵs = PaginationComponent;
27000
- exports.ɵt = ProcessFormModule;
27001
- exports.ɵu = ProcessFormComponent;
27002
- exports.ɵv = ActionComponentAnchorDirective;
27003
- exports.ɵw = OpenDocumentComponent;
27004
- exports.ɵx = CopyActionComponent;
27005
- exports.ɵy = OpenContextActionComponent;
27006
- exports.ɵz = DownloadActionComponent;
27178
+ exports.ɵh = TrapFocusDirective;
27179
+ exports.ɵi = IndexdataSummaryEntryComponent;
27180
+ exports.ɵj = OrderByPipe;
27181
+ exports.ɵk = TreeNodeComponent;
27182
+ exports.ɵl = DatepickerService;
27183
+ exports.ɵm = YearRangeDirective;
27184
+ exports.ɵn = ReferenceFinderComponent;
27185
+ exports.ɵo = fadeInOut;
27186
+ exports.ɵp = ReferenceFinderService;
27187
+ exports.ɵq = ReferenceFinderEntryComponent;
27188
+ exports.ɵr = DynamicListFilterComponent;
27189
+ exports.ɵs = ListFilterComponent;
27190
+ exports.ɵt = PaginationComponent;
27191
+ exports.ɵu = ProcessFormModule;
27192
+ exports.ɵv = ProcessFormComponent;
27193
+ exports.ɵw = ActionComponentAnchorDirective;
27194
+ exports.ɵx = OpenDocumentComponent;
27195
+ exports.ɵy = CopyActionComponent;
27196
+ exports.ɵz = OpenContextActionComponent;
27007
27197
 
27008
27198
  Object.defineProperty(exports, '__esModule', { value: true });
27009
27199