@eo-sdk/client 8.0.0-rc.1 → 8.0.0-rc.4

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 (56) hide show
  1. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +5 -0
  2. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +10 -2
  3. package/app/eo-framework/form-elements/organization/organization.component.d.ts +2 -0
  4. package/app/eo-framework/grid/grid.component.d.ts +0 -1
  5. package/app/eo-framework/media/media.component.d.ts +6 -0
  6. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -0
  7. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -1
  8. package/app/eo-framework/result-list/result-list.component.d.ts +1 -0
  9. package/app/eo-framework/ui/loading-spinner/loading-spinner.component.d.ts +1 -0
  10. package/app/eo-framework/upload-overlay/upload-overlay.component.d.ts +8 -0
  11. package/app/eo-framework-core/api/grid.service.d.ts +2 -1
  12. package/assets/_default/api/pdf/web/viewer.js +1 -1
  13. package/assets/_default/config/main.json +1 -1
  14. package/assets/_default/i18n/de.json +9 -4
  15. package/assets/_default/i18n/en.json +14 -9
  16. package/assets/_default/img/yuuvis-agent.png +0 -0
  17. package/assets/_default/svg/ic_book.svg +1 -0
  18. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +5 -4
  19. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  20. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
  21. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  22. package/bundles/eo-sdk-client.umd.js +202 -98
  23. package/bundles/eo-sdk-client.umd.js.map +1 -1
  24. package/bundles/eo-sdk-client.umd.min.js +1 -1
  25. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  26. package/eo-sdk-client.metadata.json +1 -1
  27. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  28. package/esm2015/app/eo-framework/app-shell/app-bar/app-bar.component.js +45 -1
  29. package/esm2015/app/eo-framework/app-shell/app-bar/app-search/app-search.component.js +3 -3
  30. package/esm2015/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.js +20 -6
  31. package/esm2015/app/eo-framework/form-elements/id-reference/id-reference.component.js +4 -11
  32. package/esm2015/app/eo-framework/form-elements/organization/organization.component.js +5 -11
  33. package/esm2015/app/eo-framework/grid/filters/organization-filter.component.js +3 -3
  34. package/esm2015/app/eo-framework/grid/grid.component.js +3 -29
  35. package/esm2015/app/eo-framework/media/media.component.js +7 -4
  36. package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +13 -6
  37. package/esm2015/app/eo-framework/object-form/object-form/object-form.component.js +2 -2
  38. package/esm2015/app/eo-framework/object-form/object-form-edit/object-form-edit.component.js +2 -2
  39. package/esm2015/app/eo-framework/object-state-details/object-state-details.component.js +9 -5
  40. package/esm2015/app/eo-framework/process/history/process-history.component.js +2 -2
  41. package/esm2015/app/eo-framework/process/process-file/process-file.component.js +3 -3
  42. package/esm2015/app/eo-framework/result-list/result-list.component.js +7 -3
  43. package/esm2015/app/eo-framework/ui/eo-dialog/eo-dialog.component.js +1 -1
  44. package/esm2015/app/eo-framework/ui/loading-spinner/loading-spinner.component.js +5 -4
  45. package/esm2015/app/eo-framework/upload-overlay/upload-overlay.component.js +40 -4
  46. package/esm2015/app/eo-framework-core/api/grid.service.js +39 -1
  47. package/esm2015/projects/eo-sdk/core/lib/service/bpm/bpm.service.js +2 -2
  48. package/esm2015/projects/eo-sdk/core/lib/service/dms/dms.service.js +4 -3
  49. package/esm2015/projects/eo-sdk/core/lib/util/utils.js +2 -2
  50. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +5 -4
  51. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  52. package/fesm2015/eo-sdk-client.js +195 -83
  53. package/fesm2015/eo-sdk-client.js.map +1 -1
  54. package/package.json +2 -2
  55. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +2 -1
  56. package/projects/eo-sdk/core/package.json +1 -1
@@ -1811,6 +1811,44 @@
1811
1811
  GridService.qnameMatch = function (qname, qname2) {
1812
1812
  return GridService.qnameFormatter(qname) === GridService.qnameFormatter(qname2);
1813
1813
  };
1814
+ // copy content of either row or table cell to clipboard
1815
+ GridService.prototype.copyToClipboard = function (event, gridOptions) {
1816
+ event.preventDefault();
1817
+ event.stopPropagation();
1818
+ var viewport = gridOptions.api['gridPanel'].eCenterViewport;
1819
+ var scrollLeft = viewport.scrollLeft;
1820
+ var focusedCell = gridOptions.api.getFocusedCell();
1821
+ var rows = event.shiftKey ? gridOptions.api.getSelectedNodes() : [gridOptions.api.getDisplayedRowAtIndex(focusedCell.rowIndex)];
1822
+ var cols = event.shiftKey ? gridOptions.columnApi.getAllDisplayedColumns().filter(function (c) { return c.colId !== '__selectionField'; }) : [focusedCell.column];
1823
+ var getCell = function (col, row) { return gridOptions.api['gridPanel'].eGui.querySelector("div[row-index=\"" + row.rowIndex + "\"] [col-id=\"" + col.colId + "\"]"); };
1824
+ var value = function (col, row) {
1825
+ gridOptions.api.ensureColumnVisible(col);
1826
+ var cell = getCell(col, row);
1827
+ if (!cell)
1828
+ return '';
1829
+ var chips = cell.querySelectorAll('.chip') || [];
1830
+ var val = Array.from(chips.length ? chips : [cell]).map(function (c) { return (c && c.textContent && c.textContent.trim()) || ''; });
1831
+ var value = val.toString() || gridOptions.api.getValue(col, row);
1832
+ return !UtilitiesService.isEmpty(value) ? value.toString().replace(new RegExp('\n', 'g'), ' ') : '';
1833
+ };
1834
+ var content = '';
1835
+ if (event.altKey)
1836
+ content += cols.map(function (col) { return col.getColDef().headerName; }).join(' ') + '\n';
1837
+ content += rows.map(function (row) { return cols.map(function (col) { return value(col, row); }).join(' '); }).join('\n');
1838
+ viewport.scrollLeft = scrollLeft;
1839
+ setTimeout(function () { return rows.map(function (row) { return cols.map(function (col) {
1840
+ var cell = getCell(col, row);
1841
+ cell && cell.classList.add('copy-cell');
1842
+ cell && setTimeout(function () { return cell && cell.classList.remove('copy-cell'); }, 4000);
1843
+ }); }); }, 100);
1844
+ // navigator.clipboard.writeText(content); // only if client runs https
1845
+ var textArea = document.createElement('textarea');
1846
+ textArea.value = content;
1847
+ document.body.appendChild(textArea);
1848
+ textArea.select();
1849
+ var copySuccess = document.execCommand('copy');
1850
+ document.body.removeChild(textArea);
1851
+ };
1814
1852
  GridService.prototype.openLink = function (uri, newTab) {
1815
1853
  if (newTab === void 0) { newTab = false; }
1816
1854
  if (newTab) {
@@ -3664,13 +3702,14 @@
3664
3702
  LoadingSpinnerComponent.decorators = [
3665
3703
  { type: i0.Component, args: [{
3666
3704
  selector: 'eo-loading-spinner',
3667
- template: "\n <div class=\"eo-loading\">\n <div class=\"eo-loader\" [ngClass]=\"{small: size === 'small', large: size === 'large'}\"></div>\n </div>",
3668
- styles: [":host{--loader-background-color:rgba(var(--color-black-rgb),0.1);--loader-background-color-light:rgba(var(--color-white-rgb),0.2);--loader-border-width:3px;--loader-color:var(--color-accent);--loader-color-light:rgba(var(--color-white-rgb),1)}:host .eo-loader{-webkit-animation:load8 1.1s linear infinite;animation:load8 1.1s linear infinite;border:var(--loader-border-width) solid var(--loader-background-color);border-left-color:var(--loader-color);font-size:10px;position:relative;text-indent:-9999em;transform:translateZ(0)}:host .eo-loader,:host .eo-loader:after{border-radius:50%;border-width:4px;height:5em;width:5em}:host .eo-loader.large{border-width:8px;height:10em;width:10em}:host .eo-loader.small{border-width:2px;height:2em;width:2em}:host-context(.dark) .eo-loader{border-color:var(--loader-background-color-light) var(--loader-background-color-light) var(--loader-background-color-light) var(--loader-color-light);border-left-color:var(--loader-background-color-light)}@-webkit-keyframes load8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes load8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}"]
3705
+ template: "\n <div class=\"eo-loading\">\n <div class=\"eo-loader\" [ngClass]=\"{small: size === 'small', medium: size === 'medium', large: size === 'large', dark: mode === 'dark'}\"></div>\n </div>",
3706
+ styles: [":host{--loader-background-color:rgba(var(--color-black-rgb),0.1);--loader-background-color-light:rgba(var(--color-white-rgb),0.2);--loader-border-width:3px;--loader-color:var(--color-accent);--loader-color-light:rgba(var(--color-white-rgb),1)}:host .eo-loader{-webkit-animation:load8 1.1s linear infinite;animation:load8 1.1s linear infinite;border:var(--loader-border-width) solid var(--loader-background-color);border-left-color:var(--loader-color);font-size:10px;position:relative;text-indent:-9999em;transform:translateZ(0)}:host .eo-loader,:host .eo-loader:after{border-radius:50%;border-width:4px;height:5em;width:5em}:host .eo-loader.large{border-width:8px;height:10em;width:10em}:host .eo-loader.medium{border-width:4px;height:6em;width:6em}:host .eo-loader.small{border-width:2px;height:2em;width:2em}:host .eo-loader.dark{border-color:var(--loader-background-color-light) var(--loader-background-color-light) var(--loader-background-color-light) var(--loader-color);border-left-color:var(--loader-background-color-light)}:host-context(.dark) .eo-loader{border-color:var(--loader-background-color-light) var(--loader-background-color-light) var(--loader-background-color-light) var(--loader-color-light);border-left-color:var(--loader-background-color-light)}@-webkit-keyframes load8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes load8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}"]
3669
3707
  },] }
3670
3708
  ];
3671
3709
  LoadingSpinnerComponent.ctorParameters = function () { return []; };
3672
3710
  LoadingSpinnerComponent.propDecorators = {
3673
- size: [{ type: i0.Input }]
3711
+ size: [{ type: i0.Input }],
3712
+ mode: [{ type: i0.Input }]
3674
3713
  };
3675
3714
 
3676
3715
  var ClipboardComponent = /** @class */ (function () {
@@ -4209,7 +4248,7 @@
4209
4248
  selector: 'eo-dialog',
4210
4249
  template: "<p-dialog *ngIf=\"visible\" modal=\"modal\" [responsive]=\"true\" [closeOnEscape]=\"false\" [dismissableMask]=\"true\" [closable]=\"false\" [resizable]=\"resizable\"\r\n [showHeader]=\"false\" [header]=\"title\" [(visible)]=\"visible\" [appendTo]=\"appendTo\" [ngClass]=\"styleClass || ''\" [autoAlign]=\"true\"\r\n [focusOnShow]=\"focusOnShow\" [minWidth]=\"minWidth\" [minHeight]=\"minHeight\" eoRtlAware=\"dir\" styleClass=\"active\" [contentStyle]=\"{'max-height':'100%'}\">\r\n\r\n <div class=\"eo-dialog\" [ngClass]=\"styleClass || ''\" eoRtlAware=\"dir\">\r\n <header class=\"eo-dialog-header\" [ngClass]=\"styleClass ? styleClass + '--header ' : ''\">\r\n <h5 class=\"headline\">{{title}}</h5>\r\n <h6 *ngIf=\"subtitle\" class=\"subtitle\">{{subtitle}}</h6>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"closeDialog()\" class=\"button white eo-dialog-close\"></eo-icon>\r\n </header>\r\n <div class=\"eo-dialog-content\" [ngClass]=\"styleClass ? styleClass + '--content ' : ''\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n\r\n</p-dialog>\r\n",
4211
4250
  encapsulation: i0.ViewEncapsulation.None,
4212
- styles: ["body>.ui-dialog.fullscreen{height:95%;width:95%}body>.ui-dialog.fullscreen .ui-dialog-content{height:100%}body>.ui-dialog:not(.ui-helper-hidden),p-dialog .ui-dialog:not(.ui-helper-hidden){-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;transition:all var(--app-default-transition-duration) ease-in-out}body>.ui-dialog:not(.ui-helper-hidden):not(.active),p-dialog .ui-dialog:not(.ui-helper-hidden):not(.active){transform:perspective(600px) rotateY(10deg) translate3d(-100px,-100px,-100px)}body>.ui-dialog:not(.ui-helper-hidden):not(.active) .eo-dialog-header,p-dialog .ui-dialog:not(.ui-helper-hidden):not(.active) .eo-dialog-header{background-color:var(--color-primary)}body>.ui-dialog.ui-widget .ui-dialog-content,p-dialog .ui-dialog.ui-widget .ui-dialog-content{overflow:inherit;padding:0}.eo-dialog{-webkit-animation:none;animation:none;display:flex;flex:1;flex-direction:column;max-height:100%;max-width:100%;min-height:0;min-width:0}.eo-dialog-close{position:absolute;right:5px;top:5px;z-index:2}.eo-dialog-header{background-color:var(--color-accent);color:var(--color-white);flex:0 0 auto;font-size:var(--font-headline);font-weight:var(--font-weight-light);padding:var(--app-pane-padding) calc(var(--app-pane-padding)*2.5) calc(var(--app-pane-padding)*2) var(--app-pane-padding)}.eo-dialog-header .headline{font-size:24px;font-weight:400;margin:0 25px 0 0}.eo-dialog-header .subtitle{font-size:15px;font-weight:400;margin:0}.eo-dialog-content{display:flex;flex:1;flex-direction:column;height:100%;max-height:520px;min-height:0;min-width:0;overflow:auto;position:relative}.eo-dialog-content>eo-tree{margin:var(--app-pane-padding)}.eo-dialog-content .empty{align-items:center;color:var(--text-color-caption);display:flex;flex:1;flex-direction:column;justify-content:center;min-height:0;min-width:0;padding:var(--app-pane-padding)}.eo-dialog-content .action-buttons{justify-content:flex-end;padding-top:32px}.eo-dialog-content button:not(:last-child){margin-right:5px}.object-form-table-dialog{background-color:var(--panel-background-grey);height:100%;width:100%}.object-form-table-dialog .body{height:100%;width:100%}.object-form-table-dialog .edit-body{display:flex;height:100%}.object-form-table-dialog .table-body{background-color:var(--panel-background-grey);display:flex;height:100%;width:100%}.object-form-table-dialog eo-split{padding:var(--app-pane-padding)}.object-form-table-dialog eo-split-area{box-shadow:0 2px 5px 0 rgba(0,0,0,.2)}.object-form-table-dialog eo-row-edit{background-color:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.object-form-table-dialog eo-row-edit .row-edit{display:flex;flex-direction:column;height:100%}.object-form-table-dialog eo-row-edit .row-edit .edit-header{display:flex;justify-content:space-between}.object-form-table-dialog eo-row-edit .row-edit .edit-header .new-indicator{color:var(--text-color-caption);font-size:var(--font-title);margin:8px 16px 0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon{color:var(--text-color-caption);margin:8px 8px 0}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon:hover{background:rgba(var(--color-black-rgb),.1)}.object-form-table-dialog eo-row-edit .row-edit .form{height:100%;overflow:auto}.object-form-table-dialog eo-row-edit .row-edit .actions{align-items:center;border-top:1px solid var(--panel-header-border-bottom-color);display:flex;flex:0;flex-direction:row;justify-content:flex-end;min-height:0;min-height:5em;min-width:0;padding-right:var(--app-pane-padding)}.object-form-table-dialog eo-row-edit .row-edit .actions button{height:3em;margin:0 calc(var(--app-pane-padding)/8);padding:0 calc(var(--app-pane-padding)/2)}.object-form-table-dialog eo-row-edit .row-edit .actions eo-checkbox{margin:0 calc(var(--app-pane-padding)/2)}.object-form-table-dialog eo-row-edit .row-edit .actions .add-label{color:var(--text-color-caption);font-size:var(--font-body);margin-right:var(--app-pane-padding)}.object-form-table-dialog .object-form-table{background-color:#fff;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100%;width:100%}.object-form-table-dialog .object-form-table .grid-body{height:100%;position:relative;width:100%}.object-form-table-dialog .object-form-table .grid-body .ag-theme-balham .ag-header{background-color:unset!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular{background-color:transparent;height:100%;width:100%}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .new-row{-webkit-animation-duration:4s;-webkit-animation-name:new-row;animation-duration:4s;animation-name:new-row}@-webkit-keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}@keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell{align-items:center;display:flex;font-size:var(--font-caption);line-height:var(--oft-row-height);padding:0 calc(var(--app-pane-padding)/4)}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell svg{pointer-events:none}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-boolean,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.res-ico{justify-content:center}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-number{justify-content:flex-end}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon{cursor:pointer;display:flex}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon svg{fill:var(--text-color-caption)}.object-form-table-dialog .label{align-items:center;border-bottom:0;display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/4)}.object-form-table-dialog .label span{display:block;flex:1 1 auto}.object-form-table-dialog .label eo-icon.stf{color:var(--text-color-caption);cursor:pointer;height:20px;margin:calc(var(--app-pane-padding)/4);width:20px}.object-form-table-dialog .label eo-icon.stf.add-row{background-color:var(--color-accent);border-radius:2px;color:#fff;height:24px;width:24px}.object-form-table-dialog .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding)/2)}.object-form-table-dialog .label button.export{border:1px solid #000;border-radius:2px;color:#000;font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/4)}.object-form-table-dialog .eo-dialog-content{height:100%;max-height:none;overflow:hidden}.object-form-table-dialog .table-area{overflow:unset!important}"]
4251
+ styles: ["body>.ui-dialog.fullscreen{height:95%;width:95%}body>.ui-dialog.fullscreen .ui-dialog-content{height:100%}body>.ui-dialog:not(.ui-helper-hidden),p-dialog .ui-dialog:not(.ui-helper-hidden){-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;transition:all var(--app-default-transition-duration) ease-in-out}body>.ui-dialog:not(.ui-helper-hidden):not(.active),p-dialog .ui-dialog:not(.ui-helper-hidden):not(.active){transform:perspective(600px) rotateY(10deg) translate3d(-100px,-100px,-100px)}body>.ui-dialog:not(.ui-helper-hidden):not(.active) .eo-dialog-header,p-dialog .ui-dialog:not(.ui-helper-hidden):not(.active) .eo-dialog-header{background-color:var(--color-primary)}body>.ui-dialog.ui-widget .ui-dialog-content,p-dialog .ui-dialog.ui-widget .ui-dialog-content{overflow:inherit;padding:0}.eo-dialog{-webkit-animation:none;animation:none;display:flex;flex:1;flex-direction:column;max-height:100%;max-width:100%;min-height:0;min-width:0}.eo-dialog-close{position:absolute;right:5px;top:5px;z-index:2}.eo-dialog-header{background-color:var(--color-accent);color:var(--color-white);flex:0 0 auto;font-size:var(--font-headline);font-weight:var(--font-weight-light);padding:var(--app-pane-padding) calc(var(--app-pane-padding)*2.5) calc(var(--app-pane-padding)*2) var(--app-pane-padding)}.eo-dialog-header .headline{font-size:24px;font-weight:400;margin:0 25px 0 0}.eo-dialog-header .subtitle{font-size:15px;font-weight:400;margin:0}.eo-dialog-content{display:flex;flex:1;flex-direction:column;height:100%;max-height:520px;min-height:0;min-width:0;overflow:auto;position:relative}.eo-dialog-content>eo-tree{margin:var(--app-pane-padding)}.eo-dialog-content .empty{align-items:center;color:var(--text-color-caption);display:flex;flex:1;flex-direction:column;justify-content:center;min-height:0;min-width:0;padding:var(--app-pane-padding)}.eo-dialog-content .action-buttons{justify-content:flex-end;padding-top:32px}.eo-dialog-content button:not(:last-child){margin-right:5px}.object-form-table-dialog{background-color:var(--panel-background-grey);height:100%;width:100%}.object-form-table-dialog .body{height:100%;width:100%}.object-form-table-dialog .edit-body{display:flex;height:100%}.object-form-table-dialog .table-body{background-color:var(--panel-background-grey);display:flex;height:100%;width:100%}.object-form-table-dialog eo-split{padding:var(--app-pane-padding)}.object-form-table-dialog eo-split-area{box-shadow:0 2px 5px 0 rgba(0,0,0,.2)}.object-form-table-dialog eo-row-edit{background-color:var(--color-white);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.object-form-table-dialog eo-row-edit .row-edit{display:flex;flex-direction:column;height:100%}.object-form-table-dialog eo-row-edit .row-edit .edit-header{display:flex;justify-content:space-between}.object-form-table-dialog eo-row-edit .row-edit .edit-header .new-indicator{color:var(--text-color-caption);font-size:var(--font-title);margin:8px 16px 0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon{color:var(--text-color-caption);margin:8px 8px 0}.object-form-table-dialog eo-row-edit .row-edit .edit-header .cancel-icon:hover{background:rgba(var(--color-black-rgb),.1)}.object-form-table-dialog eo-row-edit .row-edit .form{height:100%;overflow:auto}.object-form-table-dialog eo-row-edit .row-edit .actions{align-items:center;border-top:1px solid var(--panel-header-border-bottom-color);display:flex;flex:0;flex-direction:row;justify-content:flex-end;min-height:0;min-height:5em;min-width:0;padding-right:var(--app-pane-padding)}.object-form-table-dialog eo-row-edit .row-edit .actions button{height:3em;margin:0 calc(var(--app-pane-padding)/8);padding:0 calc(var(--app-pane-padding)/2)}.object-form-table-dialog eo-row-edit .row-edit .actions eo-checkbox{margin:0 calc(var(--app-pane-padding)/2)}.object-form-table-dialog eo-row-edit .row-edit .actions .add-label{color:var(--text-color-caption);font-size:var(--font-body);margin-right:var(--app-pane-padding)}.object-form-table-dialog .object-form-table{background-color:#fff;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100%;width:100%}.object-form-table-dialog .object-form-table .grid-body{height:100%;position:relative;width:100%}.object-form-table-dialog .object-form-table .grid-body .ag-theme-balham .ag-header{background-color:unset!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular{background-color:transparent;height:100%;width:100%}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .copy-cell,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .new-row{-webkit-animation-duration:4s;-webkit-animation-name:new-row;animation-duration:4s;animation-name:new-row}@-webkit-keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}@keyframes new-row{0%{background-color:var(--color-accent)}to{background-color:none}}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell{align-items:center;display:flex;font-size:var(--font-caption);line-height:var(--oft-row-height);padding:0 calc(var(--app-pane-padding)/4)}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);border-color:transparent!important;outline:0!important}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell svg{pointer-events:none}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-boolean,.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.res-ico{justify-content:center}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell.col-number{justify-content:flex-end}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon{cursor:pointer;display:flex}.object-form-table-dialog .object-form-table .grid-body ag-grid-angular .ag-cell .action-icon svg{fill:var(--text-color-caption)}.object-form-table-dialog .label{align-items:center;border-bottom:0;display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/4)}.object-form-table-dialog .label span{display:block;flex:1 1 auto}.object-form-table-dialog .label eo-icon.stf{color:var(--text-color-caption);cursor:pointer;height:20px;margin:calc(var(--app-pane-padding)/4);width:20px}.object-form-table-dialog .label eo-icon.stf.add-row{background-color:var(--color-accent);border-radius:2px;color:#fff;height:24px;width:24px}.object-form-table-dialog .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding)/2)}.object-form-table-dialog .label button.export{border:1px solid #000;border-radius:2px;color:#000;font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/4)}.object-form-table-dialog .eo-dialog-content{height:100%;max-height:none;overflow:hidden}.object-form-table-dialog .table-area{overflow:unset!important}"]
4213
4252
  },] }
4214
4253
  ];
4215
4254
  EoDialogComponent.ctorParameters = function () { return [
@@ -4412,6 +4451,7 @@
4412
4451
  _this.config = config;
4413
4452
  _this.transparent = false;
4414
4453
  _this.sidebarShow = false;
4454
+ _this.pageVisible = true;
4415
4455
  _this.capabilities = _this.capabilityService.getCapabilities();
4416
4456
  _this.logo = _this.config.getNavigationBarImage();
4417
4457
  // listen for routing events to hide any active overlays
@@ -4430,6 +4470,9 @@
4430
4470
  _this.inboxService
4431
4471
  .inboxState$.pipe(operators.takeUntil(_this.componentDestroyed$))
4432
4472
  .subscribe(function (inboxState) {
4473
+ if (_this.inboxState && _this.inboxState.unreadmessages < inboxState.unreadmessages) {
4474
+ _this.sendNotification();
4475
+ }
4433
4476
  _this.inboxState = inboxState;
4434
4477
  });
4435
4478
  _this.eventService.on(i1.EnaioEvent.SYSTEM_STATUS_INBOX_CHANGED).subscribe(function () { return _this.inboxService.refreshInboxState(); });
@@ -4477,6 +4520,48 @@
4477
4520
  profile: this.translate.instant('eo.bar.button.user.profile.title'),
4478
4521
  };
4479
4522
  };
4523
+ AppBarComponent.prototype.sendNotification = function () {
4524
+ var _this = this;
4525
+ if (Notification.permission === 'granted') {
4526
+ this.initNotification();
4527
+ }
4528
+ else if (Notification.permission !== 'denied') {
4529
+ Notification.requestPermission().then(function () {
4530
+ _this.initNotification();
4531
+ });
4532
+ }
4533
+ };
4534
+ AppBarComponent.prototype.initNotification = function () {
4535
+ var title = this.translate.instant('eo.inbox.notification.title');
4536
+ var body = this.translate.instant('eo.inbox.notification.body');
4537
+ var icon = 'assets/_default/img/yuuvis-agent.png';
4538
+ var notification = new Notification(title, {
4539
+ body: body,
4540
+ icon: icon
4541
+ });
4542
+ this.initNotificationClickListener(notification);
4543
+ };
4544
+ // This is listening for the navigation click event. When the client tab is active, it just navigates to the inbox route.
4545
+ // If not, it opens a new tab and shows the inbox there.
4546
+ AppBarComponent.prototype.initNotificationClickListener = function (notification) {
4547
+ var _this = this;
4548
+ notification.addEventListener('click', function () {
4549
+ if (_this.pageVisible) {
4550
+ _this.router.navigateByUrl('/inbox');
4551
+ }
4552
+ else {
4553
+ var fullPath = window.location.href;
4554
+ var currentRoute = _this.router.url;
4555
+ var pathToNavigate = fullPath.replace(currentRoute, '') + '/inbox';
4556
+ window.open(pathToNavigate, '_blank');
4557
+ }
4558
+ });
4559
+ };
4560
+ // This listener is needed to check, if the client tab is active or not
4561
+ AppBarComponent.prototype.initVisibilityChangeListener = function () {
4562
+ var _this = this;
4563
+ document.addEventListener('visibilitychange', function () { return _this.pageVisible = !_this.pageVisible; });
4564
+ };
4480
4565
  AppBarComponent.prototype.ngOnInit = function () {
4481
4566
  var _this = this;
4482
4567
  this.updateOnSchemaChange();
@@ -4486,6 +4571,7 @@
4486
4571
  .subscribe(function (res) {
4487
4572
  _this.exeActions = !!res.length;
4488
4573
  });
4574
+ this.initVisibilityChangeListener();
4489
4575
  };
4490
4576
  return AppBarComponent;
4491
4577
  }(UnsubscribeOnDestroy));
@@ -4567,16 +4653,30 @@
4567
4653
 
4568
4654
  var SideBarComponent = /** @class */ (function (_super) {
4569
4655
  __extends(SideBarComponent, _super);
4570
- function SideBarComponent(capabilityService, config, cd, sanitizer, elemRef) {
4656
+ function SideBarComponent(capabilityService, config, cd, sanitizer, elemRef, userService) {
4571
4657
  var _this = _super.call(this) || this;
4572
4658
  _this.capabilityService = capabilityService;
4573
4659
  _this.config = config;
4574
4660
  _this.cd = cd;
4575
4661
  _this.sanitizer = sanitizer;
4576
4662
  _this.elemRef = elemRef;
4663
+ _this.userService = userService;
4577
4664
  _this.eoOutsideClick = new i0.EventEmitter();
4665
+ _this.getUserLang();
4666
+ _this.getDocumentation();
4578
4667
  return _this;
4579
4668
  }
4669
+ SideBarComponent.prototype.getDocumentation = function () {
4670
+ var docu = this.config.getRaw('about.docu');
4671
+ var link = docu.link.replace('###userLang###', this.userLang);
4672
+ this.docu = Object.assign(Object.assign({}, docu), { link: link });
4673
+ };
4674
+ SideBarComponent.prototype.getUserLang = function () {
4675
+ var _this = this;
4676
+ this.userService
4677
+ .user$
4678
+ .subscribe(function (data) { return _this.userLang = data.userSettings.clientlocale; });
4679
+ };
4580
4680
  SideBarComponent.prototype.getCapabilities = function () {
4581
4681
  this.capabilities = this.capabilityService.getCapabilities();
4582
4682
  };
@@ -4596,8 +4696,8 @@
4596
4696
  SideBarComponent.decorators = [
4597
4697
  { type: i0.Component, args: [{
4598
4698
  selector: 'eo-side-bar',
4599
- template: "<div class=\"eo-side-bar\">\r\n <eo-icon (click)=\"close()\" (keydown.enter)=\"close()\" tabindex=\"0\" class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\r\n\r\n <div class=\"head\" [style.background-image]=\"backgroundImage\">\r\n\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <a routerLink=\"/about\"><eo-icon class=\"button about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon></a>\r\n\r\n <p-tabView styleClass=\"tab-sidebar\">\r\n <p-tabPanel header=\"{{'eo.sidebar.navigation.title'|translate}}\" headerStyleClass=\"tab-nav\">\r\n\r\n <div class=\"navigation\">\r\n <div class=\"nav-item\" *ngIf=\"capabilities.favorites\">\r\n <a routerLink=\"/favorites\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.favorites</a>\r\n </div>\r\n <div class=\"nav-item\" *ngIf=\"capabilities.inbox\">\r\n <a routerLink=\"/inbox\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.inbox</a>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"capabilities.intray\">\r\n <a routerLink=\"/prepare\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.prepare</a>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"capabilities.bpm\">\r\n <a routerLink=\"/process\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.process</a>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"capabilities.notifications\">\r\n <a routerLink=\"/notifications\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.notifications</a>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"capabilities.storedqueries\">\r\n <a routerLink=\"/stored-queries\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.storedqueries</a>\r\n </div>\r\n <ng-content select=\".navi\"></ng-content>\r\n </div>\r\n\r\n </p-tabPanel>\r\n </p-tabView>\r\n </div>\r\n\r\n</div>\r\n",
4600
- styles: [":host{--sidebar-header-height:250px}:host .eo-side-bar{-webkit-animation-duration:.2s;animation-duration:.2s;background-color:var(--color-primary);bottom:0;box-shadow:0 0 20px 0 rgba(var(--color-black-rgb),.5);position:absolute;top:0;width:300px;z-index:20}[dir=ltr] :host .eo-side-bar{left:0;right:inherit}[dir=rtl] :host .eo-side-bar{left:inherit;right:0}[dir=ltr] :host .eo-side-bar{-webkit-animation-name:sidebarAppearLeft;animation-name:sidebarAppearLeft}[dir=rtl] :host .eo-side-bar{-webkit-animation-name:sidebarAppearRight;animation-name:sidebarAppearRight}:host .eo-side-bar .close{position:absolute;top:var(--app-pane-padding);z-index:22}[dir=ltr] :host .eo-side-bar .close{left:var(--app-pane-padding)}[dir=rtl] :host .eo-side-bar .close{right:var(--app-pane-padding)}:host .eo-side-bar .head{background-position:50%;background-size:cover;height:var(--sidebar-header-height);left:0;position:absolute;right:0;top:0;z-index:21}:host .eo-side-bar .body ::ng-deep{bottom:0;left:0;position:absolute;right:0;top:calc(var(--sidebar-header-height) - 30px);z-index:22}:host .eo-side-bar .body ::ng-deep p-tabView{display:flex;flex:1;flex-direction:row;height:100%;min-height:0;min-width:0}:host .eo-side-bar .body ::ng-deep p-tabView .tab-sidebar{flex:1}:host .eo-side-bar .body ::ng-deep p-tabView .ui-tabview-panels{height:100%;overflow:auto}:host .eo-side-bar .body ::ng-deep .navigation{padding-top:var(--app-pane-padding)}:host .eo-side-bar .body ::ng-deep a:focus eo-icon,:host .eo-side-bar .body ::ng-deep a:hover eo-icon{background:rgba(var(--color-white-rgb),.1)}:host .eo-side-bar .body ::ng-deep eo-icon.about{color:var(--color-white);padding:3px;position:absolute;right:8px;top:-6px}:host .eo-side-bar .body ::ng-deep .nav-item{border-bottom:1px solid rgba(var(--color-white-rgb),.1)}:host .eo-side-bar .body ::ng-deep .nav-item a{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;color:var(--color-white);cursor:pointer;display:block;padding:var(--app-pane-padding);text-decoration:none;transition:all var(--app-default-transition-duration) ease-in-out}[dir=ltr] :host .eo-side-bar .body ::ng-deep .nav-item a{border-left:4px solid transparent}[dir=rtl] :host .eo-side-bar .body ::ng-deep .nav-item a{border-right:4px solid transparent}:host .eo-side-bar .body ::ng-deep .nav-item a.active-link{background:rgba(var(--color-white-rgb),.06);border-color:var(--color-accent);cursor:default}:host .eo-side-bar .body ::ng-deep .nav-item a:not(.active-link):focus,:host .eo-side-bar .body ::ng-deep .nav-item a:not(.active-link):hover{background:rgba(var(--color-white-rgb),.1)}@-webkit-keyframes sidebarAppearLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes sidebarAppearLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes sidebarAppearRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes sidebarAppearRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}"]
4699
+ template: "<div class=\"eo-side-bar\">\r\n <eo-icon (click)=\"close()\" (keydown.enter)=\"close()\" tabindex=\"0\" class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\r\n\r\n <div class=\"head\" [style.background-image]=\"backgroundImage\">\r\n\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n <a href=\"{{docu.link}}\" target=\"_blank\">\r\n <eo-icon class=\"button docu\" [iconTitle]=\"docu.label | translate\" [iconSrc]=\"'assets/_default/svg/ic_book.svg'\"></eo-icon>\r\n </a>\r\n <a routerLink=\"/about\"><eo-icon class=\"button about\" [iconTitle]=\"'eo.sidebar.help.about.tooltip' | translate\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon></a>\r\n\r\n <p-tabView styleClass=\"tab-sidebar\">\r\n <p-tabPanel header=\"{{'eo.sidebar.navigation.title'|translate}}\" headerStyleClass=\"tab-nav\">\r\n\r\n <div class=\"navigation\">\r\n <div class=\"nav-item\" *ngIf=\"capabilities.favorites\">\r\n <a routerLink=\"/favorites\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.favorites</a>\r\n </div>\r\n <div class=\"nav-item\" *ngIf=\"capabilities.inbox\">\r\n <a routerLink=\"/inbox\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.inbox</a>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"capabilities.intray\">\r\n <a routerLink=\"/prepare\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.prepare</a>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"capabilities.bpm\">\r\n <a routerLink=\"/process\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.process</a>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"capabilities.notifications\">\r\n <a routerLink=\"/notifications\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.notifications</a>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"capabilities.storedqueries\">\r\n <a routerLink=\"/stored-queries\" routerLinkActive=\"active-link\" translate>eo.sidebar.navigation.storedqueries</a>\r\n </div>\r\n <ng-content select=\".navi\"></ng-content>\r\n </div>\r\n\r\n </p-tabPanel>\r\n </p-tabView>\r\n </div>\r\n\r\n</div>\r\n",
4700
+ styles: [":host{--sidebar-header-height:250px}:host .eo-side-bar{-webkit-animation-duration:.2s;animation-duration:.2s;background-color:var(--color-primary);bottom:0;box-shadow:0 0 20px 0 rgba(var(--color-black-rgb),.5);position:absolute;top:0;width:300px;z-index:20}[dir=ltr] :host .eo-side-bar{left:0;right:inherit}[dir=rtl] :host .eo-side-bar{left:inherit;right:0}[dir=ltr] :host .eo-side-bar{-webkit-animation-name:sidebarAppearLeft;animation-name:sidebarAppearLeft}[dir=rtl] :host .eo-side-bar{-webkit-animation-name:sidebarAppearRight;animation-name:sidebarAppearRight}:host .eo-side-bar .close{position:absolute;top:var(--app-pane-padding);z-index:22}[dir=ltr] :host .eo-side-bar .close{left:var(--app-pane-padding)}[dir=rtl] :host .eo-side-bar .close{right:var(--app-pane-padding)}:host .eo-side-bar .head{background-position:50%;background-size:cover;height:var(--sidebar-header-height);left:0;position:absolute;right:0;top:0;z-index:21}:host .eo-side-bar .body ::ng-deep{bottom:0;left:0;position:absolute;right:0;top:calc(var(--sidebar-header-height) - 30px);z-index:22}:host .eo-side-bar .body ::ng-deep p-tabView{display:flex;flex:1;flex-direction:row;height:100%;min-height:0;min-width:0}:host .eo-side-bar .body ::ng-deep p-tabView .tab-sidebar{flex:1}:host .eo-side-bar .body ::ng-deep p-tabView .ui-tabview-panels{height:100%;overflow:auto}:host .eo-side-bar .body ::ng-deep .navigation{padding-top:var(--app-pane-padding)}:host .eo-side-bar .body ::ng-deep a:focus eo-icon,:host .eo-side-bar .body ::ng-deep a:hover eo-icon{background:rgba(var(--color-white-rgb),.1)}:host .eo-side-bar .body ::ng-deep eo-icon.about{color:var(--color-white);padding:3px;position:absolute;right:8px;top:-6px}:host .eo-side-bar .body ::ng-deep eo-icon.docu{color:var(--color-white);padding:3px;position:absolute;right:43px;top:-6px}:host .eo-side-bar .body ::ng-deep .nav-item{border-bottom:1px solid rgba(var(--color-white-rgb),.1)}:host .eo-side-bar .body ::ng-deep .nav-item a{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;color:var(--color-white);cursor:pointer;display:block;padding:var(--app-pane-padding);text-decoration:none;transition:all var(--app-default-transition-duration) ease-in-out}[dir=ltr] :host .eo-side-bar .body ::ng-deep .nav-item a{border-left:4px solid transparent}[dir=rtl] :host .eo-side-bar .body ::ng-deep .nav-item a{border-right:4px solid transparent}:host .eo-side-bar .body ::ng-deep .nav-item a.active-link{background:rgba(var(--color-white-rgb),.06);border-color:var(--color-accent);cursor:default}:host .eo-side-bar .body ::ng-deep .nav-item a:not(.active-link):focus,:host .eo-side-bar .body ::ng-deep .nav-item a:not(.active-link):hover{background:rgba(var(--color-white-rgb),.1)}@-webkit-keyframes sidebarAppearLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes sidebarAppearLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes sidebarAppearRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes sidebarAppearRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}"]
4601
4701
  },] }
4602
4702
  ];
4603
4703
  SideBarComponent.ctorParameters = function () { return [
@@ -4605,7 +4705,8 @@
4605
4705
  { type: i1.Config },
4606
4706
  { type: i0.ChangeDetectorRef },
4607
4707
  { type: i1$1.DomSanitizer },
4608
- { type: i0.ElementRef }
4708
+ { type: i0.ElementRef },
4709
+ { type: i1.UserService }
4609
4710
  ]; };
4610
4711
  SideBarComponent.propDecorators = {
4611
4712
  eoOutsideClick: [{ type: i0.Output }]
@@ -5327,12 +5428,12 @@
5327
5428
  AppSearchComponent.decorators = [
5328
5429
  { type: i0.Component, args: [{
5329
5430
  selector: 'eo-app-search',
5330
- template: "<eo-dialog class=\"eo-app-search-dialog\" [appendTo]=\"''\" [visible]=\"true\" (hide)=\"closeSearchMenu($event)\">\r\n\r\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\r\n\r\n <div class=\"head\">\r\n\r\n <div class=\"search\">\r\n <form (submit)=\"executeSearch()\">\r\n <div class=\"title\" translate>eo.search</div>\r\n\r\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\r\n\r\n <div class=\"search-box\">\r\n <p-autoComplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput class=\"form-control\"\r\n [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\" [suggestions]=\"autocompleteResults\"\r\n (onSelect)=\"autocompleteSelect()\" (completeMethod)=\"autocompleteSuggest($event)\" (paste)=\"autocompletePaste($event)\"\r\n (onClear)=\"autocompleteSuggest()\" [delay]=\"500\" [minLength]=\"3\"></p-autoComplete>\r\n\r\n <ng-template #expertInput>\r\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\r\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\r\n </ng-template>\r\n\r\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\r\n <!--<span translate>eo.search.mode.expert</span>-->\r\n <eo-loading-spinner *ngIf=\"loading\" [size]=\"'small'\"></eo-loading-spinner>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\r\n <ng-template #close>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\r\n </ng-template>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\r\n (click)=\"resetExpertModeInput()\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\r\n </button>\r\n\r\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div class=\"result\">{{queryState.totalCount | localeDecimal}}</div>\r\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu($event)\"></eo-icon>\r\n\r\n </div>\r\n\r\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\r\n\r\n <p-tabView [styleClass]=\"'tab-main'\" (onChange)=\"onTabChange($event.index)\" [activeIndex]=\"activeTabIndex\">\r\n <!-- object type restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.type'|translate}}\" headerStyleClass=\"search-tab-objecttype\">\r\n\r\n <!-- object type selection -->\r\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\r\n *ngIf=\"objectTypeGroups && !idxSearch\">\r\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups\">\r\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\r\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\r\n <div class=\"type\" *ngFor=\"let type of group.types\"\r\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\r\n\r\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"item\" (click)=\"selectObjectType(type)\">\r\n <eo-icon [objectType]=\"type\"></eo-icon>\r\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) + ')' : ''}}</div>\r\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- indexdata search -->\r\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\r\n <h2>\r\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\r\n (click)=\"exitIndexdataSearch()\"></eo-icon>\r\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\r\n </h2>\r\n\r\n <!-- context type selection -->\r\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\r\n\r\n <div class=\"context-select\">\r\n <div translate>eo.search.objecttype.form.context</div>\r\n <div class=\"spacer\"></div>\r\n\r\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\r\n [selected]=\"currentContextFolderName === ctx.name\"\r\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\r\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\r\n </eo-context-search>\r\n </div>\r\n\r\n <section class=\"context form\">\r\n <eo-object-form class=\"dark\" #ctxform\r\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\r\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n\r\n\r\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\r\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\r\n (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <!-- created restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.creation' | translate}}\" headerStyleClass=\"search-tab-created\">\r\n\r\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\r\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #createdForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\r\n [withTime]=\"createdField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-creator\">\r\n <h3 translate>eo.search.agg.creator</h3>\r\n <form #creatorForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\r\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n </div>\r\n\r\n </p-tabPanel>\r\n <p-tabPanel header=\"{{'eo.search.restrict.modification'|translate}}\" headerStyleClass=\"search-tab-changed\">\r\n\r\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\r\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #modifiedForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\r\n [withTime]=\"modifiedField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-modifier\">\r\n <h3 translate>eo.search.agg.modifier</h3>\r\n <form #modifierForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\r\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\r\n [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <p-tabPanel header=\"{{'eo.search.restrict.file'|translate}}\" headerStyleClass=\"search-tab-docfile\">\r\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-mimetype-group\">\r\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\r\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"checkbox\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filesize\">\r\n <h3 translate>eo.search.restrict.filesize</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\r\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filename\">\r\n <h3 translate>eo.search.restrict.filename</h3>\r\n <form #filenameForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\r\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\r\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\r\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n\r\n\r\n <!-- summary of the current search filters -->\r\n <div class=\"summary-panel\">\r\n\r\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\r\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\r\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\r\n </div>\r\n\r\n <ng-template #reghead>\r\n <div class=\"headline\" translate>eo.search.aside.summary</div>\r\n </ng-template>\r\n\r\n <section class=\"query-types\">\r\n <!-- search term -->\r\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\r\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\r\n <div class=\"filter\">\r\n <div class=\"label\">{{query.term}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- context type -->\r\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- object type -->\r\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.types\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #filterTemplate let-filter let-translate>\r\n <ng-container *ngIf=\"filter.innerValue.length\">\r\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\r\n <div class=\"label\">{{filter.label[i] | async}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <div class=\"section section-creation\"\r\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue.length || filtersModel[PARAMS.CREATOR].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.creation</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-modification\"\r\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue.length || filtersModel[PARAMS.MODIFIER].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.modification</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-mimetypegroup\"\r\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.file</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\r\n </div>\r\n </section>\r\n\r\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\r\n\r\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\r\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\r\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\r\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-container>\r\n\r\n <ng-template #regactions>\r\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-template>\r\n\r\n\r\n </div>\r\n\r\n <ng-template #emptySearch>\r\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <!-- expert mode body panel containing explanations -->\r\n <ng-template #expert>\r\n <div class=\"body expert\">\r\n\r\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\r\n\r\n <!--\r\n <h2><span translate>eo.search.mode.expert</span></h2>\r\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\r\n\r\n <div class=\"base-params fields\">\r\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"system-types fields\">\r\n\r\n <div class=\"column column-group\">\r\n <h2 translate>eo.search.mode.expert.support.group</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\r\n (click)=\"xpSelectGroup(group)\">\r\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\r\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\r\n <h2 translate>eo.search.mode.expert.support.type</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\r\n (click)=\"xpSelectType(type)\">\r\n <div>{{type.label}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\r\n <h2 translate>eo.search.mode.expert.support.field</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n -->\r\n </div>\r\n </ng-template>\r\n </div>\r\n</eo-dialog>",
5431
+ template: "<eo-dialog class=\"eo-app-search-dialog\" [appendTo]=\"''\" [visible]=\"true\" (hide)=\"closeSearchMenu($event)\">\r\n\r\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\r\n\r\n <div class=\"head\">\r\n\r\n <div class=\"search\">\r\n <form (submit)=\"executeSearch()\">\r\n <div class=\"title\" translate>eo.search</div>\r\n\r\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\r\n\r\n <div class=\"search-box\">\r\n <p-autoComplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput class=\"form-control\"\r\n [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\" [suggestions]=\"autocompleteResults\"\r\n (onSelect)=\"autocompleteSelect()\" (completeMethod)=\"autocompleteSuggest($event)\" (paste)=\"autocompletePaste($event)\"\r\n (onClear)=\"autocompleteSuggest()\" [delay]=\"500\" [minLength]=\"3\"></p-autoComplete>\r\n\r\n <ng-template #expertInput>\r\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\r\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\r\n </ng-template>\r\n\r\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\r\n <!--<span translate>eo.search.mode.expert</span>-->\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\r\n <ng-template #close>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\r\n </ng-template>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\r\n (click)=\"resetExpertModeInput()\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\r\n </button>\r\n\r\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div class=\"result\" *ngIf=\"!loading; else spinner\">\r\n {{queryState.totalCount | localeDecimal}}\r\n </div>\r\n <ng-template #spinner>\r\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\r\n </ng-template>\r\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu($event)\"></eo-icon>\r\n\r\n </div>\r\n\r\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\r\n\r\n <p-tabView [styleClass]=\"'tab-main'\" (onChange)=\"onTabChange($event.index)\" [activeIndex]=\"activeTabIndex\">\r\n <!-- object type restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.type'|translate}}\" headerStyleClass=\"search-tab-objecttype\">\r\n\r\n <!-- object type selection -->\r\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\r\n *ngIf=\"objectTypeGroups && !idxSearch\">\r\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups\">\r\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\r\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\r\n <div class=\"type\" *ngFor=\"let type of group.types\"\r\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\r\n\r\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"item\" (click)=\"selectObjectType(type)\">\r\n <eo-icon [objectType]=\"type\"></eo-icon>\r\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) + ')' : ''}}</div>\r\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- indexdata search -->\r\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\r\n <h2>\r\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\r\n (click)=\"exitIndexdataSearch()\"></eo-icon>\r\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\r\n </h2>\r\n\r\n <!-- context type selection -->\r\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\r\n\r\n <div class=\"context-select\">\r\n <div translate>eo.search.objecttype.form.context</div>\r\n <div class=\"spacer\"></div>\r\n\r\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\r\n [selected]=\"currentContextFolderName === ctx.name\"\r\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\r\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\r\n </eo-context-search>\r\n </div>\r\n\r\n <section class=\"context form\">\r\n <eo-object-form class=\"dark\" #ctxform\r\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\r\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n\r\n\r\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\r\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\r\n (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <!-- created restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.creation' | translate}}\" headerStyleClass=\"search-tab-created\">\r\n\r\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\r\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #createdForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\r\n [withTime]=\"createdField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-creator\">\r\n <h3 translate>eo.search.agg.creator</h3>\r\n <form #creatorForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\r\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n </div>\r\n\r\n </p-tabPanel>\r\n <p-tabPanel header=\"{{'eo.search.restrict.modification'|translate}}\" headerStyleClass=\"search-tab-changed\">\r\n\r\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\r\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #modifiedForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\r\n [withTime]=\"modifiedField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-modifier\">\r\n <h3 translate>eo.search.agg.modifier</h3>\r\n <form #modifierForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\r\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\r\n [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <p-tabPanel header=\"{{'eo.search.restrict.file'|translate}}\" headerStyleClass=\"search-tab-docfile\">\r\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-mimetype-group\">\r\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\r\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"checkbox\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filesize\">\r\n <h3 translate>eo.search.restrict.filesize</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\r\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filename\">\r\n <h3 translate>eo.search.restrict.filename</h3>\r\n <form #filenameForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\r\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\r\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\r\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n\r\n\r\n <!-- summary of the current search filters -->\r\n <div class=\"summary-panel\">\r\n\r\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\r\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\r\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\r\n </div>\r\n\r\n <ng-template #reghead>\r\n <div class=\"headline\" translate>eo.search.aside.summary</div>\r\n </ng-template>\r\n\r\n <section class=\"query-types\">\r\n <!-- search term -->\r\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\r\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\r\n <div class=\"filter\">\r\n <div class=\"label\">{{query.term}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- context type -->\r\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- object type -->\r\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.types\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #filterTemplate let-filter let-translate>\r\n <ng-container *ngIf=\"filter.innerValue.length\">\r\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\r\n <div class=\"label\">{{filter.label[i] | async}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <div class=\"section section-creation\"\r\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue.length || filtersModel[PARAMS.CREATOR].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.creation</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-modification\"\r\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue.length || filtersModel[PARAMS.MODIFIER].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.modification</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-mimetypegroup\"\r\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.file</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\r\n </div>\r\n </section>\r\n\r\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\r\n\r\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\r\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\r\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\r\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-container>\r\n\r\n <ng-template #regactions>\r\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-template>\r\n\r\n\r\n </div>\r\n\r\n <ng-template #emptySearch>\r\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <!-- expert mode body panel containing explanations -->\r\n <ng-template #expert>\r\n <div class=\"body expert\">\r\n\r\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\r\n\r\n <!--\r\n <h2><span translate>eo.search.mode.expert</span></h2>\r\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\r\n\r\n <div class=\"base-params fields\">\r\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"system-types fields\">\r\n\r\n <div class=\"column column-group\">\r\n <h2 translate>eo.search.mode.expert.support.group</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\r\n (click)=\"xpSelectGroup(group)\">\r\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\r\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\r\n <h2 translate>eo.search.mode.expert.support.type</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\r\n (click)=\"xpSelectType(type)\">\r\n <div>{{type.label}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\r\n <h2 translate>eo.search.mode.expert.support.field</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n -->\r\n </div>\r\n </ng-template>\r\n </div>\r\n</eo-dialog>\r\n",
5331
5432
  encapsulation: i0.ViewEncapsulation.None
5332
5433
  // todo: apply onPush change detection (agg search result right now doesn't update)
5333
5434
  // changeDetection: ChangeDetectionStrategy.OnPush
5334
5435
  ,
5335
- styles: [".eo-app-search-dialog>p-dialog>.ui-dialog{-webkit-animation:appSearchAppear calc(var(--app-default-transition-duration)*2)!important;animation:appSearchAppear calc(var(--app-default-transition-duration)*2)!important;bottom:0!important;left:0!important;max-width:100%!important;min-width:500px!important;top:0!important;width:80%!important}@media (max-width:500px){.eo-app-search-dialog>p-dialog>.ui-dialog{min-width:inherit;width:100%!important}}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content,.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog{height:100%}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog>.eo-dialog-content{max-height:100%;overflow:inherit}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog>.eo-dialog-header{display:none}.eo-app-search.rtl .head .close{left:var(--app-pane-padding);right:auto}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-box-max-width:600px;--search-min-width:500px;--search-summary-width:350px;background:var(--panel-background-grey);bottom:0;display:flex;flex:1;flex-direction:column;left:0;min-height:0;min-width:0;position:absolute;right:0;top:0}.eo-app-search .head{background:var(--color-primary-2);color:var(--color-white);display:flex;flex:0 0 auto;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding)/2) 0 calc(var(--app-pane-padding)/2);position:relative}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding)/2);z-index:2}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;min-height:1em}@media (max-width:480px){.eo-app-search .head .search .title{font-size:var(--font-title)}}.eo-app-search .head .search .query-scope{margin:calc(var(--app-pane-padding)*2) 0 0 0;max-width:var(--search-box-max-width);min-width:var(--search-min-width)}.eo-app-search .head .search .search-box{align-items:stretch;background:var(--color-white);box-shadow:0 2px 2px 0 rgba(var(--color-black-rgb),.2);display:flex;flex-flow:row nowrap;margin-bottom:var(--app-pane-padding);max-width:var(--search-box-max-width)}@media (max-width:480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box p-autocomplete{background:transparent;border:0;flex:1 1 auto;outline:0}.eo-app-search .head .search .search-box p-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{border:0;box-sizing:border-box;font-size:var(--font-title);padding:calc(var(--app-pane-padding)/2);width:100%}.eo-app-search .head .search .search-box input::-ms-clear{display:none}.eo-app-search .head .search .search-box button[type=submit]{background:var(--color-accent);border:0;color:var(--color-white);font-size:var(--font-subhead);padding:0 var(--app-pane-padding)}.eo-app-search .head .search .search-box button.expert-mode{align-items:center;background:transparent;border:0;color:var(--text-color-hint);display:flex;padding:0 calc(var(--app-pane-padding)/2)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;padding:0;transition:all .2s ease-in-out;width:0}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;padding:0 8px;width:40px}.eo-app-search .head .search .search-box button.expert-mode span{-webkit-animation:eoFadeIn var(--app-default-transition-duration);animation:eoFadeIn var(--app-default-transition-duration);display:none;padding:calc(var(--app-pane-padding)/4);white-space:nowrap}.eo-app-search .head .search .search-box button.expert-mode:hover{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode:hover span{display:block}.eo-app-search .head .result{font-size:7em;line-height:1em;opacity:.1;position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding)*2.5);z-index:1}@media (max-width:900px){.eo-app-search .head .result{font-size:3em;right:calc(var(--app-pane-padding)*3);top:var(--app-pane-padding)}}.eo-app-search .head .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);z-index:2}.eo-app-search .body{background:rgba(var(--color-white-rgb),.2);flex:1 1 auto;position:relative}@media (max-width:1000px){.eo-app-search .body .summary-panel{bottom:0;display:flex;flex-flow:row nowrap;left:0!important;right:0!important;top:auto!important;width:auto!important}.eo-app-search .body .summary-panel .headline:not(.stored-query),.eo-app-search .body .summary-panel .section{display:none}.eo-app-search .body .summary-panel .headline.stored-query{align-items:center;display:flex;margin-bottom:0;padding:0 var(--app-pane-padding)}.eo-app-search .body .summary-panel .headline.stored-query .pre{display:none}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-subhead)!important}.eo-app-search .body .summary-panel .actions{flex:1 1 auto}.eo-app-search .body .ui-tabview .ui-tabview-panels{padding-left:0!important;padding-right:0!important}.eo-app-search .body .ui-tabview.tab-main{bottom:50px!important}}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);box-sizing:border-box;position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) + 35px);width:var(--search-summary-width)}.eo-app-search .body .summary-panel .query-types{max-height:calc(100vh - 290px);overflow:auto}.eo-app-search .body .summary-panel .headline{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-light);line-height:1em;margin-bottom:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .headline.stored-query{background:var(--color-primary-3);color:var(--color-white);font-size:var(--font-body)}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-title);line-height:1.2em;padding:calc(var(--app-pane-padding)/2) 0}.eo-app-search .body .summary-panel .empty-search{color:var(--text-color-caption);padding:var(--app-pane-padding) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .section{max-height:calc(100vh - 280px);overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);padding-bottom:calc(var(--app-pane-padding)/4)}.eo-app-search .body .summary-panel .filter{align-items:center;background:rgba(var(--color-white-rgb),.6);display:flex;flex:1;flex-direction:row;margin-top:4px;min-height:0;min-width:0}.eo-app-search .body .summary-panel .filter .label{display:inline-block;flex:1 1 auto;max-width:none;overflow:hidden;padding:0 0 0 calc(var(--app-pane-padding)/4);text-overflow:ellipsis;white-space:nowrap}.eo-app-search .body .summary-panel .filter eo-icon{box-sizing:border-box;color:var(--text-color-hint);cursor:pointer;flex:0 0 auto;padding:calc(var(--app-pane-padding)/4)}.eo-app-search .body .summary-panel .filter eo-icon:hover{color:var(--text-color-caption)}.eo-app-search .body .summary-panel .actions{display:flex;justify-content:flex-end;padding:calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2 - 2px)}.eo-app-search .body .summary-panel .actions button{font-size:var(--font-hint);line-height:1em;margin:0 2px}.eo-app-search .body .ui-tabview.tab-main{bottom:0;display:flex;flex-flow:column;left:0;position:absolute;right:0;top:0}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav{background:var(--color-primary-2);border-color:transparent;color:var(--color-white);display:flex;flex:0 0 auto;padding:0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav>li a{color:rgba(var(--color-white-rgb),.54)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav>li.ui-state-active a{color:var(--color-white)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav li:not(.ui-state-active):not(.ui-state-disabled):hover{border-color:rgba(var(--color-white-rgb),.54)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav li:not(.ui-state-active):not(.ui-state-disabled):hover a{color:var(--color-white)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-panels{flex:1 1 auto;overflow-y:auto;padding-right:calc(var(--app-pane-padding)*2 + var(--search-summary-width));position:relative}.eo-app-search .body .ui-tabview .ui-tabview-panel{padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .ui-tabview .ui-tabview-panel h2{color:var(--text-color-caption);font-size:var(--font-title);font-weight:var(--font-weight-light);margin:0 0 calc(var(--app-pane-padding)*1.5) 0;padding:0}.eo-app-search .body .rest-box-container{align-items:stretch;display:flex;flex-flow:row wrap}.eo-app-search .body .rest-box-container .rest-box{background:var(--color-white);flex:1 1 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box h3{color:var(--text-color-caption);font-size:var(--font-caption);font-weight:var(--font-weight-normal);margin:0 0 var(--app-pane-padding) 0;padding:0}.eo-app-search .body .rest-box-container .rest-box .rest-item{align-items:center;color:var(--text-color-body);display:flex;flex:1 1 auto;flex-flow:row nowrap;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected{background:var(--color-primary-3);color:var(--color-white)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover{background:var(--list-item-hover-background)}.eo-app-search .body .rest-box-container .rest-box .label{flex:1 1 auto;padding:0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box .count{font-size:var(--font-caption);font-weight:var(--font-weight-bold);min-width:30px;text-align:right}.eo-app-search .body .object-types .group .type{align-items:center;display:flex;flex-flow:row nowrap;padding:1px 0}.eo-app-search .body .object-types .group .type.context{font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .type.folder .item eo-icon{background:rgba(var(--color-black-rgb),.15)}.eo-app-search .body .object-types .group .type.folder .item:hover eo-icon{background:rgba(var(--color-white-rgb),.3)}.eo-app-search .body .object-types .group .type.abstract .item{color:var(--text-color-caption)}.eo-app-search .body .object-types .group .type.abstract .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .group .type .item{align-items:center;border-radius:2px;color:var(--text-color-body);cursor:default;display:flex;flex:1 1 auto;flex-flow:row nowrap;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .object-types .group .type .item eo-icon{-moz-transition:none;-o-transition:none;-webkit-transition:none;border-radius:2px;box-sizing:content-box;color:var(--text-color-caption);height:16px;padding:2px;transition:none;width:16px}.eo-app-search .body .object-types .type .item{cursor:pointer}.eo-app-search .body .object-types .type .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .type .item:hover eo-icon{color:var(--panel-background)}.eo-app-search .body .indexdata-search{padding:calc(var(--app-pane-padding)/2) 0 0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .indexdata-search h2{align-items:center;display:flex;flex-flow:row}.eo-app-search .body .indexdata-search h2 eo-icon{margin:0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .indexdata-search h2 span{padding:0 calc(var(--app-pane-padding)/4)}.eo-app-search .body .indexdata-search .context{margin-bottom:var(--app-pane-padding)}.eo-app-search .body .indexdata-search .context .context-select{align-items:center;display:flex;flex-flow:row wrap;padding-bottom:1px}.eo-app-search .body .indexdata-search .context .context-select .spacer{width:var(--app-pane-padding)}.eo-app-search .body .indexdata-search eo-object-form{border:1px solid rgba(var(--color-black-rgb),.1)}.eo-app-search .body .indexdata-search eo-object-form.dark{background-color:var(--color-primary-2);display:block}.eo-app-search.rtl{-webkit-animation:appSearchAppearRTL var(--app-default-transition-duration);animation:appSearchAppearRTL var(--app-default-transition-duration);left:auto;right:0}.eo-app-search.rtl .body .summary-panel,.eo-app-search.rtl .head .result{left:var(--app-pane-padding);right:auto}.eo-app-search.rtl .body .ui-tabview .ui-tabview-panels{padding-bottom:0;padding-left:calc(var(--app-pane-padding)*2 + var(--search-summary-width));padding-right:0;padding-top:0}.eo-app-search.expert .head .result{display:none}.eo-app-search.expert .head .search .search-box{max-width:100%}.eo-app-search.expert .head .search .search-box button.expert-mode{color:var(--color-accent)}.eo-app-search.expert .body{background:var(--color-primary-2);color:var(--color-white);display:flex;flex-flow:column}.eo-app-search.expert .body h2{flex:0 0 auto;font-size:var(--font-title);font-weight:var(--font-weight-light);margin:var(--app-pane-padding) 0;padding:0}.eo-app-search.expert .body h2 span{border-bottom:4px solid var(--color-accent);padding:calc(var(--app-pane-padding)/2) 0 calc(var(--app-pane-padding)/2) var(--app-pane-padding)}.eo-app-search.expert .body .intro{flex:0 0 auto;padding:var(--app-pane-padding)}.eo-app-search.expert .body .empty{flex:0 0 auto;padding:0 var(--app-pane-padding)}.eo-app-search.expert .body .empty span{background:var(--color-error);border-radius:2px;color:var(--color-white);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .fields h2{border-bottom:1px solid rgba(var(--color-white-rgb),.3);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .fields .item{-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),.06);border-radius:2px;cursor:pointer;margin-bottom:4px;padding:calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item.selected,.eo-app-search.expert .body .fields .item:hover{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{display:flex;font-weight:var(--font-weight-bold);justify-content:space-between}.eo-app-search.expert .body .fields .item .label .type{font-size:var(--font-hint);opacity:.5}.eo-app-search.expert .body .fields .item .data{opacity:.75}.eo-app-search.expert .body .base-params{padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .base-params .items{display:flex;flex-flow:row wrap;padding:calc(var(--app-pane-padding)/4)}.eo-app-search.expert .body .base-params .items .item{margin:calc(var(--app-pane-padding)/4)}.eo-app-search.expert .body .system-types{align-items:stretch;display:flex;flex:1 1 auto;flex-flow:row;justify-content:flex-start;padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .system-types .column{box-sizing:border-box;display:flex;flex:0 0 33%;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{flex:1 1 auto;overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .system-types .column .items::-webkit-scrollbar-thumb{background-color:rgba(var(--color-white-rgb),.1)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox,.eo-app-search .body .rest-box-container .rest-box .type .checkbox{border:1px solid var(--text-color-hint);border-radius:2px;cursor:pointer;height:20px;margin:0 calc(var(--app-pane-padding)/2);width:20px}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type .checkbox svg{opacity:0}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover{border-color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover svg,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover svg{fill:var(--text-color-body);opacity:.3}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox{background:var(--color-primary-3);border-color:var(--color-primary-3)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox svg{fill:var(--color-white)!important;opacity:1}.eo-app-search .body .rest-box-container .rest-box .rest-item.saved .count,.eo-app-search .body .rest-box-container .rest-box .type.saved .count{font-weight:var(--font-weight-normal)}@-webkit-keyframes appSearchAppear{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes appSearchAppear{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes appSearchAppearRTL{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}"]
5436
+ styles: [".eo-app-search-dialog>p-dialog>.ui-dialog{-webkit-animation:appSearchAppear calc(var(--app-default-transition-duration)*2)!important;animation:appSearchAppear calc(var(--app-default-transition-duration)*2)!important;bottom:0!important;left:0!important;max-width:100%!important;min-width:500px!important;top:0!important;width:80%!important}@media (max-width:500px){.eo-app-search-dialog>p-dialog>.ui-dialog{min-width:inherit;width:100%!important}}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content,.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog{height:100%}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog>.eo-dialog-content{max-height:100%;overflow:inherit}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog>.eo-dialog-header{display:none}.eo-app-search.rtl .head .close{left:var(--app-pane-padding);right:auto}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-box-max-width:600px;--search-min-width:500px;--search-summary-width:350px;background:var(--panel-background-grey);bottom:0;display:flex;flex:1;flex-direction:column;left:0;min-height:0;min-width:0;position:absolute;right:0;top:0}.eo-app-search .head{background:var(--color-primary-2);color:var(--color-white);display:flex;flex:0 0 auto;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding)/2) 0 calc(var(--app-pane-padding)/2);position:relative}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding)/2);z-index:2}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;min-height:1em}@media (max-width:480px){.eo-app-search .head .search .title{font-size:var(--font-title)}}.eo-app-search .head .search .query-scope{margin:calc(var(--app-pane-padding)*2) 0 0 0;max-width:var(--search-box-max-width);min-width:var(--search-min-width)}.eo-app-search .head .search .search-box{align-items:stretch;background:var(--color-white);box-shadow:0 2px 2px 0 rgba(var(--color-black-rgb),.2);display:flex;flex-flow:row nowrap;margin-bottom:var(--app-pane-padding);max-width:var(--search-box-max-width)}@media (max-width:480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box p-autocomplete{background:transparent;border:0;flex:1 1 auto;outline:0}.eo-app-search .head .search .search-box p-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{border:0;box-sizing:border-box;font-size:var(--font-title);padding:calc(var(--app-pane-padding)/2);width:100%}.eo-app-search .head .search .search-box input::-ms-clear{display:none}.eo-app-search .head .search .search-box button[type=submit]{background:var(--color-accent);border:0;color:var(--color-white);font-size:var(--font-subhead);padding:0 var(--app-pane-padding)}.eo-app-search .head .search .search-box button.expert-mode{align-items:center;background:transparent;border:0;color:var(--text-color-hint);display:flex;padding:0 calc(var(--app-pane-padding)/2)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;padding:0;transition:all .2s ease-in-out;width:0}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;padding:0 8px;width:40px}.eo-app-search .head .search .search-box button.expert-mode span{-webkit-animation:eoFadeIn var(--app-default-transition-duration);animation:eoFadeIn var(--app-default-transition-duration);display:none;padding:calc(var(--app-pane-padding)/4);white-space:nowrap}.eo-app-search .head .search .search-box button.expert-mode:hover{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode:hover span{display:block}.eo-app-search .head .result{font-size:7em;line-height:1em;opacity:.1;position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding)*2.5);z-index:1}@media (max-width:900px){.eo-app-search .head .result{font-size:3em;right:calc(var(--app-pane-padding)*3);top:var(--app-pane-padding)}}.eo-app-search .head .search-aggregator__loader{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;position:absolute;right:13%;top:30%;z-index:11}@media (max-width:900px){.eo-app-search .head .search-aggregator__loader{top:5%}}.eo-app-search .head .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);z-index:2}.eo-app-search .body{background:rgba(var(--color-white-rgb),.2);flex:1 1 auto;position:relative}@media (max-width:1000px){.eo-app-search .body .summary-panel{bottom:0;display:flex;flex-flow:row nowrap;left:0!important;right:0!important;top:auto!important;width:auto!important}.eo-app-search .body .summary-panel .headline:not(.stored-query),.eo-app-search .body .summary-panel .section{display:none}.eo-app-search .body .summary-panel .headline.stored-query{align-items:center;display:flex;margin-bottom:0;padding:0 var(--app-pane-padding)}.eo-app-search .body .summary-panel .headline.stored-query .pre{display:none}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-subhead)!important}.eo-app-search .body .summary-panel .actions{flex:1 1 auto}.eo-app-search .body .ui-tabview .ui-tabview-panels{padding-left:0!important;padding-right:0!important}.eo-app-search .body .ui-tabview.tab-main{bottom:50px!important}}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);box-sizing:border-box;position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) + 35px);width:var(--search-summary-width)}.eo-app-search .body .summary-panel .query-types{max-height:calc(100vh - 290px);overflow:auto}.eo-app-search .body .summary-panel .headline{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-light);line-height:1em;margin-bottom:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .headline.stored-query{background:var(--color-primary-3);color:var(--color-white);font-size:var(--font-body)}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-title);line-height:1.2em;padding:calc(var(--app-pane-padding)/2) 0}.eo-app-search .body .summary-panel .empty-search{color:var(--text-color-caption);padding:var(--app-pane-padding) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .section{max-height:calc(100vh - 280px);overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);padding-bottom:calc(var(--app-pane-padding)/4)}.eo-app-search .body .summary-panel .filter{align-items:center;background:rgba(var(--color-white-rgb),.6);display:flex;flex:1;flex-direction:row;margin-top:4px;min-height:0;min-width:0}.eo-app-search .body .summary-panel .filter .label{display:inline-block;flex:1 1 auto;max-width:none;overflow:hidden;padding:0 0 0 calc(var(--app-pane-padding)/4);text-overflow:ellipsis;white-space:nowrap}.eo-app-search .body .summary-panel .filter eo-icon{box-sizing:border-box;color:var(--text-color-hint);cursor:pointer;flex:0 0 auto;padding:calc(var(--app-pane-padding)/4)}.eo-app-search .body .summary-panel .filter eo-icon:hover{color:var(--text-color-caption)}.eo-app-search .body .summary-panel .actions{display:flex;justify-content:flex-end;padding:calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2 - 2px)}.eo-app-search .body .summary-panel .actions button{font-size:var(--font-hint);line-height:1em;margin:0 2px}.eo-app-search .body .ui-tabview.tab-main{bottom:0;display:flex;flex-flow:column;left:0;position:absolute;right:0;top:0}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav{background:var(--color-primary-2);border-color:transparent;color:var(--color-white);display:flex;flex:0 0 auto;padding:0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav>li a{color:rgba(var(--color-white-rgb),.54)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav>li.ui-state-active a{color:var(--color-white)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav li:not(.ui-state-active):not(.ui-state-disabled):hover{border-color:rgba(var(--color-white-rgb),.54)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav li:not(.ui-state-active):not(.ui-state-disabled):hover a{color:var(--color-white)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-panels{flex:1 1 auto;overflow-y:auto;padding-right:calc(var(--app-pane-padding)*2 + var(--search-summary-width));position:relative}.eo-app-search .body .ui-tabview .ui-tabview-panel{padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .ui-tabview .ui-tabview-panel h2{color:var(--text-color-caption);font-size:var(--font-title);font-weight:var(--font-weight-light);margin:0 0 calc(var(--app-pane-padding)*1.5) 0;padding:0}.eo-app-search .body .rest-box-container{align-items:stretch;display:flex;flex-flow:row wrap}.eo-app-search .body .rest-box-container .rest-box{background:var(--color-white);flex:1 1 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box h3{color:var(--text-color-caption);font-size:var(--font-caption);font-weight:var(--font-weight-normal);margin:0 0 var(--app-pane-padding) 0;padding:0}.eo-app-search .body .rest-box-container .rest-box .rest-item{align-items:center;color:var(--text-color-body);display:flex;flex:1 1 auto;flex-flow:row nowrap;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected{background:var(--color-primary-3);color:var(--color-white)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover{background:var(--list-item-hover-background)}.eo-app-search .body .rest-box-container .rest-box .label{flex:1 1 auto;padding:0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box .count{font-size:var(--font-caption);font-weight:var(--font-weight-bold);min-width:30px;text-align:right}.eo-app-search .body .object-types .group .type{align-items:center;display:flex;flex-flow:row nowrap;padding:1px 0}.eo-app-search .body .object-types .group .type.context{font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .type.folder .item eo-icon{background:rgba(var(--color-black-rgb),.15)}.eo-app-search .body .object-types .group .type.folder .item:hover eo-icon{background:rgba(var(--color-white-rgb),.3)}.eo-app-search .body .object-types .group .type.abstract .item{color:var(--text-color-caption)}.eo-app-search .body .object-types .group .type.abstract .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .group .type .item{align-items:center;border-radius:2px;color:var(--text-color-body);cursor:default;display:flex;flex:1 1 auto;flex-flow:row nowrap;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .object-types .group .type .item eo-icon{-moz-transition:none;-o-transition:none;-webkit-transition:none;border-radius:2px;box-sizing:content-box;color:var(--text-color-caption);height:16px;padding:2px;transition:none;width:16px}.eo-app-search .body .object-types .type .item{cursor:pointer}.eo-app-search .body .object-types .type .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .type .item:hover eo-icon{color:var(--panel-background)}.eo-app-search .body .indexdata-search{padding:calc(var(--app-pane-padding)/2) 0 0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .indexdata-search h2{align-items:center;display:flex;flex-flow:row}.eo-app-search .body .indexdata-search h2 eo-icon{margin:0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .indexdata-search h2 span{padding:0 calc(var(--app-pane-padding)/4)}.eo-app-search .body .indexdata-search .context{margin-bottom:var(--app-pane-padding)}.eo-app-search .body .indexdata-search .context .context-select{align-items:center;display:flex;flex-flow:row wrap;padding-bottom:1px}.eo-app-search .body .indexdata-search .context .context-select .spacer{width:var(--app-pane-padding)}.eo-app-search .body .indexdata-search eo-object-form{border:1px solid rgba(var(--color-black-rgb),.1)}.eo-app-search .body .indexdata-search eo-object-form.dark{background-color:var(--color-primary-2);display:block}.eo-app-search.rtl{-webkit-animation:appSearchAppearRTL var(--app-default-transition-duration);animation:appSearchAppearRTL var(--app-default-transition-duration);left:auto;right:0}.eo-app-search.rtl .body .summary-panel,.eo-app-search.rtl .head .result{left:var(--app-pane-padding);right:auto}.eo-app-search.rtl .body .ui-tabview .ui-tabview-panels{padding-bottom:0;padding-left:calc(var(--app-pane-padding)*2 + var(--search-summary-width));padding-right:0;padding-top:0}.eo-app-search.expert .head .result{display:none}.eo-app-search.expert .head .search .search-box{max-width:100%}.eo-app-search.expert .head .search .search-box button.expert-mode{color:var(--color-accent)}.eo-app-search.expert .body{background:var(--color-primary-2);color:var(--color-white);display:flex;flex-flow:column}.eo-app-search.expert .body h2{flex:0 0 auto;font-size:var(--font-title);font-weight:var(--font-weight-light);margin:var(--app-pane-padding) 0;padding:0}.eo-app-search.expert .body h2 span{border-bottom:4px solid var(--color-accent);padding:calc(var(--app-pane-padding)/2) 0 calc(var(--app-pane-padding)/2) var(--app-pane-padding)}.eo-app-search.expert .body .intro{flex:0 0 auto;padding:var(--app-pane-padding)}.eo-app-search.expert .body .empty{flex:0 0 auto;padding:0 var(--app-pane-padding)}.eo-app-search.expert .body .empty span{background:var(--color-error);border-radius:2px;color:var(--color-white);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .fields h2{border-bottom:1px solid rgba(var(--color-white-rgb),.3);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .fields .item{-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),.06);border-radius:2px;cursor:pointer;margin-bottom:4px;padding:calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item.selected,.eo-app-search.expert .body .fields .item:hover{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{display:flex;font-weight:var(--font-weight-bold);justify-content:space-between}.eo-app-search.expert .body .fields .item .label .type{font-size:var(--font-hint);opacity:.5}.eo-app-search.expert .body .fields .item .data{opacity:.75}.eo-app-search.expert .body .base-params{padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .base-params .items{display:flex;flex-flow:row wrap;padding:calc(var(--app-pane-padding)/4)}.eo-app-search.expert .body .base-params .items .item{margin:calc(var(--app-pane-padding)/4)}.eo-app-search.expert .body .system-types{align-items:stretch;display:flex;flex:1 1 auto;flex-flow:row;justify-content:flex-start;padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .system-types .column{box-sizing:border-box;display:flex;flex:0 0 33%;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{flex:1 1 auto;overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .system-types .column .items::-webkit-scrollbar-thumb{background-color:rgba(var(--color-white-rgb),.1)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox,.eo-app-search .body .rest-box-container .rest-box .type .checkbox{border:1px solid var(--text-color-hint);border-radius:2px;cursor:pointer;height:20px;margin:0 calc(var(--app-pane-padding)/2);width:20px}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type .checkbox svg{opacity:0}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover{border-color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover svg,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover svg{fill:var(--text-color-body);opacity:.3}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox{background:var(--color-primary-3);border-color:var(--color-primary-3)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox svg{fill:var(--color-white)!important;opacity:1}.eo-app-search .body .rest-box-container .rest-box .rest-item.saved .count,.eo-app-search .body .rest-box-container .rest-box .type.saved .count{font-weight:var(--font-weight-normal)}@-webkit-keyframes appSearchAppear{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes appSearchAppear{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes appSearchAppearRTL{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}"]
5336
5437
  },] }
5337
5438
  ];
5338
5439
  AppSearchComponent.ctorParameters = function () { return [
@@ -7630,14 +7731,7 @@
7630
7731
  };
7631
7732
  IdReferenceComponent.prototype.registerOnTouched = function (fn) { };
7632
7733
  IdReferenceComponent.prototype.validate = function (c) {
7633
- var err;
7634
- if (this.innerValues.find(function (v) { return v.state === 'RECYCLED' || v.state === 'GONE'; }) && !this.readonly) {
7635
- err = {};
7636
- err['deletedIDReference'] = {
7637
- valid: false
7638
- };
7639
- }
7640
- return err ? err : null;
7734
+ return null;
7641
7735
  };
7642
7736
  IdReferenceComponent.prototype.ngOnInit = function () {
7643
7737
  if (this.situation === 'SEARCH') {
@@ -7649,7 +7743,7 @@
7649
7743
  IdReferenceComponent.decorators = [
7650
7744
  { type: i0.Component, args: [{
7651
7745
  selector: 'eo-id-reference',
7652
- template: "<div class=\"eo-id-reference\">\r\n\r\n <div class=\"eo-id-reference__element\" *ngIf=\"referenceType; else notFound\">\r\n <div *ngFor=\"let item of innerValues\" class=\"chip\" [ngClass]=\"{deleted: item.state && (item.state === 'RECYCLED' || item.state === 'GONE')}\">\r\n <a *ngIf=\"!item.state || item.state === 'OK'\" class=\"link router-link\" [routerLink]=\"['/object', item.id, {outlets: {modal: null}}]\" [queryParams]=\"{type: referenceType.qname}\">\r\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\r\n viewBox=\"0 0 24 24\">\r\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\r\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\"></path>\r\n </svg>\r\n </a>\r\n <eo-icon [objectType]=\"referenceType\" title=\"{{referenceType.label}}\" class=\"ref-type-icon\"></eo-icon>\r\n <span class=\"label\">{{item.title || referenceType.label}}</span>\r\n <eo-icon *ngIf=\"!readonly\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeItem(item)\" class=\"remove-icon\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #notFound><span class=\"label\">{{innerValues && innerValues.length ? ('eo.references.not.available' | translate) : ''}}</span></ng-template>\r\n\r\n <button #button class=\"ui-button\" *ngIf=\"!readonly\"\r\n title=\"{{('eo.references.search' | translate) + ' ' + tooltipTypeHint}}\"\r\n [disabled]=\"selectionDisabled\"\r\n (click)=\"showDialog()\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_none.svg'\"></eo-icon>\r\n </button>\r\n</div>\r\n\r\n<eo-dialog [title]=\"('eo.references.add' | translate)\"\r\n [subtitle]=\"referenceType.label\"\r\n [(visible)]=\"visibleDialog\"\r\n [minWidth]=\"577\"\r\n [minHeight]=\"590\"\r\n [styleClass]=\"'reference-field-dialog'\"\r\n #dialog>\r\n\r\n <eo-reference-finder *ngIf=\"dialog.visible\"\r\n [isDisabled]=\"isDisabled\"\r\n [types]=\"referenceType.qname\"\r\n [multiselect]=\"multiselect\"\r\n [currentSelection]=\"innerValues\"\r\n [clipboard]=\"clipboard\"\r\n [contextId]=\"contextId\"\r\n [exceptionIDs]=\"exceptionIDs\"\r\n [queryFilters]=\"queryFilters\"\r\n (addDmsObjects)=\"paste($event)\">\r\n </eo-reference-finder>\r\n</eo-dialog>\r\n",
7746
+ template: "<div class=\"eo-id-reference\">\r\n\r\n <div class=\"eo-id-reference__element\" *ngIf=\"referenceType; else notFound\">\r\n <div *ngFor=\"let item of innerValues\" class=\"chip\">\r\n <a *ngIf=\"!item.state || item.state === 'OK'\" class=\"link router-link\" [routerLink]=\"['/object', item.id, {outlets: {modal: null}}]\" [queryParams]=\"{type: referenceType.qname}\">\r\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\r\n viewBox=\"0 0 24 24\">\r\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\r\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\"></path>\r\n </svg>\r\n </a>\r\n <eo-icon [objectType]=\"referenceType\" title=\"{{referenceType.label}}\" class=\"ref-type-icon\" [ngClass]=\"{'deleted-reference-label': item.state && (item.state === 'RECYCLED' || item.state === 'GONE')}\"></eo-icon>\r\n <span *ngIf=\"!(item.state && (item.state === 'RECYCLED' || item.state === 'GONE')); else deleted\" class=\"label\">{{item.title || referenceType.label}}</span>\r\n <ng-template #deleted>\r\n <span class=\"label deleted-reference-label\">{{('eo.references.deleted' | translate)}}</span>\r\n </ng-template>\r\n <eo-icon *ngIf=\"!readonly\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeItem(item)\" class=\"remove-icon\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #notFound><span class=\"label\">{{innerValues && innerValues.length ? ('eo.references.not.available' | translate) : ''}}</span></ng-template>\r\n\r\n <button #button class=\"ui-button\" *ngIf=\"!readonly\"\r\n title=\"{{('eo.references.search' | translate) + ' ' + tooltipTypeHint}}\"\r\n [disabled]=\"selectionDisabled\"\r\n (click)=\"showDialog()\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_none.svg'\"></eo-icon>\r\n </button>\r\n</div>\r\n\r\n<eo-dialog [title]=\"('eo.references.add' | translate)\"\r\n [subtitle]=\"referenceType.label\"\r\n [(visible)]=\"visibleDialog\"\r\n [minWidth]=\"577\"\r\n [minHeight]=\"590\"\r\n [styleClass]=\"'reference-field-dialog'\"\r\n #dialog>\r\n\r\n <eo-reference-finder *ngIf=\"dialog.visible\"\r\n [isDisabled]=\"isDisabled\"\r\n [types]=\"referenceType.qname\"\r\n [multiselect]=\"multiselect\"\r\n [currentSelection]=\"innerValues\"\r\n [clipboard]=\"clipboard\"\r\n [contextId]=\"contextId\"\r\n [exceptionIDs]=\"exceptionIDs\"\r\n [queryFilters]=\"queryFilters\"\r\n (addDmsObjects)=\"paste($event)\">\r\n </eo-reference-finder>\r\n</eo-dialog>\r\n",
7653
7747
  providers: [
7654
7748
  {
7655
7749
  provide: forms.NG_VALUE_ACCESSOR,
@@ -7662,7 +7756,7 @@
7662
7756
  multi: true
7663
7757
  }
7664
7758
  ],
7665
- styles: [".eo-id-reference{align-items:center;display:flex;justify-content:space-between}.eo-id-reference__element{align-self:center;display:flex;flex-wrap:wrap}.eo-id-reference .chip{align-items:center;display:flex}.eo-id-reference .chip .ref-type-icon{height:16px;margin-right:4px;width:16px}.eo-id-reference .chip .label{display:flex;flex-flow:column;margin-right:4px}.eo-id-reference .chip .label>span{font-size:var(--font-hint)}.eo-id-reference .chip .remove-icon{color:var(--text-color-hint);flex:0 0 auto;height:14px;width:14px}.eo-id-reference .chip .remove-icon:hover{color:var(--text-color-caption);cursor:pointer}.eo-id-reference .chip.deleted{background:var(--color-error);border-color:var(--color-error);color:var(--color-white)}.eo-id-reference .chip.deleted .remove-icon{color:var(--color-white)}.eo-id-reference .chip.deleted:after{content:\"!\";margin-left:calc(var(--app-pane-padding)/2)}.eo-id-reference .ui-button:disabled{cursor:default}::ng-deep .reference-field-dialog{width:577px}"]
7759
+ styles: [".eo-id-reference{align-items:center;display:flex;justify-content:space-between}.eo-id-reference__element{align-self:center;display:flex;flex-wrap:wrap}.eo-id-reference .chip{align-items:center;display:flex}.eo-id-reference .chip .ref-type-icon{height:16px;margin-right:4px;width:16px}.eo-id-reference .chip .label{display:flex;flex-flow:column;margin-right:4px}.eo-id-reference .chip .label>span{font-size:var(--font-hint)}.eo-id-reference .chip .remove-icon{color:var(--text-color-hint);flex:0 0 auto;height:14px;width:14px}.eo-id-reference .chip .remove-icon:hover{color:var(--text-color-caption);cursor:pointer}.eo-id-reference .chip .deleted-reference-label{color:var(--color-error)}.eo-id-reference .ui-button:disabled{cursor:default}::ng-deep .reference-field-dialog{width:577px}"]
7666
7760
  },] }
7667
7761
  ];
7668
7762
  IdReferenceComponent.ctorParameters = function () { return [
@@ -8384,6 +8478,7 @@
8384
8478
  this.onDataMetaChanged = new i0.EventEmitter();
8385
8479
  // inner ng-model value
8386
8480
  this.innerValue = [];
8481
+ this.error = {};
8387
8482
  // list of values that should not be selectable
8388
8483
  this.exceptions = [];
8389
8484
  this.propagateChange = function (_) {
@@ -8409,14 +8504,7 @@
8409
8504
  configurable: true
8410
8505
  });
8411
8506
  OrganizationComponent.prototype.validate = function () {
8412
- var err;
8413
- if (this.innerValue.find(function (v) { return v.state === 'GONE'; })) {
8414
- err = {};
8415
- err['deletedOrgObject'] = {
8416
- valid: false
8417
- };
8418
- }
8419
- return err ? err : null;
8507
+ return null;
8420
8508
  };
8421
8509
  OrganizationComponent.prototype.buildAutocompleteUri = function (query) {
8422
8510
  var params = {
@@ -8529,7 +8617,7 @@
8529
8617
  OrganizationComponent.decorators = [
8530
8618
  { type: i0.Component, args: [{
8531
8619
  selector: 'eo-organization',
8532
- template: "<div class=\"eo-organization\" [ngClass]=\"{acInputHidden: !multiselect && innerValue.length}\">\r\n\r\n <p-autoComplete [(ngModel)]=\"innerValue\" [minLength]=\"1\" #autocomplete\r\n (onSelect)=\"onSelect($event)\" (onUnselect)=\"onUnselect($event)\"\r\n (onBlur)=\"onAutoCompleteBlur()\"\r\n [disabled]=\"readonly\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"autocompleteRes\" field=\"title\"\r\n (completeMethod)=\"autocompleteFn($event)\" [multiple]=\"true\">\r\n\r\n <!-- template for the suggest list -->\r\n <ng-template let-item pTemplate=\"item\">\r\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\"></i>\r\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\r\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\r\n </ng-template>\r\n\r\n <!-- template for the selected items when multiple -->\r\n <ng-template let-item pTemplate=\"selectedItem\">\r\n <div class=\"token\" [ngClass]=\"{deleted: item.state === 'GONE'}\">\r\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\"></i>\r\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length && item.active) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\r\n <span *ngIf=\"(!item.firstname?.length && !item.lastname?.length && !item.active && !item.type)\" class=\"ui-autocomplete-token-label\">{{item.id}}</span>\r\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.active && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\r\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\r\n </div>\r\n </ng-template>\r\n\r\n </p-autoComplete>\r\n</div>\r\n",
8620
+ template: "<div class=\"eo-organization\" [ngClass]=\"{acInputHidden: !multiselect && innerValue.length}\">\r\n\r\n <p-autoComplete [(ngModel)]=\"innerValue\" [minLength]=\"1\" #autocomplete\r\n (onSelect)=\"onSelect($event)\" (onUnselect)=\"onUnselect($event)\"\r\n (onBlur)=\"onAutoCompleteBlur()\"\r\n [disabled]=\"readonly\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"autocompleteRes\" field=\"title\"\r\n (completeMethod)=\"autocompleteFn($event)\" [multiple]=\"true\">\r\n\r\n <!-- template for the suggest list -->\r\n <ng-template let-item pTemplate=\"item\">\r\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\"></i>\r\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\r\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\r\n </ng-template>\r\n\r\n <!-- template for the selected items when multiple -->\r\n <ng-template let-item pTemplate=\"selectedItem\">\r\n <div class=\"token\">\r\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>\r\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length && item.active) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\r\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>\r\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.active && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\r\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\r\n </div>\r\n </ng-template>\r\n\r\n </p-autoComplete>\r\n</div>\r\n",
8533
8621
  providers: [
8534
8622
  {
8535
8623
  provide: forms.NG_VALUE_ACCESSOR,
@@ -8542,7 +8630,7 @@
8542
8630
  multi: true
8543
8631
  }
8544
8632
  ],
8545
- 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;padding:2px}:host ::ng-deep .ui-autocomplete-token .deleted{background:var(--color-error)!important;border:1px solid var(--color-error);border-color:var(--color-error)!important;color:var(--color-white)!important}:host ::ng-deep .ui-autocomplete-token .deleted:after{content:\"!\"}:host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px;opacity:1}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}: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}"]
8633
+ 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;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px;opacity:1}: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}"]
8546
8634
  },] }
8547
8635
  ];
8548
8636
  OrganizationComponent.ctorParameters = function () { return [
@@ -10106,7 +10194,7 @@
10106
10194
  * for editing rows. Being one of those inner forms should not run the form script again, but
10107
10195
  * instead just provide the observing abilities of the scripting scope.
10108
10196
  */
10109
- if (!this.isInnerTableForm && dataFormModel) {
10197
+ if (!this.formOptions.disabled && !this.isInnerTableForm && dataFormModel) {
10110
10198
  var scriptName = dataFormModel.name + '_' + dataFormModel.situation;
10111
10199
  this.logger.debug('executing form script ' + scriptName);
10112
10200
  this.formScriptService.runFormScript(this.scriptingScope, dataFormModel.script, scriptName);
@@ -10702,7 +10790,7 @@
10702
10790
  _this.controls.saving = true;
10703
10791
  var formData_1 = _this.objectForm.getFormData();
10704
10792
  var _a = _this._dmsObject, id = _a.id, typeName = _a.typeName, version = _a.version;
10705
- _this.dmsService.updateObject(id, formData_1, typeName, ignoreConflicts ? null : version)
10793
+ _this.dmsService.updateObject(id, formData_1, typeName, ignoreConflicts ? null : version, false)
10706
10794
  .pipe(operators.finalize(function () { return _this.finishPending(); }))
10707
10795
  .subscribe(function (updatedObject) {
10708
10796
  _this._dmsObject = updatedObject;
@@ -10920,7 +11008,7 @@
10920
11008
  rowBuffer: 20,
10921
11009
  multiSortKey: 'ctrl',
10922
11010
  accentedSort: true,
10923
- suppressCellSelection: true,
11011
+ // suppressCellSelection: true,
10924
11012
  rowSelection: 'single',
10925
11013
  suppressMovableColumns: true,
10926
11014
  enableFilter: false,
@@ -10936,7 +11024,7 @@
10936
11024
  rowBuffer: 20,
10937
11025
  multiSortKey: 'ctrl',
10938
11026
  accentedSort: true,
10939
- suppressCellSelection: true,
11027
+ // suppressCellSelection: true,
10940
11028
  rowSelection: 'single',
10941
11029
  suppressMovableColumns: true,
10942
11030
  enableFilter: false,
@@ -10994,6 +11082,9 @@
10994
11082
  enumerable: false,
10995
11083
  configurable: true
10996
11084
  });
11085
+ FormElementTableComponent.prototype.copyCellHandler = function (event) {
11086
+ this.gridApi.copyToClipboard(event, this.gridOptions);
11087
+ };
10997
11088
  FormElementTableComponent.prototype.actionsCellRenderer = function (params) {
10998
11089
  var div = document.createElement('div');
10999
11090
  if (params.context.tableComponent.params.situation === 'SEARCH') {
@@ -11166,6 +11257,9 @@
11166
11257
  this._elements.forEach(function (el) {
11167
11258
  // this.innerValue[rowResult.index] = {...this.innerValue[rowResult.index], ...rowResult.rowData};
11168
11259
  _this.innerValue[rowResult.index][el.name] = rowResult.rowData[el.name];
11260
+ if (_this.innerValue[rowResult.index][el.name + '_meta']) {
11261
+ _this.innerValue[rowResult.index][el.name + '_meta'] = rowResult.rowData[el.name + '_meta'];
11262
+ }
11169
11263
  });
11170
11264
  }
11171
11265
  this.updateTableValue();
@@ -11286,7 +11380,7 @@
11286
11380
  multi: true,
11287
11381
  }
11288
11382
  ],
11289
- styles: [":host-context(.dark) .label{background-color:rgba(var(--color-white-rgb),.1);color:var(--color-white)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{background-color:rgba(var(--color-white-rgb),.1);color:rgba(var(--color-white-rgb),.7)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height:30px}:host ::ng-deep .ag-theme-balham{bottom:0;box-sizing:border-box;position:absolute;top:0;width:100%}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell{align-items:center;display:flex;font-size:var(--font-caption);line-height:var(--oft-row-height);padding:0 calc(var(--app-pane-padding)/4)}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean,:host ::ng-deep .ag-theme-balham .ag-cell.res-ico{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{background-color:var(--color-accent);border-radius:2px;color:var(--color-white);font-size:var(--font-hint);padding:calc(var(--app-pane-padding)/4)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{cursor:pointer;display:flex}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{border-bottom-color:var(--color-gainsboro);color:var(--text-color-caption);font-size:var(--font-caption);font-weight:400;line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding)/2);padding-right:calc(var(--app-pane-padding)/2)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip,:host ::ng-deep .ag-theme-balham .chip .link{align-items:center;display:flex}:host{background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro);display:block;padding:0!important;width:100%}:host.ng-invalid{background:rgba(var(--color-error),.15);border-color:var(--color-error)}:host .object-form-table .grid-body{position:relative;width:100%}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{background-color:transparent;height:100%;width:100%}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .label{align-items:center;border-bottom:0;display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/4)}:host .label span{display:block;flex:1 1 auto}:host .label eo-icon.stf{color:var(--text-color-caption);cursor:pointer;height:16px;margin:calc(var(--app-pane-padding)/4);width:16px}:host .label eo-icon.stf.add-row{background-color:var(--text-color-hint);border-radius:2px;color:#fff;height:24px;width:24px}:host .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding)/2)}:host .label button.export{border:1px solid #000;border-radius:2px;color:#000;font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/4)}"]
11383
+ styles: [":host-context(.dark) .label{background-color:rgba(var(--color-white-rgb),.1);color:var(--color-white)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{background-color:rgba(var(--color-white-rgb),.1);color:rgba(var(--color-white-rgb),.7)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height:30px}:host ::ng-deep .ag-theme-balham{bottom:0;box-sizing:border-box;position:absolute;top:0;width:100%}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{-webkit-animation-duration:4s;-webkit-animation-name:copy-cell;animation-duration:4s;animation-name:copy-cell}@-webkit-keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{align-items:center;display:flex;font-size:var(--font-caption);line-height:var(--oft-row-height);padding:0 calc(var(--app-pane-padding)/4)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);border-color:transparent!important;outline:0!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean,:host ::ng-deep .ag-theme-balham .ag-cell.res-ico{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{background-color:var(--color-accent);border-radius:2px;color:var(--color-white);font-size:var(--font-hint);padding:calc(var(--app-pane-padding)/4)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{cursor:pointer;display:flex}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{border-bottom-color:var(--color-gainsboro);color:var(--text-color-caption);font-size:var(--font-caption);font-weight:400;line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding)/2);padding-right:calc(var(--app-pane-padding)/2)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip,:host ::ng-deep .ag-theme-balham .chip .link{align-items:center;display:flex}:host{background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro);display:block;padding:0!important;width:100%}:host.ng-invalid{background:rgba(var(--color-error),.15);border-color:var(--color-error)}:host .object-form-table .grid-body{position:relative;width:100%}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{background-color:transparent;height:100%;width:100%}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .label{align-items:center;border-bottom:0;display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/4)}:host .label span{display:block;flex:1 1 auto}:host .label eo-icon.stf{color:var(--text-color-caption);cursor:pointer;height:16px;margin:calc(var(--app-pane-padding)/4);width:16px}:host .label eo-icon.stf.add-row{background-color:var(--text-color-hint);border-radius:2px;color:#fff;height:24px;width:24px}:host .label button.add{border-radius:2px;padding:calc(var(--app-pane-padding)/2)}:host .label button.export{border:1px solid #000;border-radius:2px;color:#000;font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/4)}"]
11290
11384
  },] }
11291
11385
  ];
11292
11386
  FormElementTableComponent.ctorParameters = function () { return [
@@ -11297,7 +11391,8 @@
11297
11391
  ]; };
11298
11392
  FormElementTableComponent.propDecorators = {
11299
11393
  rowEdit: [{ type: i0.ViewChild, args: ['rowEdit',] }],
11300
- params: [{ type: i0.Input }]
11394
+ params: [{ type: i0.Input }],
11395
+ copyCellHandler: [{ type: i0.HostListener, args: ['keydown.control.alt.shift.c', ['$event'],] }, { type: i0.HostListener, args: ['keydown.control.shift.c', ['$event'],] }, { type: i0.HostListener, args: ['keydown.control.alt.c', ['$event'],] }, { type: i0.HostListener, args: ['keydown.control.c', ['$event'],] }]
11301
11396
  };
11302
11397
 
11303
11398
  /**
@@ -12755,8 +12850,8 @@
12755
12850
  OrganizationFilterComponent.decorators = [
12756
12851
  { type: i0.Component, args: [{
12757
12852
  selector: 'eo-organization-filter',
12758
- template: "<div class=\"eo-organization\" [ngClass]=\"{acInputHidden: !multiselect && innerValue.length}\">\r\n\r\n <p-autoComplete [(ngModel)]=\"innerValue\" [minLength]=\"1\" #autocomplete\r\n (onSelect)=\"onSelect($event)\" (onUnselect)=\"onUnselect($event)\"\r\n (onBlur)=\"onAutoCompleteBlur()\"\r\n [disabled]=\"readonly\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"autocompleteRes\" field=\"title\"\r\n (completeMethod)=\"autocompleteFn($event)\" [multiple]=\"true\">\r\n\r\n <!-- template for the suggest list -->\r\n <ng-template let-item pTemplate=\"item\">\r\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\"></i>\r\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\r\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\r\n </ng-template>\r\n\r\n <!-- template for the selected items when multiple -->\r\n <ng-template let-item pTemplate=\"selectedItem\">\r\n <div class=\"token\" [ngClass]=\"{deleted: item.state === 'GONE'}\">\r\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\"></i>\r\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length && item.active) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\r\n <span *ngIf=\"(!item.firstname?.length && !item.lastname?.length && !item.active && !item.type)\" class=\"ui-autocomplete-token-label\">{{item.id}}</span>\r\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.active && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\r\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\r\n </div>\r\n </ng-template>\r\n\r\n </p-autoComplete>\r\n</div>\r\n",
12759
- 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;padding:2px}:host ::ng-deep .ui-autocomplete-token .deleted{background:var(--color-error)!important;border:1px solid var(--color-error);border-color:var(--color-error)!important;color:var(--color-white)!important}:host ::ng-deep .ui-autocomplete-token .deleted:after{content:\"!\"}:host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px;opacity:1}:host ::ng-deep .ui-autocomplete-token-icon.del{color:var(--color-white)!important}: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}"]
12853
+ template: "<div class=\"eo-organization\" [ngClass]=\"{acInputHidden: !multiselect && innerValue.length}\">\r\n\r\n <p-autoComplete [(ngModel)]=\"innerValue\" [minLength]=\"1\" #autocomplete\r\n (onSelect)=\"onSelect($event)\" (onUnselect)=\"onUnselect($event)\"\r\n (onBlur)=\"onAutoCompleteBlur()\"\r\n [disabled]=\"readonly\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"autocompleteRes\" field=\"title\"\r\n (completeMethod)=\"autocompleteFn($event)\" [multiple]=\"true\">\r\n\r\n <!-- template for the suggest list -->\r\n <ng-template let-item pTemplate=\"item\">\r\n <i class=\"fa {{item.type === 'group' ? 'fa-users' : 'fa-user'}}\"></i>\r\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\r\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\r\n </ng-template>\r\n\r\n <!-- template for the selected items when multiple -->\r\n <ng-template let-item pTemplate=\"selectedItem\">\r\n <div class=\"token\">\r\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>\r\n <span *ngIf=\"(item.firstname?.length && item.lastname?.length && item.active) || item.type === 'group'\" class=\"ui-autocomplete-token-label\">{{item.title}} ({{item.name}})</span>\r\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>\r\n <span *ngIf=\"!item.firstname?.length && !item.lastname?.length && item.active && item.type !== 'group'\" class=\"ui-autocomplete-token-label\">({{item.name}})</span>\r\n <span *ngIf=\"!item.firstname?.length && item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.lastname}} ({{item.name}})</span>\r\n <span *ngIf=\"item.firstname?.length && !item.lastname?.length\" class=\"ui-autocomplete-token-label\">{{item.firstname}} ({{item.name}})</span>\r\n </div>\r\n </ng-template>\r\n\r\n </p-autoComplete>\r\n</div>\r\n",
12854
+ 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;padding:2px}:host ::ng-deep .ui-autocomplete-token-icon{margin-right:4px;opacity:1}: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}"]
12760
12855
  },] }
12761
12856
  ];
12762
12857
  OrganizationFilterComponent.ctorParameters = function () { return [
@@ -13323,7 +13418,7 @@
13323
13418
  configurable: true
13324
13419
  });
13325
13420
  GridComponent.prototype.copyCellHandler = function (event) {
13326
- this.copyToClipboard(event);
13421
+ this.gridApi.copyToClipboard(event, this.gridOptions);
13327
13422
  };
13328
13423
  GridComponent.prototype.loadingMessage = function () {
13329
13424
  var loaderContent = '';
@@ -13562,32 +13657,6 @@
13562
13657
  _this.selectRow(lastFocusedIndex);
13563
13658
  }, this.contextCount ? 500 : 0);
13564
13659
  };
13565
- // copy content of either row or table cell to clipboard
13566
- GridComponent.prototype.copyToClipboard = function (event) {
13567
- event.preventDefault();
13568
- event.stopPropagation();
13569
- var content = '';
13570
- var grid = document.querySelector('ag-grid-angular'); // todo: refactoring
13571
- var focusedCell = this.gridOptions.api.getFocusedCell();
13572
- var rows = event.shiftKey ? this.gridOptions.api.getSelectedNodes() : [this.gridOptions.api.getDisplayedRowAtIndex(focusedCell.rowIndex)];
13573
- var cols = event.shiftKey ? this.gridOptions.columnApi.getAllDisplayedColumns() : [focusedCell.column];
13574
- var value = function (col, row) {
13575
- var cell = grid.querySelector("div[row-index=\"" + row.rowIndex + "\"] [col-id=\"" + col.colId + "\"]");
13576
- var chips = cell === null || cell === void 0 ? void 0 : cell.querySelectorAll('.chip');
13577
- var val = cell && Array.from((chips === null || chips === void 0 ? void 0 : chips.length) ? chips : [cell]).map(function (c) { return c.textContent || ''; });
13578
- return (val === undefined || val === null ? '' : val).toString().replace(/\n/g, ' ');
13579
- };
13580
- // const value = (col, row) => (this.gridOptions.api.getValue(col, row) || '').toString().replace(/\n/g, ' ');
13581
- if (event.altKey)
13582
- content += cols.map(function (col) { return col.getColDef().headerName; }).join(' ') + '\n';
13583
- content += rows.map(function (row) { return cols.map(function (col) { return value(col, row); }).join(' '); }).join('\n');
13584
- var textArea = document.createElement('textarea');
13585
- textArea.value = content;
13586
- document.body.appendChild(textArea);
13587
- textArea.select();
13588
- var copySuccess = document.execCommand('copy');
13589
- document.body.removeChild(textArea);
13590
- };
13591
13660
  Object.defineProperty(GridComponent.prototype, "columns", {
13592
13661
  get: function () {
13593
13662
  var _this = this;
@@ -13634,7 +13703,7 @@
13634
13703
  selector: 'eo-grid',
13635
13704
  template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\r\n <ng-content select=\".empty\"></ng-content>\r\n</div>\r\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\r\n <ng-content select=\".header\"></ng-content>\r\n</div>\r\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\r\n [hidden]=\"isEmpty\"\r\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\r\n [gridOptions]=\"gridOptions\"\r\n [frameworkComponents]=\"frameworkComponents\"\r\n (modelUpdated)=\"onModelUpdated()\"\r\n (cellFocused)=\"onCellFocused($event)\"\r\n (cellContextMenu)=\"onContextMenuClicked($event)\"\r\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (cellClicked)=\"onCellClicked($event)\"\r\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\r\n (selectionChanged)=\"onSelectionChanged($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (gridReady)=\"onReady()\">\r\n</ag-grid-angular>\r\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\r\n <ng-content select=\".footer\"></ng-content>\r\n</div>\r\n",
13636
13705
  encapsulation: i0.ViewEncapsulation.None,
13637
- styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{--footer-height:40px;--header-height:30px;bottom:0;color:var(--text-color-caption);left:0;position:absolute;right:0;top:0}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{align-items:center;border-bottom:1px solid var(--panel-header-border-bottom-color);box-sizing:border-box;display:flex;flex:1;flex-direction:row;height:var(--header-height);min-height:0;min-width:0;padding:0 calc(var(--app-pane-padding)/4*3);position:absolute;width:100%;z-index:1}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{-webkit-border-radius:2px;align-items:center;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;display:flex;flex:1;flex-direction:column;font-style:italic;height:auto;justify-content:space-around;min-height:0;min-width:0;padding:5px}eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-empty .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-header .footer,eo-grid .eo-grid-header .header{align-items:center;display:flex;flex:1;flex-direction:row;justify-content:flex-end;min-height:0;min-width:0}eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-header .footer>*,eo-grid .eo-grid-header .header>*{margin:0 calc(var(--app-pane-padding)/4)}eo-grid .eo-grid-empty{border:none;height:calc(100% - var(--footer-height) - var(--header-height));top:var(--header-height)}eo-grid .eo-grid-footer{border-top:1px solid var(--panel-header-border-bottom-color);bottom:0;height:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham{bottom:0;box-sizing:border-box;font-size:13px;position:absolute;top:0;width:100%}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{border-right:1px solid var(--list-item-border-color);height:100%;margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:transparent;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{-webkit-border-radius:2px;border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent;background:linear-gradient(90deg,transparent 0,#fff);bottom:0;content:\" \";position:absolute;right:0;top:0;width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{-moz-user-select:none;-webkit-user-select:none;background:var(--color-white);border:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-header,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-header .ag-header-cell:first-child:after{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before{background:linear-gradient(0deg,#fff,#fff 5%,var(--color-accent) 0,var(--color-accent) 95%,#fff 0,#fff);content:\"\";height:100%;position:absolute;width:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,#fff,#fff 5%,var(--color-accent) 0,var(--color-accent) 95%,#fff 0,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{background:var(--list-item-selected-background)!important;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:transparent;background:linear-gradient(90deg,transparent 0,var(--list-item-selected-background))}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-bottom-color:var(--list-item-border-color)!important;border-color:transparent!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{-moz-user-select:none;-webkit-user-select:none;align-items:center;display:flex;font-size:var(--font-body);line-height:1.7em;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{text-overflow:ellipsis;white-space:nowrap}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{color:var(--text-color-accent);text-decoration:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{height:24px;opacity:.5;vertical-align:bottom;width:24px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.06);border-color:rgba(var(--color-black-rgb),0);border-radius:2px;color:var(--text-color-caption);margin:0!important;padding:4px var(--app-pane-padding);white-space:nowrap;width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.06);border-color:rgba(var(--color-black-rgb),0);border-radius:2px;color:var(--text-color-caption);height:20px;padding:0;width:20px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{-moz-user-select:all;-webkit-user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;font-family:inherit;height:2em;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)!important;user-select:all;width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding);border:none;border-bottom:1px solid rgba(var(--color-black-rgb),.1);font-family:inherit;height:2em;outline:none;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:left;none:right}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding)/2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding)/4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding)/4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{border:none;flex-flow:column}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token{margin:2px calc(var(--app-pane-padding)/2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{-webkit-border-radius:2px;background:var(--color-primary-3);border-radius:2px;color:var(--color-white);content:\"*\";display:inline-block;line-height:14px;padding:0 calc(var(--app-pane-padding)/4)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding)/2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding)/2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}"]
13706
+ styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{--footer-height:40px;--header-height:30px;bottom:0;color:var(--text-color-caption);left:0;position:absolute;right:0;top:0}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{align-items:center;border-bottom:1px solid var(--panel-header-border-bottom-color);box-sizing:border-box;display:flex;flex:1;flex-direction:row;height:var(--header-height);min-height:0;min-width:0;padding:0 calc(var(--app-pane-padding)/4*3);position:absolute;width:100%;z-index:1}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{-webkit-border-radius:2px;align-items:center;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;display:flex;flex:1;flex-direction:column;font-style:italic;height:auto;justify-content:space-around;min-height:0;min-width:0;padding:5px}eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-empty .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-header .footer,eo-grid .eo-grid-header .header{align-items:center;display:flex;flex:1;flex-direction:row;justify-content:flex-end;min-height:0;min-width:0}eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-header .footer>*,eo-grid .eo-grid-header .header>*{margin:0 calc(var(--app-pane-padding)/4)}eo-grid .eo-grid-empty{border:none;height:calc(100% - var(--footer-height) - var(--header-height));top:var(--header-height)}eo-grid .eo-grid-footer{border-top:1px solid var(--panel-header-border-bottom-color);bottom:0;height:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham{bottom:0;box-sizing:border-box;font-size:13px;position:absolute;top:0;width:100%}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{border-right:1px solid var(--list-item-border-color);height:100%;margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:transparent;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{-webkit-border-radius:2px;border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent;background:linear-gradient(90deg,transparent 0,#fff);bottom:0;content:\" \";position:absolute;right:0;top:0;width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{-moz-user-select:none;-webkit-user-select:none;background:var(--color-white);border:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-header,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-header .ag-header-cell:first-child:after{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before{background:linear-gradient(0deg,#fff,#fff 5%,var(--color-accent) 0,var(--color-accent) 95%,#fff 0,#fff);content:\"\";height:100%;position:absolute;width:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,#fff,#fff 5%,var(--color-accent) 0,var(--color-accent) 95%,#fff 0,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{background:var(--list-item-selected-background)!important;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:transparent;background:linear-gradient(90deg,transparent 0,var(--list-item-selected-background))}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{-webkit-animation-duration:4s;-webkit-animation-name:copy-cell;animation-duration:4s;animation-name:copy-cell}@-webkit-keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-bottom-color:var(--list-item-border-color)!important;border-color:transparent!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{-moz-user-select:none;-webkit-user-select:none;align-items:center;display:flex;font-size:var(--font-body);line-height:1.7em;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{text-overflow:ellipsis;white-space:nowrap}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{color:var(--text-color-accent);text-decoration:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{height:24px;opacity:.5;vertical-align:bottom;width:24px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.06);border-color:rgba(var(--color-black-rgb),0);border-radius:2px;color:var(--text-color-caption);margin:0!important;padding:4px var(--app-pane-padding);white-space:nowrap;width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.06);border-color:rgba(var(--color-black-rgb),0);border-radius:2px;color:var(--text-color-caption);height:20px;padding:0;width:20px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{-moz-user-select:all;-webkit-user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;font-family:inherit;height:2em;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)!important;user-select:all;width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding);border:none;border-bottom:1px solid rgba(var(--color-black-rgb),.1);font-family:inherit;height:2em;outline:none;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:left;none:right}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding)/2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding)/4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding)/4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{border:none;flex-flow:column}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token{margin:2px calc(var(--app-pane-padding)/2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{-webkit-border-radius:2px;background:var(--color-primary-3);border-radius:2px;color:var(--color-white);content:\"*\";display:inline-block;line-height:14px;padding:0 calc(var(--app-pane-padding)/4)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding)/2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding)/2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}"]
13638
13707
  },] }
13639
13708
  ];
13640
13709
  GridComponent.ctorParameters = function () { return [
@@ -14324,6 +14393,7 @@
14324
14393
  _this.storageService = storageService;
14325
14394
  _this.csvLoadingSpinnerVisibility = false;
14326
14395
  _this.visibleConfig = false;
14396
+ _this.showLoader = false;
14327
14397
  _this.limitedList = false;
14328
14398
  _this.resultGridOptions = {};
14329
14399
  _this.settings = {};
@@ -14362,12 +14432,15 @@
14362
14432
  var config = this.searchService.getResultFieldDefinitionConfig(this.query);
14363
14433
  this.configType = config.type;
14364
14434
  this.configContext = config.contextType;
14435
+ this.showLoader = true;
14365
14436
  this.searchService
14366
14437
  .getChunkedResult(this._query, 0, this.VIRTUAL_LIST_CHUNK_SIZE)
14367
14438
  .subscribe(function (result) {
14439
+ _this.showLoader = false;
14368
14440
  _this.clearQuery(_this.clearAfterExecute);
14369
14441
  _this.searchResult = result;
14370
14442
  }, i1.Utils.throw(function () {
14443
+ _this.showLoader = false;
14371
14444
  _this.clearQuery(true);
14372
14445
  _this.invalidQuery();
14373
14446
  }));
@@ -14551,8 +14624,8 @@
14551
14624
  ResultListComponent.decorators = [
14552
14625
  { type: i0.Component, args: [{
14553
14626
  selector: 'eo-result-list',
14554
- template: "<eo-column-configurator *ngIf=\"visibleConfig\" [visible]=\"visibleConfig\"\r\n [configType]=\"configType\" [configContext]=\"configContext\" [eoGrid]=\"grid\"\r\n (onConfigChanged)=\"visibleConfig = false; onConfigChanged($event)\" ></eo-column-configurator>\r\n\r\n<eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\r\n <div class=\"eo-header\">\r\n <eo-icon class=\"eo-header-icon\" *ngIf=\"hasIcon\" [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\r\n <div class=\"eo-header-info\">\r\n <div class=\"eo-header-title\">{{title || ('eo.search.title' | translate)}}</div>\r\n <div class=\"eo-header-subtitle\">\r\n <span class=\"eo-header-subtitle__label\" *ngIf=\"query?.types.length === 1\">{{query.types[0].label}}</span>\r\n <span *ngIf=\"query?.contextFolderTypes.length === 1\" translate\r\n [translateParams]=\"{type: query.contextFolderTypes[0].label}\">eo.search.objecttype.form.context</span>\r\n <span class=\"term\" *ngIf=\"query?.term && !clearAfterExecute\">{{'eo.search.result.term' | translate}} : \"{{query.term}}\"</span>\r\n <div class=\"suggest\" *ngIf=\"searchResult?.suggests\">{{'eo.search.suggest' | translate}}<a href=\"javascript:void(0)\" (click)=\"executeSuggestSearch()\">{{searchResult.suggests[0]}}</a> ?\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"eo-header-actions\">\r\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refreshGrid()\"\r\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\r\n <eo-icon class=\"button export-button\" [hidden]=\"!query\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.resultlist.export.csv' | translate)\"\r\n (click)=\"exportCSV()\" *ngIf=\"!csvLoadingSpinnerVisibility\"></eo-icon>\r\n <eo-loading-spinner [size]=\"'small'\" *ngIf=\"csvLoadingSpinnerVisibility\" class=\"spinner\"></eo-loading-spinner>\r\n <eo-icon class=\"button config-button\" [iconSrc]=\"'assets/_default/svg/ic_settings.svg'\" [iconTitle]=\"('eo.column.config.title' | translate)\"\r\n (click)=\"visibleConfig = !visibleConfig\"></eo-icon>\r\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\" [iconTitle]=\"('eo.object.actions.title' | translate)\"\r\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\" *ngIf=\"!reference\"></eo-icon>\r\n </div>\r\n </div>\r\n <div class=\"eo-body\">\r\n <eo-grid #eoGrid [gridOptions]=\"resultGridOptions\" *ngIf=\"hasGridOptions; else error\"\r\n [showFooter]=\"true\" (eoGridColumnResized)=\"onColumnResized($event)\" [selectFirst]=\"selectFirst\"\r\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged.emit($event);\"\r\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event);onContextMenu.emit($event)\"\r\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event);onSelectionChanged.emit($event)\"\r\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event);onDoubleClick.emit($event)\"\r\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event);onFocusChanged.emit($event)\">\r\n\r\n <div class=\"footer\">\r\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\r\n <!--<eo-quick-filter [eoGrid]=\"eoGrid\"></eo-quick-filter>-->\r\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\r\n </div>\r\n\r\n <div class=\"empty\">\r\n <eo-error-message [emptyState]=\"{text: emptyMessage || 'eo.search.result.expired'}\"></eo-error-message>\r\n </div>\r\n </eo-grid>\r\n </div>\r\n <ng-template #error>\r\n\r\n <eo-error-message *ngIf=\"hasGridOptions\" [emptyState]=\"{text:'eo.search.mode.expert.result.empty'}\">\r\n </eo-error-message>\r\n\r\n </ng-template>\r\n</eo-list-container>\r\n",
14555
- styles: [":host{background:var(--panel-background);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0}:host .spinner{padding:calc(var(--app-pane-padding)/4)}:host .result-head{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .result-head .header-info{flex:1}:host .result-head .header-info .header-sub-title .term{margin:0 var(--app-pane-padding)}:host .result-head .header-info .header-title{-moz-user-select:none;-webkit-user-select:none;font-size:20px;padding-bottom:calc(var(--app-pane-padding)/4);user-select:none}:host .result-head .header-info .status{display:flex}:host .result-head .header-info .status .term{flex:1}:host .result-head .actions eo-icon{cursor:pointer;padding:calc(var(--app-pane-padding)/4)}"]
14627
+ template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\r\n <eo-loading-spinner class=\"result-list__loader\" [size]=\"'medium'\"></eo-loading-spinner>\r\n</div>\r\n<eo-column-configurator *ngIf=\"visibleConfig\" [visible]=\"visibleConfig\"\r\n [configType]=\"configType\" [configContext]=\"configContext\" [eoGrid]=\"grid\"\r\n (onConfigChanged)=\"visibleConfig = false; onConfigChanged($event)\" ></eo-column-configurator>\r\n\r\n<eo-list-container #eoList [applySelection]=\"{}\" [loading]=\"false\" [parseDmsParams]=\"parseDmsParams\">\r\n <div class=\"eo-header\">\r\n <eo-icon class=\"eo-header-icon\" *ngIf=\"hasIcon\" [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\r\n <div class=\"eo-header-info\">\r\n <div class=\"eo-header-title\">{{title || ('eo.search.title' | translate)}}</div>\r\n <div class=\"eo-header-subtitle\">\r\n <span class=\"eo-header-subtitle__label\" *ngIf=\"query?.types.length === 1\">{{query.types[0].label}}</span>\r\n <span *ngIf=\"query?.contextFolderTypes.length === 1\" translate\r\n [translateParams]=\"{type: query.contextFolderTypes[0].label}\">eo.search.objecttype.form.context</span>\r\n <span class=\"term\" *ngIf=\"query?.term && !clearAfterExecute\">{{'eo.search.result.term' | translate}} : \"{{query.term}}\"</span>\r\n <div class=\"suggest\" *ngIf=\"searchResult?.suggests\">{{'eo.search.suggest' | translate}}<a href=\"javascript:void(0)\" (click)=\"executeSuggestSearch()\">{{searchResult.suggests[0]}}</a> ?\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"eo-header-actions\">\r\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"refreshGrid()\"\r\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\r\n <eo-icon class=\"button export-button\" [hidden]=\"!query\" [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\" [iconTitle]=\"('eo.resultlist.export.csv' | translate)\"\r\n (click)=\"exportCSV()\" *ngIf=\"!csvLoadingSpinnerVisibility\"></eo-icon>\r\n <eo-loading-spinner [size]=\"'small'\" *ngIf=\"csvLoadingSpinnerVisibility\" class=\"spinner\"></eo-loading-spinner>\r\n <eo-icon class=\"button config-button\" [iconSrc]=\"'assets/_default/svg/ic_settings.svg'\" [iconTitle]=\"('eo.column.config.title' | translate)\"\r\n (click)=\"visibleConfig = !visibleConfig\"></eo-icon>\r\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\" [iconTitle]=\"('eo.object.actions.title' | translate)\"\r\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\" *ngIf=\"!reference\"></eo-icon>\r\n </div>\r\n </div>\r\n <div class=\"eo-body\">\r\n <eo-grid #eoGrid [gridOptions]=\"resultGridOptions\" *ngIf=\"hasGridOptions; else error\"\r\n [showFooter]=\"true\" (eoGridColumnResized)=\"onColumnResized($event)\" [selectFirst]=\"selectFirst\"\r\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged.emit($event);\"\r\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event);onContextMenu.emit($event)\"\r\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event);onSelectionChanged.emit($event)\"\r\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event);onDoubleClick.emit($event)\"\r\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event);onFocusChanged.emit($event)\">\r\n\r\n <div class=\"footer\">\r\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\r\n <!--<eo-quick-filter [eoGrid]=\"eoGrid\"></eo-quick-filter>-->\r\n <eo-pagination [settings]=\"settings\" (pageChanged)=\"onPageChanged($event)\"></eo-pagination>\r\n </div>\r\n\r\n <div class=\"empty\">\r\n <eo-error-message [emptyState]=\"{text: emptyMessage || 'eo.search.result.expired'}\"></eo-error-message>\r\n </div>\r\n </eo-grid>\r\n </div>\r\n <ng-template #error>\r\n\r\n <eo-error-message *ngIf=\"hasGridOptions\" [emptyState]=\"{text:'eo.search.mode.expert.result.empty'}\">\r\n </eo-error-message>\r\n\r\n </ng-template>\r\n</eo-list-container>\r\n",
14628
+ styles: [":host{background:var(--panel-background);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0}:host .spinner{padding:calc(var(--app-pane-padding)/4)}:host .result-head{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .result-head .header-info{flex:1}:host .result-head .header-info .header-sub-title .term{margin:0 var(--app-pane-padding)}:host .result-head .header-info .header-title{-moz-user-select:none;-webkit-user-select:none;font-size:20px;padding-bottom:calc(var(--app-pane-padding)/4);user-select:none}:host .result-head .header-info .status{display:flex}:host .result-head .header-info .status .term{flex:1}:host .result-head .actions eo-icon{cursor:pointer;padding:calc(var(--app-pane-padding)/4)}:host .loader-overlay__mask{-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s;background:rgba(var(--color-white-rgb),.8);display:flex;height:100%;position:absolute;width:100%;z-index:11}:host .loader-overlay__mask .result-list__loader{margin:auto}"]
14556
14629
  },] }
14557
14630
  ];
14558
14631
  ResultListComponent.ctorParameters = function () { return [
@@ -18633,7 +18706,7 @@
18633
18706
  "viewer": "assets/_default/api/img/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}"
18634
18707
  },
18635
18708
  { "viewer": "() => parameters.defaultViewer + '#'" },
18636
- { "error": true, "viewer": "assets/_default/api/error/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}" }
18709
+ { "error": true, "type": "error", "viewer": "assets/_default/api/error/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}" }
18637
18710
  ];
18638
18711
  _this.undockDisabled = false;
18639
18712
  _this.enableCloseBtn = false;
@@ -18788,7 +18861,7 @@
18788
18861
  var config = this.customConfig.find(function (c) {
18789
18862
  var matchMT = !c.mimeType || (typeof c.mimeType === 'string' ? [c.mimeType] : c.mimeType).includes(mimeType === null || mimeType === void 0 ? void 0 : mimeType.toLowerCase());
18790
18863
  var matchFE = !c.fileExtension || (typeof c.fileExtension === 'string' ? [c.fileExtension] : c.fileExtension).includes((fileExtension).toLowerCase());
18791
- return matchMT && matchFE;
18864
+ return matchMT && matchFE && (!c.type || c.type === 'default');
18792
18865
  });
18793
18866
  var parameters = {
18794
18867
  file: file,
@@ -18803,6 +18876,9 @@
18803
18876
  previewUri: ''
18804
18877
  };
18805
18878
  parameters.viewer = this.pluginsService.applyFunction(parameters.viewer, 'component, dmsObject, parameters', [this, this._dmsObject, parameters]) || defaultViewer;
18879
+ var extend = this.customConfig.find(function (c) { return c.type === 'extend'; });
18880
+ if (extend)
18881
+ parameters.viewer = this.pluginsService.applyFunction(extend.viewer, 'component, dmsObject, parameters', [this, this._dmsObject, parameters]);
18806
18882
  parameters.previewUri = this.resolveUri(parameters.viewer, parameters);
18807
18883
  return parameters;
18808
18884
  };
@@ -18971,7 +19047,7 @@
18971
19047
  return MediaComponent;
18972
19048
  }(UnsubscribeOnDestroy));
18973
19049
  MediaComponent.VIDEO_VIEWER = 'assets/_default/api/video/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}';
18974
- MediaComponent.PDF_VIEWER = 'assets/_default/api/pdf/web/viewer.html?file=&path=${path}&pathPdf=${pathPdf}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}';
19050
+ MediaComponent.PDF_VIEWER = 'assets/_default/api/pdf/web/viewer.html?file=&path=${path}&pathPdf=${pathPdf}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}&css=%23toolbarViewerRight%20%23print%7Bdisplay%3Ablock!important%3B%7D';
18975
19051
  MediaComponent.decorators = [
18976
19052
  { type: i0.Component, args: [{
18977
19053
  selector: 'eo-media',
@@ -21181,10 +21257,38 @@
21181
21257
  this.uploadRegistry.uploadTargets$.subscribe(function (uploadTargets) {
21182
21258
  _this.uploadTargets = uploadTargets;
21183
21259
  });
21260
+ this.pasteListener = this.renderer.listen('document', 'paste', function (e) {
21261
+ _this.onPaste(e);
21262
+ });
21184
21263
  this.dragEnterListener = this.renderer.listen('document', 'dragenter', function (e) {
21185
21264
  _this.onDragEnter(e);
21186
21265
  });
21187
21266
  };
21267
+ UploadOverlayComponent.prototype.onPaste = function (e) {
21268
+ if (this.isUploading) {
21269
+ return false;
21270
+ }
21271
+ this.hasValidUploadTargets = true;
21272
+ this.invalidInput = false;
21273
+ if (!this.fileOver && this.pasteContainsFiles(e)) {
21274
+ var transfer = e.clipboardData;
21275
+ if (!transfer) {
21276
+ return;
21277
+ }
21278
+ this._preventAndStop(e);
21279
+ // check for directories
21280
+ for (var i = 0; i < transfer.items.length; i++) {
21281
+ var fe = transfer.items[i].webkitGetAsEntry();
21282
+ if (fe && fe.isDirectory) {
21283
+ this.invalidInput = true;
21284
+ }
21285
+ }
21286
+ if (!this.invalidInput) {
21287
+ this.setFileOver(true);
21288
+ this.onFilesDropped(transfer.files);
21289
+ }
21290
+ }
21291
+ };
21188
21292
  UploadOverlayComponent.prototype.onDragEnter = function (e) {
21189
21293
  var _this = this;
21190
21294
  if (this.isUploading) {
@@ -21245,23 +21349,12 @@
21245
21349
  event.stopPropagation();
21246
21350
  };
21247
21351
  UploadOverlayComponent.prototype.onFilesDropped = function (fileItems) {
21248
- var e_1, _a;
21249
21352
  var _this = this;
21250
21353
  // clear queue when new files are added
21251
21354
  // todo: remove in future releases to support collective file adding
21252
21355
  this.queue = [];
21253
- try {
21254
- for (var fileItems_1 = __values(fileItems), fileItems_1_1 = fileItems_1.next(); !fileItems_1_1.done; fileItems_1_1 = fileItems_1.next()) {
21255
- var file = fileItems_1_1.value;
21256
- this.queue.push(new i1.UploadFileItem(file));
21257
- }
21258
- }
21259
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
21260
- finally {
21261
- try {
21262
- if (fileItems_1_1 && !fileItems_1_1.done && (_a = fileItems_1.return)) _a.call(fileItems_1);
21263
- }
21264
- finally { if (e_1) throw e_1.error; }
21356
+ for (var i = 0; i < fileItems.length; i++) {
21357
+ this.queue.push(new i1.UploadFileItem(fileItems.item(i)));
21265
21358
  }
21266
21359
  // bind ESC key listener for closing the dialog as late as possible
21267
21360
  if (!this.escKeyListener) {
@@ -21443,7 +21536,7 @@
21443
21536
  this.resetSelectedUploadTarget();
21444
21537
  };
21445
21538
  UploadOverlayComponent.prototype.setQueueSize = function () {
21446
- var e_2, _a;
21539
+ var e_1, _a;
21447
21540
  var s = 0;
21448
21541
  try {
21449
21542
  for (var _b = __values(this.queue), _c = _b.next(); !_c.done; _c = _b.next()) {
@@ -21451,12 +21544,12 @@
21451
21544
  s += f.size;
21452
21545
  }
21453
21546
  }
21454
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
21547
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
21455
21548
  finally {
21456
21549
  try {
21457
21550
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
21458
21551
  }
21459
- finally { if (e_2) throw e_2.error; }
21552
+ finally { if (e_1) throw e_1.error; }
21460
21553
  }
21461
21554
  this.queueSize = s;
21462
21555
  };
@@ -21500,7 +21593,15 @@
21500
21593
  * @returns number of files
21501
21594
  */
21502
21595
  UploadOverlayComponent.prototype.dragContainsFiles = function (event) {
21503
- return Array.from(event.dataTransfer.items || []).filter(function (i) { return i.kind === 'file' && i.type; }).length;
21596
+ return Array.from(event.dataTransfer.items || []).filter(function (i) { return i.kind === 'file'; }).length;
21597
+ };
21598
+ /**
21599
+ * Indicates whether or not the current paste event contains one or more files.
21600
+ * @param event - the paste event to be checked
21601
+ * @returns number of files
21602
+ */
21603
+ UploadOverlayComponent.prototype.pasteContainsFiles = function (event) {
21604
+ return Array.from(event.clipboardData.items || []).filter(function (i) { return i.kind === 'file'; }).length;
21504
21605
  };
21505
21606
  // ngFor tracking function for upload targets
21506
21607
  UploadOverlayComponent.prototype.targetTrackByFn = function (index, item) {
@@ -22521,7 +22622,7 @@
22521
22622
  ProcessHistoryComponent.decorators = [
22522
22623
  { type: i0.Component, args: [{
22523
22624
  selector: 'eo-process-history',
22524
- template: "<div class=\"process-history\">\r\n\r\n <div class=\"filter\">\r\n <div class=\"input\" [ngClass]=\"{inactive: !history?.length}\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"></eo-icon>\r\n <input type=\"text\" [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"filterterm\">\r\n\r\n </div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"filterterm = null\" *ngIf=\"filterterm\"></eo-icon>\r\n </div>\r\n\r\n\r\n <ng-template #empty>\r\n <eo-error-message [emptyState]=\"{icon: 'ic_no-file.svg', text: 'eo.timeline.empty', className: 'history empty'}\"></eo-error-message>\r\n </ng-template>\r\n\r\n\r\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\r\n\r\n <div class=\"timeline-entry\"\r\n *ngFor=\"let entry of history | historyFilter:filterterm; trackBy: trackByIndex\"\r\n [ngClass]=\"{user: entry.editor, error: entry.type === 'error' || entry?.errorType}\">\r\n\r\n <div class=\"when\">\r\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\r\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\r\n </div>\r\n <div class=\"marker\">\r\n <img *ngIf=\"entry.editor\"\r\n title=\"{{entry.editor.lastname}}, {{entry.editor.firstname}} ({{entry.editor.name}})\"\r\n [src]=\"entry.data?.image\">\r\n </div>\r\n <div class=\"what\">\r\n <div class=\"title\">{{'eo.process.details.history.entry.type.' + entry.type + '.title'|translate}}</div>\r\n\r\n <div class=\"description\" *ngIf=\"entry.data?.periodFireTime && entry.type === 'deadline_start'\">\r\n <div class=\"deadline-fire\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_timer.svg'\"></eo-icon>\r\n <span>{{entry.data.periodFireTime | localeDate}}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"meta\" *ngIf=\"entry.performer?.length\">\r\n <span *ngFor=\"let p of entry.performer; trackBy: trackByIndex\">\r\n {{p.label}}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
22625
+ template: "<div class=\"process-history\">\r\n\r\n <div class=\"filter\">\r\n <div class=\"input\" [ngClass]=\"{inactive: !history?.length}\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"></eo-icon>\r\n <input type=\"text\" [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"filterterm\">\r\n\r\n </div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"filterterm = null\" *ngIf=\"filterterm\"></eo-icon>\r\n </div>\r\n\r\n\r\n <ng-template #empty>\r\n <eo-error-message [emptyState]=\"{icon: 'ic_no-file.svg', text: 'eo.timeline.empty', className: 'history empty'}\"></eo-error-message>\r\n </ng-template>\r\n\r\n\r\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\r\n\r\n <div class=\"timeline-entry\"\r\n *ngFor=\"let entry of history | historyFilter:filterterm; trackBy: trackByIndex\"\r\n [ngClass]=\"{user: entry.editor, error: entry.type === 'error' || entry?.errorType}\">\r\n\r\n <div class=\"when\">\r\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\r\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\r\n </div>\r\n <div class=\"marker\">\r\n <img *ngIf=\"entry.editor\"\r\n title=\"{{entry.editor.lastname}}, {{entry.editor.firstname}} ({{entry.editor.name}})\"\r\n [src]=\"entry.data?.image\">\r\n </div>\r\n <div class=\"what\">\r\n <div class=\"title\">{{'eo.process.details.history.entry.type.' + entry.type + '.title'|translate}}</div>\r\n\r\n <div class=\"description\" *ngIf=\"entry.data?.periodFireTime && entry.type === 'DEADLINE_START'; else description\">\r\n <div class=\"deadline-fire\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_timer.svg'\"></eo-icon>\r\n <span>{{entry.data.periodFireTime | localeDate}}</span>\r\n </div>\r\n </div>\r\n <ng-template #description>\r\n <div class=\"description\">\r\n {{entry.description}}\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"meta\" *ngIf=\"entry.performer?.length\">\r\n <span *ngFor=\"let p of entry.performer; trackBy: trackByIndex\">\r\n {{p.label}}\r\n </span>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n",
22525
22626
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
22526
22627
  styles: [":host .process-history{display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .filter{background-color:var(--panel-background-lightgrey);border-bottom:1px solid var(--main-background);display:flex;flex:1;flex:0 0 auto;flex-direction:row;justify-content:space-between;min-height:0;min-width:0}:host .filter .input{background-color:var(--color-white);border:1px solid var(--main-background);display:flex;flex-flow:row nowrap;margin:calc(var(--app-pane-padding)/2);padding:2px 2px 2px 0}:host .filter .input.inactive{opacity:.5;pointer-events:none}:host .filter .input input{background-color:transparent;border:0}:host .filter .input eo-icon{margin:0 calc(var(--app-pane-padding)/4)}:host .filter .input eo-icon,:host .filter>eo-icon{align-self:center;color:var(--text-color-hint);height:16px;width:16px}:host .filter>eo-icon{box-sizing:content-box;cursor:pointer;flex:0 0 auto;padding:calc(var(--app-pane-padding)/2)}:host .timeline-entry.user img{border:2px solid var(--text-color-hint);border-radius:50%;height:30px;width:30px;z-index:1}:host .timeline-entry.user .marker:before{display:none}:host .timeline-entry .what{padding-bottom:0;width:66%}:host .timeline-entry .what .deadline-fire{align-items:center;display:flex;padding-bottom:4px}:host .timeline-entry .what .description{color:var(--text-color-body)}.deadline-fire :host .timeline-entry .what .description{align-items:center;display:flex;flex-flow:row nowrap}.deadline-fire :host .timeline-entry .what .description eo-icon{color:var(--text-color-hint);height:18px;width:18px}.deadline-fire :host .timeline-entry .what .description span{padding:0 calc(var(--app-pane-padding)/4)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding)/4)}:host .timeline-entry .what .meta span{background-color:rgba(var(--color-black-rgb),.08);border-radius:2px;display:block;font-size:var(--font-caption);margin:0 calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/4) 0;padding:2px 4px}:host .timeline-entry.error .what .title{color:var(--color-error)}:host .timeline-entry.error .marker:before{align-items:center;border-color:var(--color-error);border-width:4px;color:var(--color-error);content:\"!\";display:flex;flex-flow:column;font-weight:var(--font-weight-bold);justify-content:center}"]
22527
22628
  },] }
@@ -22874,9 +22975,9 @@
22874
22975
  ProcessFileComponent.decorators = [
22875
22976
  { type: i0.Component, args: [{
22876
22977
  selector: 'eo-process-file',
22877
- template: " <div class=\"process-files\" *ngIf=\"processFile.length; else noFile\">\r\n\r\n\r\n <!-- section for adding new items to the work items attachments -->\r\n <div class=\"content-paste\"\r\n *ngIf=\"permissions.add && clipboard?.elements.length && !hasAlreadyAllCopiedFiles()\"\r\n (click)=\"addFromClipboard()\"\r\n [ngClass]=\"{disabled: isDisabled}\"\r\n >\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_content_paste.svg'\"></eo-icon>\r\n <span class=\"label ct\" translate>eo.process.file.add.label</span>\r\n </div>\r\n\r\n <!-- list of files attached to the work item -->\r\n <div class=\"file-item\"\r\n *ngFor=\"let file of processFile; trackBy: trackByIndex\"\r\n [ngClass]=\"{selected: file.id === selectedContentFileId}\"\r\n (dblclick)=\"openWorkItemContentInContext(file, $event)\"\r\n (click)=\"openWorkItemContent(file)\">\r\n\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\r\n <div>\r\n <div class=\"title\">{{file.title}}</div>\r\n <div class=\"description\">{{file.description}}</div>\r\n </div>\r\n <eo-icon class=\"button\"\r\n *ngIf=\"editable && permissions.remove\"\r\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n (click)=\"removeWorkItemContent(file, $event)\">\r\n </eo-icon>\r\n </div>\r\n\r\n</div>\r\n\r\n<!-- no files attached to the work item -->\r\n<ng-template #noFile>\r\n <div class=\"no-file\">\r\n <!-- section for adding new items to the work items attachments -->\r\n <div class=\"content-paste\"\r\n *ngIf=\"permissions.add && clipboard?.elements.length\"\r\n (click)=\"addFromClipboard()\"\r\n [ngClass]=\"{disabled: isDisabled}\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_content_paste.svg'\"></eo-icon>\r\n <span class=\"label ct\" translate>eo.process.file.add.label</span>\r\n </div>\r\n <div class=\"eo-error-message-wrapper\">\r\n <eo-error-message [emptyState]=\"{icon: 'ic_no-file.svg', text: 'eo.process.file.empty.label', className: 'no-files history empty'}\">\r\n </eo-error-message>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n",
22978
+ template: " <div class=\"process-files\" *ngIf=\"processFile.length; else noFile\">\r\n\r\n\r\n <!-- section for adding new items to the work items attachments -->\r\n <div class=\"content-paste\"\r\n *ngIf=\"permissions.add && clipboard?.elements.length && !hasAlreadyAllCopiedFiles()\"\r\n (click)=\"addFromClipboard()\"\r\n [ngClass]=\"{disabled: isDisabled}\"\r\n >\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_content_paste.svg'\"></eo-icon>\r\n <span class=\"label ct\" translate>eo.process.file.add.label</span>\r\n </div>\r\n\r\n <!-- list of files attached to the work item -->\r\n <div class=\"file-item\"\r\n *ngFor=\"let file of processFile; trackBy: trackByIndex\"\r\n [ngClass]=\"{selected: file.id === selectedContentFileId}\"\r\n (dblclick)=\"openWorkItemContentInContext(file, $event)\"\r\n (click)=\"openWorkItemContent(file)\">\r\n\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\r\n <div>\r\n <div *ngIf=\"file.title; else tplNoTitle\" class=\"title\">{{file.title}}</div>\r\n <ng-template #tplNoTitle>\r\n <div class=\"title no-dms-object\" translate>eo.bpm.dmsobject.notavailable</div>\r\n </ng-template>\r\n <div class=\"description\">{{file.description}}</div>\r\n </div>\r\n <eo-icon class=\"button\"\r\n *ngIf=\"editable && permissions.remove\"\r\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n (click)=\"removeWorkItemContent(file, $event)\">\r\n </eo-icon>\r\n </div>\r\n\r\n</div>\r\n\r\n<!-- no files attached to the work item -->\r\n<ng-template #noFile>\r\n <div class=\"no-file\">\r\n <!-- section for adding new items to the work items attachments -->\r\n <div class=\"content-paste\"\r\n *ngIf=\"permissions.add && clipboard?.elements.length\"\r\n (click)=\"addFromClipboard()\"\r\n [ngClass]=\"{disabled: isDisabled}\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_content_paste.svg'\"></eo-icon>\r\n <span class=\"label ct\" translate>eo.process.file.add.label</span>\r\n </div>\r\n <div class=\"eo-error-message-wrapper\">\r\n <eo-error-message [emptyState]=\"{icon: 'ic_no-file.svg', text: 'eo.process.file.empty.label', className: 'no-files history empty'}\">\r\n </eo-error-message>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n",
22878
22979
  animations: [],
22879
- styles: [":host{height:100%;width:100%}:host .content-paste{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;cursor:pointer;display:flex;flex:0 0 auto;flex-flow:row nowrap;margin:0 0 var(--app-pane-padding) 0;padding:calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/4);transition:all var(--app-default-transition-duration) ease-in-out}:host .content-paste eo-icon{-moz-transition:none;-o-transition:none;-webkit-transition:none;transition:none}:host .content-paste .label,:host .content-paste eo-icon{margin:0 calc(var(--app-pane-padding)/4)}:host .content-paste.disabled{cursor:default;opacity:.5;pointer-events:none}:host .content-paste:not(.disabled):hover{background-color:var(--color-accent);color:var(--color-white)}.process-files{display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0}.process-files .file-item{-webkit-animation:eoFadeIn .5s;align-items:center;animation:eoFadeIn .5s;background-color:var(--color-white);border-left:calc(var(--app-pane-padding)/4) solid transparent;cursor:pointer;display:flex;flex:0 0 auto;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding)/4);padding:var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding) 0}.process-files .file-item>div{flex:1 1 auto}.process-files .file-item>div .title{font-weight:700}.process-files .file-item eo-icon{flex:0 0 auto;margin:0 var(--app-pane-padding)}.process-files .file-item eo-icon.button{box-sizing:border-box;color:var(--text-color-hint);margin:0;padding:0}.process-files .file-item.selected{border-color:var(--color-accent);cursor:default}.no-file{height:100%}.no-file .eo-error-message-wrapper{bottom:0;left:0;position:absolute;right:0;top:56px}"]
22980
+ styles: [":host{height:100%;width:100%}:host .content-paste{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;cursor:pointer;display:flex;flex:0 0 auto;flex-flow:row nowrap;margin:0 0 var(--app-pane-padding) 0;padding:calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/4);transition:all var(--app-default-transition-duration) ease-in-out}:host .content-paste eo-icon{-moz-transition:none;-o-transition:none;-webkit-transition:none;transition:none}:host .content-paste .label,:host .content-paste eo-icon{margin:0 calc(var(--app-pane-padding)/4)}:host .content-paste.disabled{cursor:default;opacity:.5;pointer-events:none}:host .content-paste:not(.disabled):hover{background-color:var(--color-accent);color:var(--color-white)}.process-files{display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0}.process-files .file-item{-webkit-animation:eoFadeIn .5s;align-items:center;animation:eoFadeIn .5s;background-color:var(--color-white);border-left:calc(var(--app-pane-padding)/4) solid transparent;cursor:pointer;display:flex;flex:0 0 auto;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding)/4);padding:var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding) 0}.process-files .file-item>div{flex:1 1 auto}.process-files .file-item>div .title{font-weight:700}.process-files .file-item eo-icon{flex:0 0 auto;margin:0 var(--app-pane-padding)}.process-files .file-item eo-icon.button{box-sizing:border-box;color:var(--text-color-hint);margin:0;padding:0}.process-files .file-item.selected{border-color:var(--color-accent);cursor:default}.no-file{height:100%}.no-file .eo-error-message-wrapper{bottom:0;left:0;position:absolute;right:0;top:56px}.no-dms-object{color:var(--color-error)}"]
22880
22981
  },] }
22881
22982
  ];
22882
22983
  ProcessFileComponent.ctorParameters = function () { return [
@@ -23163,7 +23264,7 @@
23163
23264
  _this.eventService
23164
23265
  .on(i1.EnaioEvent.DMS_OBJECT_UPDATED)
23165
23266
  .pipe(operators.takeUntil(_this.componentDestroyed$))
23166
- .subscribe(function (event) { return _this.onFocus(event.data, true); });
23267
+ .subscribe(function (event) { return _this.onFocus(event.data); });
23167
23268
  _this.eventService
23168
23269
  .on(i1.EnaioEvent.DMS_OBJECT_DELETED)
23169
23270
  .pipe(operators.takeUntil(_this.componentDestroyed$))
@@ -23201,12 +23302,15 @@
23201
23302
  enumerable: false,
23202
23303
  configurable: true
23203
23304
  });
23204
- ObjectStateDetailsComponent.prototype.onFocus = function (item, force) {
23205
- if (force === void 0) { force = false; }
23305
+ ObjectStateDetailsComponent.prototype.onFocus = function (item) {
23306
+ var _a, _b;
23206
23307
  this.selectedItem = item;
23207
- if (item && item.id !== this.context.id && (force || !this.lastSeenTab || !this.lastSeenTab.selected)) {
23308
+ if (item && item.id !== this.context.id) {
23309
+ var notSeenTab = !this.lastSeenTab || !this.lastSeenTab.selected;
23310
+ var notModified = ((_b = (_a = this.seenItems.find(function (i) { return i.id === item.id; })) === null || _a === void 0 ? void 0 : _a.modified) === null || _b === void 0 ? void 0 : _b.on) === item.modified.on;
23208
23311
  var id = item.id, typeName = item.typeName, title = item.title, description = item.description, modified = item.modified;
23209
- this.onRemove(item, [{ id: id, type: typeName, title: title, description: description, modified: modified }]);
23312
+ if (notSeenTab || !notModified)
23313
+ this.onRemove(item, [{ id: id, type: typeName, title: title, description: description, modified: modified }]);
23210
23314
  }
23211
23315
  };
23212
23316
  ObjectStateDetailsComponent.prototype.onRemove = function (item, seen) {
@@ -24120,10 +24224,10 @@
24120
24224
  this.http = http;
24121
24225
  this.userService = userService;
24122
24226
  this.config = config;
24123
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.0.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": "6.0.0-beta.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" }];
24227
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.0.0-rc.4", "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": "6.0.0-beta.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" }];
24124
24228
  this.ctrl = {
24125
24229
  productName: 'yuuvis® RAD client',
24126
- clientVersion: '8.0.0-rc.1'
24230
+ clientVersion: '8.0.0-rc.4'
24127
24231
  };
24128
24232
  this.licenses = {
24129
24233
  'MIT': {