@eo-sdk/client 11.5.0-rc.2 → 11.6.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-framework/actions/actions/custom-actions/custom-actions.component.d.ts.map +1 -1
  3. package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts.map +1 -1
  4. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +1 -1
  5. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  6. package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -0
  7. package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
  8. package/app/eo-framework/grid/grid.component.d.ts +7 -0
  9. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  10. package/app/eo-framework/media/media.component.d.ts +3 -2
  11. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  12. package/app/eo-framework/object-details/object-details.component.d.ts +13 -4
  13. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  14. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +3 -2
  15. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  16. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  17. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +50 -0
  18. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  19. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts +10 -0
  20. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts.map +1 -0
  21. package/app/eo-framework-core/search/app-search.service.d.ts +12 -1
  22. package/app/eo-framework-core/search/app-search.service.d.ts.map +1 -1
  23. package/assets/_default/i18n/de.json +5 -3
  24. package/assets/_default/i18n/en.json +10 -8
  25. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  26. package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -1
  27. package/esm2022/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +2 -2
  28. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +18 -4
  29. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +25 -16
  30. package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +3 -3
  31. package/esm2022/app/eo-framework/grid/grid.component.mjs +36 -10
  32. package/esm2022/app/eo-framework/media/media.component.mjs +8 -4
  33. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +30 -15
  34. package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +11 -6
  35. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
  36. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +1 -1
  37. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +1 -1
  38. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +7 -2
  39. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
  40. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +138 -5
  41. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.mjs +2 -0
  42. package/esm2022/app/eo-framework-core/api/grid.service.mjs +3 -3
  43. package/esm2022/app/eo-framework-core/search/app-search.service.mjs +25 -4
  44. package/fesm2022/eo-sdk-client.mjs +303 -746
  45. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  46. package/misc/scripts/copy-client-assets.js +1 -1
  47. package/package.json +3 -3
  48. package/proxy.config.js +13 -0
  49. package/scss/_migrationTemp.scss +1 -0
  50. package/styles.css +1 -0
  51. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +0 -13
  52. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +0 -1
  53. package/app/eo-framework/grid/row-grouping/group-stage.d.ts +0 -45
  54. package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +0 -1
  55. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +0 -8
  56. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +0 -1
  57. package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +0 -50
  58. package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -623
  59. package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +0 -8
  60. package/proxy.config.json +0 -97
@@ -5,12 +5,13 @@ import { DecimalPipe, PercentPipe, CurrencyPipe, DatePipe, getLocaleDateTimeForm
5
5
  import * as i2 from '@angular/common/http';
6
6
  import { HttpResponse, HttpErrorResponse, HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, HttpHeaders } from '@angular/common/http';
7
7
  import { ReplaySubject, BehaviorSubject, from, forkJoin, of, Subject, fromEvent, firstValueFrom, AsyncSubject, tap as tap$1, Observable, debounceTime as debounceTime$1, EMPTY, map as map$2, skip, switchMap as switchMap$1, catchError as catchError$1 } from 'rxjs';
8
- import { groupBy, mergeMap, reduce, tap, catchError, map, debounceTime, throttleTime, filter as filter$1, switchMap, take as take$1, combineLatest, finalize, pluck, withLatestFrom, first as first$1 } from 'rxjs/operators';
8
+ import { groupBy, mergeMap, reduce, tap, catchError, map, debounceTime, throttleTime, filter as filter$1, switchMap, take as take$1, delay, combineLatest, finalize, pluck, withLatestFrom, first as first$1 } from 'rxjs/operators';
9
9
  import * as i1 from '@eo-sdk/core';
10
10
  import { SearchQuery, SearchState, EnaioEvent, Utils, CORE_CONFIG, UploadTarget, DmsObject, EnvironmentEnaio, SearchFilter, RangeValue, AuthService, Logger, NotificationsService, TranslateService, EoError, SearchService, InboxItem, Process, PreparedItem, WorkItem, StoredQuery, ClipboardAction, QueryScope, EoSharedModule, FieldDefinition, SubscriptionMode, TranslateModule, UploadFileItem, StoredQueriesService, SortOption, SearchResult } from '@eo-sdk/core';
11
+ import * as i4 from '@ngx-translate/core';
11
12
  import * as i2$1 from '@angular/router';
12
13
  import { NavigationStart, Router, RouterModule, NavigationEnd } from '@angular/router';
13
- import { NumberFilter, _, BeanStub, RowNode, Autowired, Bean, ModuleNames, PopupService, SimpleFilter } from '@ag-grid-community/core';
14
+ import { NumberFilter, _, PopupService, SimpleFilter } from '@ag-grid-community/core';
14
15
  import { __decorate } from 'tslib';
15
16
  import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
16
17
  import { isNaN as isNaN$1, assign, bind, camelCase, capitalize, ceil, chunk, clone, cloneDeep, concat, debounce, each, endsWith, entries, escape, every, extend, filter, find, findIndex, findKey, first, flatMap, floor, forEach, forOwn, get, groupBy as groupBy$1, has, includes, indexOf, isArray, isDate, isEmpty, isNumber, isObject, isString, join, keys, map as map$1, orderBy, reduce as reduce$1, remove, replace, reverse, round, set, slice, some, sortBy, split, startsWith, sum, take, uniqBy, values } from 'lodash-es';
@@ -19,7 +20,6 @@ import * as i1$3 from '@angular/forms';
19
20
  import { Validators, UntypedFormControl, UntypedFormGroup, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgModel, FormsModule, ReactiveFormsModule, FormGroup, FormControl, NgForm } from '@angular/forms';
20
21
  import * as i12 from '@yuuvis/components/tabs';
21
22
  import { YvcTabsModule, Tabs, YvcTabDirective } from '@yuuvis/components/tabs';
22
- import * as i4 from '@ngx-translate/core';
23
23
  import { CdkPortalOutlet } from '@angular/cdk/portal';
24
24
  import * as i2$2 from '@yuuvis/components/overlay';
25
25
  import { YvcOverlayModule } from '@yuuvis/components/overlay';
@@ -70,10 +70,11 @@ import { WidgetGridUtils, YuvWidgetGridModule } from '@yuuvis/widget-grid';
70
70
  * stay in touch with updates to the query.
71
71
  */
72
72
  class AppSearchService {
73
- constructor(searchService, eventService, system) {
73
+ constructor(searchService, eventService, system, translate) {
74
74
  this.searchService = searchService;
75
75
  this.eventService = eventService;
76
76
  this.system = system;
77
+ this.translate = translate;
77
78
  this.query = new SearchQuery();
78
79
  this.lastQuery = new SearchQuery();
79
80
  this.queryState = new SearchState();
@@ -102,6 +103,8 @@ class AppSearchService {
102
103
  // These groups are provided through the services `objectTypeGroups` property.
103
104
  this.system.system$.subscribe((systemDefinition) => {
104
105
  this.typesAllowedUnderSysroot = systemDefinition.types.filter(type => type.parenttypes.includes('sysroot'));
106
+ // translates labels for 'sysdmscontenttemplate' object types.
107
+ this.typesAllowedUnderSysroot = this.updateSysDmsContentTemplateLabel(systemDefinition.types);
105
108
  let groups = [];
106
109
  from(systemDefinition.types)
107
110
  .pipe(groupBy((type) => type.group || '0'), mergeMap(g => g.pipe(reduce((acc, curr) => [...acc, curr], []))))
@@ -438,12 +441,29 @@ class AppSearchService {
438
441
  }
439
442
  return match;
440
443
  }
441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchService, deps: [{ token: i1.SearchService }, { token: i1.EventService }, { token: i1.SystemService }], target: i0.ɵɵFactoryTarget.Injectable }); }
444
+ /**
445
+ * Updates the label of `sysdmscontenttemplate` object types using translations.
446
+ *
447
+ * This method is useful for ensuring that the displayed labels for these object types are localized.
448
+ *
449
+ * @param {ObjectType[]} types - An array of object types to update.
450
+ * @returns {ObjectType[]} The updated array of object types with translated labels for `sysdmscontenttemplate` types.
451
+ */
452
+ updateSysDmsContentTemplateLabel(types) {
453
+ return types.map((type) => {
454
+ if (type.qname === 'sysdmscontenttemplate') {
455
+ type.actualLabel = type.actualLabel || type.label;
456
+ type.label = this.translate.instant(`eo.type.label.${type.actualLabel.toLowerCase()}`);
457
+ }
458
+ return type;
459
+ });
460
+ }
461
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchService, deps: [{ token: i1.SearchService }, { token: i1.EventService }, { token: i1.SystemService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
442
462
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchService }); }
443
463
  }
444
464
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchService, decorators: [{
445
465
  type: Injectable
446
- }], ctorParameters: () => [{ type: i1.SearchService }, { type: i1.EventService }, { type: i1.SystemService }] });
466
+ }], ctorParameters: () => [{ type: i1.SearchService }, { type: i1.EventService }, { type: i1.SystemService }, { type: i4.TranslateService }] });
447
467
 
448
468
  var agentConfigKeys;
449
469
  (function (agentConfigKeys) {
@@ -1620,7 +1640,7 @@ class GridService {
1620
1640
  copyToClipboard(event, grid, gridOptions) {
1621
1641
  event.preventDefault();
1622
1642
  event.stopPropagation();
1623
- const viewport = grid.api['gridBodyCtrl'].bodyScrollFeature.centerRowContainerCtrl.eViewport;
1643
+ const viewport = grid.api['gridBodyCtrl'].bodyScrollFeature.centerRowsCtrl.eViewport;
1624
1644
  const scrollLeft = viewport.scrollLeft;
1625
1645
  const focusedCell = grid.api.getFocusedCell();
1626
1646
  const rows = event.shiftKey ? grid.api.getSelectedNodes() : [grid.api.getDisplayedRowAtIndex(focusedCell.rowIndex)];
@@ -1807,7 +1827,7 @@ class GridService {
1807
1827
  colDef.sortable = false;
1808
1828
  }
1809
1829
  if (!resultField.searchable) {
1810
- colDef.suppressMenu = true;
1830
+ colDef.suppressHeaderMenuButton = true;
1811
1831
  colDef.filter = false;
1812
1832
  }
1813
1833
  let sortField = sortFields.find(f => f.qname === resultField.qname);
@@ -6050,32 +6070,41 @@ class OrganizationComponent {
6050
6070
  this.onDataMetaChanged.emit(this.innerValue);
6051
6071
  }
6052
6072
  autocompleteFn(term) {
6053
- if (term.length >= this.minLength || term === this.wildCard) {
6054
- if (this.multiselect || (!this.multiselect && this.innerValue.length === 0)) {
6055
- this.backend.getJson(this.buildAutocompleteUri(term))
6056
- .subscribe((res) => {
6057
- // autocomplete values should be unique and not part of the exceptions
6058
- this.autocompleteRes = res.filter(v => (!this.value || this.value.indexOf(v.name) === -1) && this.exceptions.indexOf(v.name) === -1 && (!this.removeCurrentUser || this.currentUserId !== v.id))
6059
- .sort(Utils.sortValues('title')).slice(0, 10);
6060
- }, Utils.throw(null, this.translate.instant('eo.form.property.organization.request.error.title'), this.translate.instant('eo.form.property.organization.request.error.msg')));
6073
+ clearTimeout(this.autocompleteTimeout);
6074
+ this.autocompleteTimeout = setTimeout(() => {
6075
+ if (term.length >= this.minLength || term === this.wildCard) {
6076
+ if (this.multiselect || (!this.multiselect && this.innerValue.length === 0)) {
6077
+ this.backend.getJson(this.buildAutocompleteUri(term))
6078
+ .subscribe((res) => {
6079
+ // autocomplete values should be unique and not part of the exceptions
6080
+ this.autocompleteRes = res.filter(v => (!this.value || this.value.indexOf(v.name) === -1) && this.exceptions.indexOf(v.name) === -1 && (!this.removeCurrentUser || this.currentUserId !== v.id))
6081
+ .sort(Utils.sortValues('title')).slice(0, 10);
6082
+ }, Utils.throw(null, this.translate.instant('eo.form.property.organization.request.error.title'), this.translate.instant('eo.form.property.organization.request.error.msg')));
6083
+ }
6084
+ else {
6085
+ this.autocompleteRes = [];
6086
+ }
6061
6087
  }
6062
6088
  else {
6063
6089
  this.autocompleteRes = [];
6064
6090
  }
6065
- }
6066
- else {
6067
- this.autocompleteRes = [];
6068
- }
6091
+ }, 1000);
6069
6092
  }
6070
6093
  resolveFn(value) {
6071
6094
  let map = (value instanceof Array ? value : [value]).map(v => {
6072
6095
  let match = this.innerValue.find(iv => iv.name === v);
6073
6096
  return match ? of(match) : this.systemService.getOrganizationObject(v);
6074
6097
  });
6075
- return forkJoin(map).subscribe(data => {
6076
- this.innerValue = data;
6098
+ if (map.length === 0) {
6099
+ this.innerValue = [];
6077
6100
  this.onValueResolved.emit(this.innerValue);
6078
- });
6101
+ }
6102
+ else {
6103
+ return forkJoin(map).subscribe(data => {
6104
+ this.innerValue = data;
6105
+ this.onValueResolved.emit(this.innerValue);
6106
+ });
6107
+ }
6079
6108
  }
6080
6109
  // handle selection changes to the model
6081
6110
  onUnselect(value) {
@@ -7878,6 +7907,7 @@ let MediaComponent = class MediaComponent {
7878
7907
  this.popoutWindowConfig = undefined;
7879
7908
  }
7880
7909
  this._setPopoutWindowConfig(!file);
7910
+ this.hasContentLoaded.emit(true);
7881
7911
  }
7882
7912
  set dmsObject(item) {
7883
7913
  this._dmsObject = item;
@@ -7915,6 +7945,7 @@ let MediaComponent = class MediaComponent {
7915
7945
  this.attachments = [];
7916
7946
  this.customConfig = [];
7917
7947
  this.popoutTriggerPosition = PopoutTriggerPosition.BOTTOM_RIGHT;
7948
+ this.hasContentLoaded = new EventEmitter();
7918
7949
  this.defaultViewers = [
7919
7950
  {
7920
7951
  "mimeType": ["application/json", "text/json", "text/plain", "text/xml", "text/java", "text/javascript", "application/javascript", "text/html", "text/markdown", "text/x-web-markdown", "text/x-markdown"],
@@ -8163,7 +8194,7 @@ let MediaComponent = class MediaComponent {
8163
8194
  ngOnDestroy() {
8164
8195
  }
8165
8196
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MediaComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i0.Renderer2 }, { token: i1.SystemService }, { token: i1.Config }, { token: PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
8166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: MediaComponent, selector: "eo-media", inputs: { undockDisabled: "undockDisabled", enableCloseBtn: "enableCloseBtn", useVersion: "useVersion", setAttachments: ["attachments", "setAttachments"], setSearchTerm: ["searchTerm", "setSearchTerm"], previewUri: "previewUri", previewFile: "previewFile", dmsObject: "dmsObject" }, host: { properties: { "class.open": "this.open" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true, static: true }], ngImport: i0, template: "<div [hidden]=\"!open\">\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\"\n [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\" (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <yvc-popout\n [popoutWindowConfig]=\"popoutWindowConfig\"\n [triggerPosition]=\"popoutTriggerPosition\" [triggerTooltip]=\"('eo.object.details.content.undock'| translate)\" [disabled]=\"undockDisabled\">\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"loader-overlay__mask\" *ngIf=\"loading\">\n <eo-loading-spinner class=\"iframe__loader\"></eo-loading-spinner>\n </div>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n </yvc-popout>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n", styles: [":host>div{height:100%}:host ::ng-deep .popoutWrapper{height:100%}:host ::ng-deep .popoutWrapper button.trigger{z-index:100}:host ::ng-deep .popoutWrapper button.trigger .yvc-icon{width:100%;height:100%}:host .empty-container{display:flex;justify-content:center;align-items:center;height:100%}:host .empty-container .nofile{width:128px;height:128px;opacity:.09}:host .preview-container{position:absolute;inset:0;overflow:hidden}:host .preview-container .slide{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;align-items:center;justify-content:center}:host .preview-container .slide .large-content{position:absolute;top:0;cursor:pointer;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;justify-content:center;width:100%;padding:var(--app-pane-padding);color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.5)}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{width:128px;height:128px;opacity:.2}:host .attachments{position:absolute;z-index:5;color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.6);right:calc(var(--app-pane-padding) / 2);bottom:calc(var(--app-pane-padding) * 3.2);display:flex;flex-flow:row;align-items:flex-end;border-radius:2px;max-width:calc(100% - 16px)}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding) / 2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;max-height:150px;padding:calc(var(--app-pane-padding) / 2);flex-flow:wrap}:host .attachments .attachments-list .attachment{border-radius:4px;background-color:rgba(var(--color-white-rgb),.1);padding:calc(var(--app-pane-padding) / 4);margin:calc(var(--app-pane-padding) / 8);cursor:pointer;border:1px solid rgba(var(--color-white-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);order:100;flex:1 1 100%}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{background-color:rgba(var(--color-primary-rgb),.9);align-items:center;bottom:calc(var(--app-pane-padding) / .3)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .iframe__loader{margin:auto}::ng-deep button.trigger{bottom:4%!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7$1.PopoutComponent, selector: "yvc-popout", inputs: ["triggerPosition", "triggerIconSVG", "triggerTooltip", "popoutWindowConfig", "disabled"], outputs: ["popOut", "popIn"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
8197
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: MediaComponent, selector: "eo-media", inputs: { undockDisabled: "undockDisabled", enableCloseBtn: "enableCloseBtn", useVersion: "useVersion", setAttachments: ["attachments", "setAttachments"], setSearchTerm: ["searchTerm", "setSearchTerm"], previewUri: "previewUri", previewFile: "previewFile", dmsObject: "dmsObject" }, outputs: { hasContentLoaded: "hasContentLoaded" }, host: { properties: { "class.open": "this.open" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true, static: true }], ngImport: i0, template: "<div [hidden]=\"!open\">\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\"\n [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\" (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <yvc-popout\n [popoutWindowConfig]=\"popoutWindowConfig\"\n [triggerPosition]=\"popoutTriggerPosition\" [triggerTooltip]=\"('eo.object.details.content.undock'| translate)\" [disabled]=\"undockDisabled\">\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"loader-overlay__mask\" *ngIf=\"loading\">\n <eo-loading-spinner class=\"iframe__loader\"></eo-loading-spinner>\n </div>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n </yvc-popout>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n", styles: [":host>div{height:100%}:host ::ng-deep .popoutWrapper{height:100%}:host ::ng-deep .popoutWrapper button.trigger{z-index:100}:host ::ng-deep .popoutWrapper button.trigger .yvc-icon{width:100%;height:100%}:host .empty-container{display:flex;justify-content:center;align-items:center;height:100%}:host .empty-container .nofile{width:128px;height:128px;opacity:.09}:host .preview-container{position:absolute;inset:0;overflow:hidden}:host .preview-container .slide{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;align-items:center;justify-content:center}:host .preview-container .slide .large-content{position:absolute;top:0;cursor:pointer;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;justify-content:center;width:100%;padding:var(--app-pane-padding);color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.5)}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{width:128px;height:128px;opacity:.2}:host .attachments{position:absolute;z-index:5;color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.6);right:calc(var(--app-pane-padding) / 2);bottom:calc(var(--app-pane-padding) * 3.2);display:flex;flex-flow:row;align-items:flex-end;border-radius:2px;max-width:calc(100% - 16px)}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding) / 2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;max-height:150px;padding:calc(var(--app-pane-padding) / 2);flex-flow:wrap}:host .attachments .attachments-list .attachment{border-radius:4px;background-color:rgba(var(--color-white-rgb),.1);padding:calc(var(--app-pane-padding) / 4);margin:calc(var(--app-pane-padding) / 8);cursor:pointer;border:1px solid rgba(var(--color-white-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);order:100;flex:1 1 100%}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{background-color:rgba(var(--color-primary-rgb),.9);align-items:center;bottom:calc(var(--app-pane-padding) / .3)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .iframe__loader{margin:auto}::ng-deep button.trigger{bottom:4%!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7$1.PopoutComponent, selector: "yvc-popout", inputs: ["triggerPosition", "triggerIconSVG", "triggerTooltip", "popoutWindowConfig", "disabled"], outputs: ["popOut", "popIn"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
8167
8198
  };
8168
8199
  MediaComponent = MediaComponent_1 = __decorate([
8169
8200
  UntilDestroy()
@@ -8171,7 +8202,9 @@ MediaComponent = MediaComponent_1 = __decorate([
8171
8202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MediaComponent, decorators: [{
8172
8203
  type: Component,
8173
8204
  args: [{ selector: 'eo-media', providers: [ContentPreviewService], template: "<div [hidden]=\"!open\">\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\"\n [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\" (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <yvc-popout\n [popoutWindowConfig]=\"popoutWindowConfig\"\n [triggerPosition]=\"popoutTriggerPosition\" [triggerTooltip]=\"('eo.object.details.content.undock'| translate)\" [disabled]=\"undockDisabled\">\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"loader-overlay__mask\" *ngIf=\"loading\">\n <eo-loading-spinner class=\"iframe__loader\"></eo-loading-spinner>\n </div>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n </yvc-popout>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n", styles: [":host>div{height:100%}:host ::ng-deep .popoutWrapper{height:100%}:host ::ng-deep .popoutWrapper button.trigger{z-index:100}:host ::ng-deep .popoutWrapper button.trigger .yvc-icon{width:100%;height:100%}:host .empty-container{display:flex;justify-content:center;align-items:center;height:100%}:host .empty-container .nofile{width:128px;height:128px;opacity:.09}:host .preview-container{position:absolute;inset:0;overflow:hidden}:host .preview-container .slide{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;align-items:center;justify-content:center}:host .preview-container .slide .large-content{position:absolute;top:0;cursor:pointer;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;justify-content:center;width:100%;padding:var(--app-pane-padding);color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.5)}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{width:128px;height:128px;opacity:.2}:host .attachments{position:absolute;z-index:5;color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.6);right:calc(var(--app-pane-padding) / 2);bottom:calc(var(--app-pane-padding) * 3.2);display:flex;flex-flow:row;align-items:flex-end;border-radius:2px;max-width:calc(100% - 16px)}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding) / 2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;max-height:150px;padding:calc(var(--app-pane-padding) / 2);flex-flow:wrap}:host .attachments .attachments-list .attachment{border-radius:4px;background-color:rgba(var(--color-white-rgb),.1);padding:calc(var(--app-pane-padding) / 4);margin:calc(var(--app-pane-padding) / 8);cursor:pointer;border:1px solid rgba(var(--color-white-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);order:100;flex:1 1 100%}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{background-color:rgba(var(--color-primary-rgb),.9);align-items:center;bottom:calc(var(--app-pane-padding) / .3)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .iframe__loader{margin:auto}::ng-deep button.trigger{bottom:4%!important}\n"] }]
8174
- }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i0.Renderer2 }, { type: i1.SystemService }, { type: i1.Config }, { type: PluginsService }], propDecorators: { undockDisabled: [{
8205
+ }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i0.Renderer2 }, { type: i1.SystemService }, { type: i1.Config }, { type: PluginsService }], propDecorators: { hasContentLoaded: [{
8206
+ type: Output
8207
+ }], undockDisabled: [{
8175
8208
  type: Input
8176
8209
  }], enableCloseBtn: [{
8177
8210
  type: Input
@@ -8564,7 +8597,7 @@ let FormElementTableComponent = class FormElementTableComponent {
8564
8597
  let col = this.gridApi.getColumnDefinition(el);
8565
8598
  Object.assign(col, {
8566
8599
  headerName: el.label,
8567
- suppressMenu: true,
8600
+ suppressHeaderMenuButton: true,
8568
8601
  filter: false,
8569
8602
  sortable: true,
8570
8603
  resizable: true,
@@ -8972,7 +9005,7 @@ let FormElementTableComponent = class FormElementTableComponent {
8972
9005
  useExisting: forwardRef(() => FormElementTableComponent),
8973
9006
  multi: true,
8974
9007
  }
8975
- ], viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }, { propertyName: "overlayGrid", first: true, predicate: ["overlayGrid"], descendants: true }, { propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"object-form-table-header\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_export.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon *ngIf=\"!_params.element.readonly\" class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_import.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.upload'| translate)\" (click)=\"file.click()\"></eo-icon>\n <input type=\"file\" accept=\".csv\" style=\"display:none;\" #file (change)=\"importCSV($event.target)\"\n (click)=\"$event.target.value = null\">\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" [width]=\"_params.situation !== 'SEARCH' ? '95vw' : 500\"\n [height]=\"height\" [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\"\n [hasPreviewFile]=\"hasPreviewFile\" [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n <yvc-split-view (layoutSettingsChange)=\"onLayoutSettingsChange($event)\">\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[0].size\" [visible]=\"_params.situation !== 'SEARCH'\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"object-form-table-header\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #overlayGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\" (cellClicked)=\"onCellClickedRowEdit($event)\"\n (mousedown)=\"onMouseDown($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[1].size\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions?.rowData?.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[2].size\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\" [dmsObject]=\"params.object\"></eo-media>\n </ng-template>\n </yvc-split-view>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"('eo.form.table.csv.import.report.title' | translate)\" [visible]=\"showImportReportDialog\"\n (hide)=\"cancelImportReport()\" [styleClass]=\"'import-report__dialog'\">\n <div class=\"body\">\n <h4 translate [translateParams]=\"{readRows: mappedRows.length}\">eo.form.table.csv.import.report.readRows</h4>\n <div *ngIf=\"mappingErrorFields.length !== 0\" class=\"flex-col\">\n <h4 translate>eo.form.table.csv.import.report.errors</h4>\n <table>\n <thead>\n <tr>\n <th translate>eo.form.table.csv.import.report.errors.row</th>\n <th translate>eo.form.table.csv.import.report.errors.csvColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.tableColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.value</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let error of mappingErrorFields; let i = index\">\n <tr>\n <td>{{error.row + 1}}</td>\n <td>{{error.uploadedName}}</td>\n <td>{{error.technicalName}}</td>\n <td>{{error.value}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"actions\">\n <button (click)=\"cancelImportReport()\" class=\"button-cancel\" translate>eo.cta.button.cancel</button>\n <button (click)=\"addImportValuesToTable()\" class=\"primary\" translate>eo.form.table.csv.import.report.import</button>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}: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{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{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{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}: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{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}: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{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}: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{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;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);border-bottom:0}:host .object-form-table-header span{display:block;flex:1 1 auto}:host .object-form-table-header eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}::ng-deep .import-report__dialog{padding:8px;min-height:unset!important;overflow:hidden}::ng-deep .import-report__dialog .body{overflow:auto}::ng-deep .import-report__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .import-report__dialog td,::ng-deep .import-report__dialog th{border:1px solid #dddddd;text-align:left;padding:8px}::ng-deep .import-report__dialog .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .import-report__dialog .actions button{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
9008
+ ], viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }, { propertyName: "overlayGrid", first: true, predicate: ["overlayGrid"], descendants: true }, { propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"object-form-table-header\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_export.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon *ngIf=\"!_params.element.readonly\" class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_import.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.upload'| translate)\" (click)=\"file.click()\"></eo-icon>\n <input type=\"file\" accept=\".csv\" style=\"display:none;\" #file (change)=\"importCSV($event.target)\"\n (click)=\"$event.target.value = null\">\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" [width]=\"_params.situation !== 'SEARCH' ? '95vw' : 500\"\n [height]=\"height\" [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\"\n [hasPreviewFile]=\"hasPreviewFile\" [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n <yvc-split-view (layoutSettingsChange)=\"onLayoutSettingsChange($event)\">\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[0].size\" [visible]=\"_params.situation !== 'SEARCH'\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"object-form-table-header\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #overlayGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\" (cellClicked)=\"onCellClickedRowEdit($event)\"\n (mousedown)=\"onMouseDown($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[1].size\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions?.rowData?.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[2].size\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\" [dmsObject]=\"params.object\"></eo-media>\n </ng-template>\n </yvc-split-view>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"('eo.form.table.csv.import.report.title' | translate)\" [visible]=\"showImportReportDialog\"\n (hide)=\"cancelImportReport()\" [styleClass]=\"'import-report__dialog'\">\n <div class=\"body\">\n <h4 translate [translateParams]=\"{readRows: mappedRows.length}\">eo.form.table.csv.import.report.readRows</h4>\n <div *ngIf=\"mappingErrorFields.length !== 0\" class=\"flex-col\">\n <h4 translate>eo.form.table.csv.import.report.errors</h4>\n <table>\n <thead>\n <tr>\n <th translate>eo.form.table.csv.import.report.errors.row</th>\n <th translate>eo.form.table.csv.import.report.errors.csvColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.tableColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.value</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let error of mappingErrorFields; let i = index\">\n <tr>\n <td>{{error.row + 1}}</td>\n <td>{{error.uploadedName}}</td>\n <td>{{error.technicalName}}</td>\n <td>{{error.value}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"actions\">\n <button (click)=\"cancelImportReport()\" class=\"button-cancel\" translate>eo.cta.button.cancel</button>\n <button (click)=\"addImportValuesToTable()\" class=\"primary\" translate>eo.form.table.csv.import.report.import</button>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}: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{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{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{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}: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{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}: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{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}: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{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;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);border-bottom:0}:host .object-form-table-header span{display:block;flex:1 1 auto}:host .object-form-table-header eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}::ng-deep .import-report__dialog{padding:8px;min-height:unset!important;overflow:hidden}::ng-deep .import-report__dialog .body{overflow:auto}::ng-deep .import-report__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .import-report__dialog td,::ng-deep .import-report__dialog th{border:1px solid #dddddd;text-align:left;padding:8px}::ng-deep .import-report__dialog .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .import-report__dialog .actions button{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"], outputs: ["hasContentLoaded"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
8976
9009
  };
8977
9010
  FormElementTableComponent = __decorate([
8978
9011
  UntilDestroy()
@@ -9438,6 +9471,7 @@ class CustomActionsComponent extends DmsObjectTarget {
9438
9471
  const executableFkt = new Function('scope, callback', this._action.isexecutable + '\n;//# sourceURL=' + this._action.id + '.isexecutable.js');
9439
9472
  try {
9440
9473
  executableFkt(scope, (isExecutable) => resolve(isExecutable));
9474
+ return resolve(true);
9441
9475
  }
9442
9476
  catch (error) {
9443
9477
  this.toast.error(`${this.translate.instant('eo.action.menu.custom.error.message')}: ${error}`);
@@ -9502,7 +9536,7 @@ class SimpleWorkflowActionComponent extends DmsObjectTarget {
9502
9536
  this.translate = translate;
9503
9537
  this.bpmService = bpmService;
9504
9538
  this.priority = 0;
9505
- this.iconSrc = 'assets/_default/svg/ic_play.svg';
9539
+ this.iconSrc = 'assets/_default/svg/ic_bpm.svg';
9506
9540
  this.group = 'further';
9507
9541
  this.range = SelectionRange.SINGLE_SELECT;
9508
9542
  }
@@ -10097,11 +10131,11 @@ class IndexdataSummaryEntryComponent {
10097
10131
  this.value2 = this.showDiff && v?.val2;
10098
10132
  }
10099
10133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: IndexdataSummaryEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: IndexdataSummaryEntryComponent, selector: "eo-indexdata-summary-entry", inputs: { label: "label", item: "item", value: "value", className: "className" }, outputs: { onValueClicked: "onValueClicked" }, ngImport: i0, template: "<div [class]=\"className || ''\" [ngClass]=\"classes(value1, value2)\" *ngIf=\"showDiff || !isEmpty(value1)\">\n <span class=\"label\">{{label}}</span>\n <span class=\"value inner first\" [innerHTML]=\"value1 | safeHtml\" (click)=\"onValueClicked.emit($event)\"></span>\n <span class=\"value inner second\" [innerHTML]=\"value2 | safeHtml\" (click)=\"onValueClicked.emit($event)\" *ngIf=\"showDiff\"></span>\n</div>", styles: [":host{display:block}:host .entry{margin:0 calc(var(--app-pane-padding) / -4) 2px;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .entry.diffActive{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .entry.diffActive .label{margin-right:var(--app-pane-padding)}[dir=rtl] :host .entry.diffActive .label{margin-left:var(--app-pane-padding);margin-right:var(--app-pane-padding)}:host .entry.diffActive .value{margin:0;padding:calc(var(--app-pane-padding) / 2);align-items:center;border:1px solid rgba(0,0,0,.1);background-color:#fff}:host .entry.diffActive .value.first{border-radius:2px 0 0 2px;padding-right:var(--app-pane-padding)}:host .entry.diffActive .value.second{border-radius:0 2px 2px 0;padding-left:var(--app-pane-padding)}:host .entry.diffActive .value:before{display:block;position:absolute;left:calc(var(--app-pane-padding) / 2 * -1);top:calc(50% - var(--app-pane-padding) / 2);width:var(--app-pane-padding);height:var(--app-pane-padding);background-color:var(--color-primary-3);background-position:center center;background-repeat:no-repeat;border-radius:2px}:host .entry.diffActive.new .value.first{display:none}:host .entry.diffActive.new .value.second{border-color:#9abd1e}:host .entry.diffActive.new .value.second:before{content:\"\";background-color:#9abd1e;background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjAyRTUzMTJFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjAyRTUzMTNFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDJFNTMxMEVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDJFNTMxMUVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIQjANwi8qWWJoT0rria5ufAgA7)}:host .entry.diffActive.modified .value.second{border-left:0}:host .entry.diffActive.modified .value.second:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBCNzE3QTRFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBCNzE3QTVFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEI3MTdBMkVGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEI3MTdBM0VGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIRDIKWwMjnmpETvmjbrbyrlRQAOw==)}:host .entry.diffActive.removed .value.first{border-color:#ed5564;padding-left:var(--app-pane-padding)}:host .entry.diffActive.removed .value.first:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFDMTY4MUZFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFDMTY4MjBFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQUMxNjgxREVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQUMxNjgxRUVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIMjI+pe+DvDISsWlQAADs=);background-color:#ed5564}:host .entry.diffActive.removed .value.second{display:none}:host .entry .label{flex-basis:30%;flex-shrink:0;background-color:var(--color-primary-3);color:var(--color-white);padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4);border-radius:2px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:normal}:host .baseparams-section .label,:host .storageinfo-subentry .label{background-color:var(--color-white);color:var(--text-color-caption)}:host .value{flex-basis:70%;position:relative;flex-grow:1;flex-shrink:1;border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4)}:host .value:not(.inner){white-space:pre-wrap}:host .value.version{cursor:pointer;color:inherit;text-decoration:none;margin:0 5px}:host .value.version:hover{color:var(--color-white)}:host .storageinfo-subentry{display:flex;margin-bottom:2px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
10134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: IndexdataSummaryEntryComponent, selector: "eo-indexdata-summary-entry", inputs: { label: "label", item: "item", value: "value", className: "className" }, outputs: { onValueClicked: "onValueClicked" }, ngImport: i0, template: "<div [class]=\"className || ''\" [ngClass]=\"classes(value1, value2)\" *ngIf=\"showDiff || !isEmpty(value1)\">\n <span class=\"label\">{{label}}</span>\n <span class=\"value inner first\" [innerHTML]=\"value1 | safeHtml\" (click)=\"onValueClicked.emit($event)\"></span>\n <span class=\"value inner second\" [innerHTML]=\"value2 | safeHtml\" (click)=\"onValueClicked.emit($event)\" *ngIf=\"showDiff\"></span>\n</div>", styles: [":host{display:block}:host .entry{margin:0 calc(var(--app-pane-padding) / -4) 2px;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .entry.diffActive{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .entry.diffActive .label{margin-right:var(--app-pane-padding);align-content:center}[dir=rtl] :host .entry.diffActive .label{margin-left:var(--app-pane-padding);margin-right:var(--app-pane-padding)}:host .entry.diffActive .value{margin:0;padding:calc(var(--app-pane-padding) / 2);align-items:center;border:1px solid rgba(0,0,0,.1);background-color:#fff}:host .entry.diffActive .value.first{border-radius:2px 0 0 2px;padding-right:var(--app-pane-padding)}:host .entry.diffActive .value.second{border-radius:0 2px 2px 0;padding-left:var(--app-pane-padding)}:host .entry.diffActive .value:before{display:block;position:absolute;left:calc(var(--app-pane-padding) / 2 * -1);top:calc(50% - var(--app-pane-padding) / 2);width:var(--app-pane-padding);height:var(--app-pane-padding);background-color:var(--color-primary-3);background-position:center center;background-repeat:no-repeat;border-radius:2px}:host .entry.diffActive.new .value.first{display:none}:host .entry.diffActive.new .value.second{border-color:#9abd1e}:host .entry.diffActive.new .value.second:before{content:\"\";background-color:#9abd1e;background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjAyRTUzMTJFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjAyRTUzMTNFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDJFNTMxMEVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDJFNTMxMUVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIQjANwi8qWWJoT0rria5ufAgA7)}:host .entry.diffActive.modified .value.second{border-left:0}:host .entry.diffActive.modified .value.second:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBCNzE3QTRFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBCNzE3QTVFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEI3MTdBMkVGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEI3MTdBM0VGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIRDIKWwMjnmpETvmjbrbyrlRQAOw==)}:host .entry.diffActive.removed .value.first{border-color:#ed5564;padding-left:var(--app-pane-padding)}:host .entry.diffActive.removed .value.first:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFDMTY4MUZFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFDMTY4MjBFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQUMxNjgxREVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQUMxNjgxRUVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIMjI+pe+DvDISsWlQAADs=);background-color:#ed5564}:host .entry.diffActive.removed .value.second{display:none}:host .entry .label{flex-basis:30%;flex-shrink:0;background-color:var(--color-primary-3);color:var(--color-white);padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4);border-radius:2px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:normal}:host .baseparams-section .label,:host .storageinfo-subentry .label{background-color:var(--color-white);color:var(--text-color-caption)}:host .value{flex-basis:70%;position:relative;flex-grow:1;flex-shrink:1;border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4)}:host .value:not(.inner){white-space:pre-wrap}:host .value.version{cursor:pointer;color:inherit;text-decoration:none;margin:0 5px}:host .value.version:hover{color:var(--color-white)}:host .storageinfo-subentry{display:flex;margin-bottom:2px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
10101
10135
  }
10102
10136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: IndexdataSummaryEntryComponent, decorators: [{
10103
10137
  type: Component,
10104
- args: [{ selector: 'eo-indexdata-summary-entry', template: "<div [class]=\"className || ''\" [ngClass]=\"classes(value1, value2)\" *ngIf=\"showDiff || !isEmpty(value1)\">\n <span class=\"label\">{{label}}</span>\n <span class=\"value inner first\" [innerHTML]=\"value1 | safeHtml\" (click)=\"onValueClicked.emit($event)\"></span>\n <span class=\"value inner second\" [innerHTML]=\"value2 | safeHtml\" (click)=\"onValueClicked.emit($event)\" *ngIf=\"showDiff\"></span>\n</div>", styles: [":host{display:block}:host .entry{margin:0 calc(var(--app-pane-padding) / -4) 2px;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .entry.diffActive{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .entry.diffActive .label{margin-right:var(--app-pane-padding)}[dir=rtl] :host .entry.diffActive .label{margin-left:var(--app-pane-padding);margin-right:var(--app-pane-padding)}:host .entry.diffActive .value{margin:0;padding:calc(var(--app-pane-padding) / 2);align-items:center;border:1px solid rgba(0,0,0,.1);background-color:#fff}:host .entry.diffActive .value.first{border-radius:2px 0 0 2px;padding-right:var(--app-pane-padding)}:host .entry.diffActive .value.second{border-radius:0 2px 2px 0;padding-left:var(--app-pane-padding)}:host .entry.diffActive .value:before{display:block;position:absolute;left:calc(var(--app-pane-padding) / 2 * -1);top:calc(50% - var(--app-pane-padding) / 2);width:var(--app-pane-padding);height:var(--app-pane-padding);background-color:var(--color-primary-3);background-position:center center;background-repeat:no-repeat;border-radius:2px}:host .entry.diffActive.new .value.first{display:none}:host .entry.diffActive.new .value.second{border-color:#9abd1e}:host .entry.diffActive.new .value.second:before{content:\"\";background-color:#9abd1e;background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjAyRTUzMTJFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjAyRTUzMTNFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDJFNTMxMEVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDJFNTMxMUVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIQjANwi8qWWJoT0rria5ufAgA7)}:host .entry.diffActive.modified .value.second{border-left:0}:host .entry.diffActive.modified .value.second:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBCNzE3QTRFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBCNzE3QTVFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEI3MTdBMkVGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEI3MTdBM0VGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIRDIKWwMjnmpETvmjbrbyrlRQAOw==)}:host .entry.diffActive.removed .value.first{border-color:#ed5564;padding-left:var(--app-pane-padding)}:host .entry.diffActive.removed .value.first:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFDMTY4MUZFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFDMTY4MjBFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQUMxNjgxREVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQUMxNjgxRUVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIMjI+pe+DvDISsWlQAADs=);background-color:#ed5564}:host .entry.diffActive.removed .value.second{display:none}:host .entry .label{flex-basis:30%;flex-shrink:0;background-color:var(--color-primary-3);color:var(--color-white);padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4);border-radius:2px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:normal}:host .baseparams-section .label,:host .storageinfo-subentry .label{background-color:var(--color-white);color:var(--text-color-caption)}:host .value{flex-basis:70%;position:relative;flex-grow:1;flex-shrink:1;border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4)}:host .value:not(.inner){white-space:pre-wrap}:host .value.version{cursor:pointer;color:inherit;text-decoration:none;margin:0 5px}:host .value.version:hover{color:var(--color-white)}:host .storageinfo-subentry{display:flex;margin-bottom:2px}\n"] }]
10138
+ args: [{ selector: 'eo-indexdata-summary-entry', template: "<div [class]=\"className || ''\" [ngClass]=\"classes(value1, value2)\" *ngIf=\"showDiff || !isEmpty(value1)\">\n <span class=\"label\">{{label}}</span>\n <span class=\"value inner first\" [innerHTML]=\"value1 | safeHtml\" (click)=\"onValueClicked.emit($event)\"></span>\n <span class=\"value inner second\" [innerHTML]=\"value2 | safeHtml\" (click)=\"onValueClicked.emit($event)\" *ngIf=\"showDiff\"></span>\n</div>", styles: [":host{display:block}:host .entry{margin:0 calc(var(--app-pane-padding) / -4) 2px;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .entry.diffActive{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .entry.diffActive .label{margin-right:var(--app-pane-padding);align-content:center}[dir=rtl] :host .entry.diffActive .label{margin-left:var(--app-pane-padding);margin-right:var(--app-pane-padding)}:host .entry.diffActive .value{margin:0;padding:calc(var(--app-pane-padding) / 2);align-items:center;border:1px solid rgba(0,0,0,.1);background-color:#fff}:host .entry.diffActive .value.first{border-radius:2px 0 0 2px;padding-right:var(--app-pane-padding)}:host .entry.diffActive .value.second{border-radius:0 2px 2px 0;padding-left:var(--app-pane-padding)}:host .entry.diffActive .value:before{display:block;position:absolute;left:calc(var(--app-pane-padding) / 2 * -1);top:calc(50% - var(--app-pane-padding) / 2);width:var(--app-pane-padding);height:var(--app-pane-padding);background-color:var(--color-primary-3);background-position:center center;background-repeat:no-repeat;border-radius:2px}:host .entry.diffActive.new .value.first{display:none}:host .entry.diffActive.new .value.second{border-color:#9abd1e}:host .entry.diffActive.new .value.second:before{content:\"\";background-color:#9abd1e;background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjAyRTUzMTJFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjAyRTUzMTNFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDJFNTMxMEVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDJFNTMxMUVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIQjANwi8qWWJoT0rria5ufAgA7)}:host .entry.diffActive.modified .value.second{border-left:0}:host .entry.diffActive.modified .value.second:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBCNzE3QTRFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBCNzE3QTVFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEI3MTdBMkVGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEI3MTdBM0VGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIRDIKWwMjnmpETvmjbrbyrlRQAOw==)}:host .entry.diffActive.removed .value.first{border-color:#ed5564;padding-left:var(--app-pane-padding)}:host .entry.diffActive.removed .value.first:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFDMTY4MUZFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFDMTY4MjBFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQUMxNjgxREVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQUMxNjgxRUVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIMjI+pe+DvDISsWlQAADs=);background-color:#ed5564}:host .entry.diffActive.removed .value.second{display:none}:host .entry .label{flex-basis:30%;flex-shrink:0;background-color:var(--color-primary-3);color:var(--color-white);padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4);border-radius:2px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:normal}:host .baseparams-section .label,:host .storageinfo-subentry .label{background-color:var(--color-white);color:var(--text-color-caption)}:host .value{flex-basis:70%;position:relative;flex-grow:1;flex-shrink:1;border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4)}:host .value:not(.inner){white-space:pre-wrap}:host .value.version{cursor:pointer;color:inherit;text-decoration:none;margin:0 5px}:host .value.version:hover{color:var(--color-white)}:host .storageinfo-subentry{display:flex;margin-bottom:2px}\n"] }]
10105
10139
  }], propDecorators: { label: [{
10106
10140
  type: Input
10107
10141
  }], item: [{
@@ -10144,10 +10178,9 @@ let IndexdataSummaryComponent = class IndexdataSummaryComponent {
10144
10178
  const coreValues = this.processIndexData(indexdata, 0, true)
10145
10179
  .map(({ label, _value, qname, reference }) => ({ label, reference, _value: diffValue(_value, coreValues2[qname]._value) }))
10146
10180
  .filter(v => v._value);
10147
- const dataValues2 = this.processIndexData(indexdata2, 1, true).reduce((acc, cur) => (acc[cur.qname] = cur, acc), {});
10148
- const dataValues = this.processIndexData(indexdata, 1, true)
10149
- .map(({ label, _value, qname, reference }) => ({ label, reference, _value: diffValue(_value, dataValues2[qname]._value) }))
10150
- .filter(v => v._value);
10181
+ const indexDataArrayDetails = this.getIndexDataArrayDetails(indexdata);
10182
+ const indexData2ArrayDetails = this.getIndexDataArrayDetails(indexdata2);
10183
+ const dataValues = this.extractDataValuesWithDifferences(indexDataArrayDetails, indexData2ArrayDetails);
10151
10184
  this.coreValues = coreValues;
10152
10185
  this.dataValues = dataValues;
10153
10186
  this.moreInfoAcc = !!dataValues.length;
@@ -10189,6 +10222,140 @@ let IndexdataSummaryComponent = class IndexdataSummaryComponent {
10189
10222
  this.emptyState = false;
10190
10223
  this.enableVersions = true;
10191
10224
  this.isChangesTab = false;
10225
+ /**
10226
+ * Compares two values deeply to determine if they are equivalent.
10227
+ *
10228
+ * This function performs a deep comparison between two values to determine if they are equivalent.
10229
+ * It compares objects recursively, including their enumerable properties.
10230
+ *
10231
+ * @param {any} val1 - The first value to compare.
10232
+ * @param {any} val2 - The second value to compare.
10233
+ * @returns {boolean} - Returns `true` if the values are deeply equal, otherwise `false`.
10234
+ */
10235
+ this.compareContentValueEquality = (val1, val2) => {
10236
+ if (val1 === val2)
10237
+ return true;
10238
+ if (typeof val1 !== 'object' || typeof val2 !== 'object' || val1 == null || val2 == null)
10239
+ return false;
10240
+ const val1keys = Object.keys(val1);
10241
+ const val2keys = Object.keys(val2);
10242
+ if (val1keys.length !== val2keys.length)
10243
+ return false;
10244
+ for (const key of val1keys) {
10245
+ if (!val2keys.includes(key) || !this.compareContentValueEquality(val1[key], val2[key]))
10246
+ return false;
10247
+ }
10248
+ return true;
10249
+ };
10250
+ /**
10251
+ * Compares two values and returns a summary of their differences.
10252
+ * If the values are arrays, it compares their lengths and, if equal, their contents.
10253
+ * For non-array values, it checks for equality or if either is considered "empty" by a utility function.
10254
+ *
10255
+ * @param val1 The first value to compare.
10256
+ * @param val2 The second value to compare.
10257
+ * @returns An object with `val1` and `val2` properties representing the differences, or `null` if no differences are found.
10258
+ * For arrays, the differences are the count of differing items or the difference in lengths.
10259
+ * For other values, it returns the values themselves if they differ, or an empty string for "empty" values.
10260
+ * Returns `null` if the values are equal or both "empty".
10261
+ */
10262
+ this.getDataValueDifferences = (val1, val2) => {
10263
+ if (Array.isArray(val1) && Array.isArray(val2)) {
10264
+ const length1 = val1.length;
10265
+ const length2 = val2.length;
10266
+ if (length1 !== length2) {
10267
+ return { val1: length1.toString(), val2: length2.toString() };
10268
+ }
10269
+ // Count content differences when lengths are the same
10270
+ let differences = 0;
10271
+ for (let i = 0; i < length1; i++) {
10272
+ if (!this.compareContentValueEquality(val1[i], val2[i])) {
10273
+ differences++;
10274
+ }
10275
+ }
10276
+ if (differences > 0) {
10277
+ return { val1: differences.toString(), val2: differences.toString() };
10278
+ }
10279
+ else {
10280
+ return null;
10281
+ }
10282
+ }
10283
+ const isEmptyVal1 = UtilitiesService.isEmpty(val1);
10284
+ const isEmptyVal2 = UtilitiesService.isEmpty(val2);
10285
+ if (isEmptyVal1 && isEmptyVal2) {
10286
+ return null;
10287
+ }
10288
+ if (val1 !== val2 || isEmptyVal1 || isEmptyVal2) {
10289
+ return { val1: isEmptyVal1 ? "" : val1, val2: isEmptyVal2 ? "" : val2 };
10290
+ }
10291
+ return null;
10292
+ };
10293
+ /**
10294
+ * Extracts properties from an object that are arrays and returns their details.
10295
+ *
10296
+ * @param {Object} data - The object to analyze.
10297
+ * @returns {Array} An array of objects, each representing a property of the input object
10298
+ * that is an array. Each object includes the property name (`label`), the number of elements
10299
+ * in the array (`length`), the array content itself (`content`), and the type of the array (`type`).
10300
+ */
10301
+ this.getIndexDataArrayDetails = (indexData) => {
10302
+ const data = indexData.data;
10303
+ const formElements = indexData.form.elements;
10304
+ // Helper function to find the type of an element by its label
10305
+ const findTypeAndLabelByName = (elements, label) => {
10306
+ for (const element of elements) {
10307
+ if (element.name === label) {
10308
+ return { type: element.type, label: element.label };
10309
+ }
10310
+ if (element.elements && element.elements.length > 0) {
10311
+ const typeLabelInfo = findTypeAndLabelByName(element.elements, label);
10312
+ if (typeLabelInfo) {
10313
+ return typeLabelInfo;
10314
+ }
10315
+ }
10316
+ }
10317
+ return null;
10318
+ };
10319
+ return Object.keys(data)
10320
+ .filter((key) => Array.isArray(data[key]))
10321
+ .map((key) => {
10322
+ const { type, label } = findTypeAndLabelByName(formElements, key);
10323
+ return {
10324
+ label,
10325
+ length: data[key].length,
10326
+ content: data[key],
10327
+ type,
10328
+ };
10329
+ });
10330
+ };
10331
+ /**
10332
+ * Compares the content of two sets of index data array details and extracts the differences.
10333
+ *
10334
+ * This function maps through the first set of index data array details, finds the matching
10335
+ * content from the second set by label, and then calculates the differences between them.
10336
+ * It returns an array of objects with labels and the calculated differences, filtering out
10337
+ * any entries without a difference.
10338
+ *
10339
+ * @param {IndexDataArrayDetail[]} indexDataArrayDetails - The first set of index data array details.
10340
+ * @param {IndexDataArrayDetail[]} indexData2ArrayDetails - The second set of index data array details.
10341
+ * @returns {Array<{label: string, _value: any}>} An array of objects containing labels and their differences.
10342
+ */
10343
+ this.extractDataValuesWithDifferences = (indexDataArrayDetails, indexData2ArrayDetails) => {
10344
+ return indexDataArrayDetails.map(({ label, type, content }) => {
10345
+ const matchingProp = indexData2ArrayDetails.find(prop => prop.label === label);
10346
+ const content2 = matchingProp ? matchingProp.content : [];
10347
+ const newValue = this.getDataValueDifferences(content, content2);
10348
+ if (type === "TABLE" && newValue && newValue.val1 && newValue.val2) {
10349
+ newValue.val1 = "";
10350
+ newValue.val2 = this.translate.instant('eo.indexdata.summary.table.change');
10351
+ }
10352
+ return {
10353
+ label,
10354
+ type,
10355
+ _value: newValue,
10356
+ };
10357
+ }).filter((v) => v._value);
10358
+ };
10192
10359
  }
10193
10360
  onValueClick(event, item = {}) {
10194
10361
  if (item.reference || item.version) {
@@ -11055,681 +11222,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
11055
11222
  }]
11056
11223
  }] });
11057
11224
 
11058
- class BatchRemover {
11059
- constructor() {
11060
- this.allSets = {};
11061
- this.allParents = [];
11062
- }
11063
- removeFromChildrenAfterGroup(parent, child) {
11064
- const set = this.getSet(parent);
11065
- set.removeFromChildrenAfterGroup[child.id] = true;
11066
- }
11067
- isRemoveFromAllLeafChildren(parent, child) {
11068
- const set = this.getSet(parent);
11069
- return !!set.removeFromAllLeafChildren[child.id];
11070
- }
11071
- preventRemoveFromAllLeafChildren(parent, child) {
11072
- const set = this.getSet(parent);
11073
- delete set.removeFromAllLeafChildren[child.id];
11074
- }
11075
- removeFromAllLeafChildren(parent, child) {
11076
- const set = this.getSet(parent);
11077
- set.removeFromAllLeafChildren[child.id] = true;
11078
- }
11079
- getSet(parent) {
11080
- if (!this.allSets[parent.id]) {
11081
- this.allSets[parent.id] = {
11082
- removeFromAllLeafChildren: {},
11083
- removeFromChildrenAfterGroup: {}
11084
- };
11085
- this.allParents.push(parent);
11086
- }
11087
- return this.allSets[parent.id];
11088
- }
11089
- getAllParents() {
11090
- return this.allParents;
11091
- }
11092
- flush() {
11093
- this.allParents.forEach(parent => {
11094
- const nodeDetails = this.allSets[parent.id];
11095
- parent.childrenAfterGroup = parent.childrenAfterGroup.filter(child => !nodeDetails.removeFromChildrenAfterGroup[child.id]);
11096
- parent.allLeafChildren = parent.allLeafChildren.filter(child => !nodeDetails.removeFromAllLeafChildren[child.id]);
11097
- parent.updateHasChildren();
11098
- if (parent.sibling) {
11099
- parent.sibling.childrenAfterGroup = parent.childrenAfterGroup;
11100
- parent.sibling.allLeafChildren = parent.allLeafChildren;
11101
- }
11102
- });
11103
- this.allSets = {};
11104
- this.allParents.length = 0;
11105
- }
11106
- }
11107
-
11108
- let GroupStage = class GroupStage extends BeanStub {
11109
- execute(params) {
11110
- const details = this.createGroupingDetails(params);
11111
- if (details.transactions) {
11112
- this.handleTransaction(details);
11113
- }
11114
- else {
11115
- const afterColsChanged = params.afterColumnsChanged === true;
11116
- this.shotgunResetEverything(details, afterColsChanged);
11117
- }
11118
- if (!details.usingTreeData) {
11119
- // we don't do group sorting for tree data
11120
- this.positionLeafsAndGroups(params.changedPath);
11121
- this.orderGroups(details);
11122
- }
11123
- this.selectableService.updateSelectableAfterGrouping();
11124
- }
11125
- positionLeafsAndGroups(changedPath) {
11126
- changedPath.forEachChangedNodeDepthFirst(group => {
11127
- if (group.childrenAfterGroup) {
11128
- const leafNodes = [];
11129
- const groupNodes = [];
11130
- let unbalancedNode;
11131
- group.childrenAfterGroup.forEach(row => {
11132
- if (!row.childrenAfterGroup?.length) {
11133
- leafNodes.push(row);
11134
- }
11135
- else {
11136
- if (row.key === '' && !unbalancedNode) {
11137
- unbalancedNode = row;
11138
- }
11139
- else {
11140
- groupNodes.push(row);
11141
- }
11142
- }
11143
- });
11144
- if (unbalancedNode) {
11145
- groupNodes.push(unbalancedNode);
11146
- }
11147
- group.childrenAfterGroup = [...leafNodes, ...groupNodes];
11148
- }
11149
- }, false);
11150
- }
11151
- createGroupingDetails(params) {
11152
- const { rowNode, changedPath, rowNodeTransactions, rowNodeOrder } = params;
11153
- const usingTreeData = this.gos.get('treeData');
11154
- const groupedCols = usingTreeData ? null : this.columnModel.getRowGroupColumns();
11155
- const details = {
11156
- // someone complained that the parent attribute was causing some change detection
11157
- // to break in an angular add-on. Taking the parent out breaks a cyclic dependency, hence this flag got introduced.
11158
- includeParents: !this.gos.get('suppressParentsInRowNodes'),
11159
- expandByDefault: this.gos.get('groupDefaultExpanded'),
11160
- groupedCols: groupedCols,
11161
- rootNode: rowNode,
11162
- pivotMode: this.columnModel.isPivotMode(),
11163
- groupedColCount: usingTreeData || !groupedCols ? 0 : groupedCols.length,
11164
- rowNodeOrder: rowNodeOrder,
11165
- transactions: rowNodeTransactions,
11166
- // if no transaction, then it's shotgun, changed path would be 'not active' at this point anyway
11167
- changedPath: changedPath,
11168
- groupAllowUnbalanced: this.gos.get('groupAllowUnbalanced'),
11169
- isGroupOpenByDefault: this.gos.getCallback('isGroupOpenByDefault'),
11170
- initialGroupOrderComparator: this.gos.getCallback('initialGroupOrderComparator'),
11171
- usingTreeData: usingTreeData,
11172
- suppressGroupMaintainValueType: this.gos.get('suppressGroupMaintainValueType'),
11173
- getDataPath: usingTreeData ? this.gos.get('getDataPath') : undefined,
11174
- keyCreators: groupedCols?.map(column => column.getColDef().keyCreator) ?? []
11175
- };
11176
- return details;
11177
- }
11178
- handleTransaction(details) {
11179
- details.transactions.forEach(tran => {
11180
- // we don't allow batch remover for tree data as tree data uses Filler Nodes,
11181
- // and creating/deleting filler nodes needs to be done alongside the node deleting
11182
- // and moving. if we want to Batch Remover working with tree data then would need
11183
- // to consider how Filler Nodes would be impacted (it's possible that it can be easily
11184
- // modified to work, however for now I don't have the brain energy to work it all out).
11185
- const batchRemover = !details.usingTreeData ? new BatchRemover() : undefined;
11186
- // the order here of [add, remove, update] needs to be the same as in ClientSideNodeManager,
11187
- // as the order is important when a record with the same id is added and removed in the same
11188
- // transaction.
11189
- if (_.existsAndNotEmpty(tran.remove)) {
11190
- this.removeNodes(tran.remove, details, batchRemover);
11191
- }
11192
- if (_.existsAndNotEmpty(tran.update)) {
11193
- this.moveNodesInWrongPath(tran.update, details, batchRemover);
11194
- }
11195
- if (_.existsAndNotEmpty(tran.add)) {
11196
- this.insertNodes(tran.add, details, false);
11197
- }
11198
- // must flush here, and not allow another transaction to be applied,
11199
- // as each transaction must finish leaving the data in a consistent state.
11200
- if (batchRemover) {
11201
- const parentsWithChildrenRemoved = batchRemover.getAllParents().slice();
11202
- batchRemover.flush();
11203
- this.removeEmptyGroups(parentsWithChildrenRemoved, details);
11204
- }
11205
- });
11206
- if (details.rowNodeOrder) {
11207
- this.sortChildren(details);
11208
- }
11209
- }
11210
- // this is used when doing delta updates, eg Redux, keeps nodes in right order
11211
- sortChildren(details) {
11212
- details.changedPath.forEachChangedNodeDepthFirst(node => {
11213
- if (!node.childrenAfterGroup) {
11214
- return;
11215
- }
11216
- const didSort = _.sortRowNodesByOrder(node.childrenAfterGroup, details.rowNodeOrder);
11217
- if (didSort) {
11218
- details.changedPath.addParentNode(node);
11219
- }
11220
- }, false, true);
11221
- }
11222
- orderGroups(details) {
11223
- const comparator = details.initialGroupOrderComparator;
11224
- if (_.exists(comparator)) {
11225
- recursiveSort(details.rootNode);
11226
- }
11227
- function recursiveSort(rowNode) {
11228
- const doSort = _.exists(rowNode.childrenAfterGroup) &&
11229
- // we only want to sort groups, so we do not sort leafs (a leaf group has leafs as children)
11230
- !rowNode.leafGroup;
11231
- if (doSort) {
11232
- rowNode.childrenAfterGroup.sort((nodeA, nodeB) => comparator({ nodeA, nodeB }));
11233
- rowNode.childrenAfterGroup.forEach((childNode) => recursiveSort(childNode));
11234
- }
11235
- }
11236
- }
11237
- getExistingPathForNode(node, details) {
11238
- const res = [];
11239
- // when doing tree data, the node is part of the path,
11240
- // but when doing grid grouping, the node is not part of the path so we start with the parent.
11241
- let pointer = details.usingTreeData ? node : node.parent;
11242
- while (pointer && pointer !== details.rootNode) {
11243
- res.push({
11244
- key: pointer.key,
11245
- rowGroupColumn: pointer.rowGroupColumn,
11246
- field: pointer.field
11247
- });
11248
- pointer = pointer.parent;
11249
- }
11250
- res.reverse();
11251
- return res;
11252
- }
11253
- moveNodesInWrongPath(childNodes, details, batchRemover) {
11254
- childNodes.forEach(childNode => {
11255
- // we add node, even if parent has not changed, as the data could have
11256
- // changed, hence aggregations will be wrong
11257
- if (details.changedPath.isActive()) {
11258
- details.changedPath.addParentNode(childNode.parent);
11259
- }
11260
- const infoToKeyMapper = (item) => item.key;
11261
- const oldPath = this.getExistingPathForNode(childNode, details).map(infoToKeyMapper);
11262
- const newPath = this.getGroupInfo(childNode, details).map(infoToKeyMapper);
11263
- const nodeInCorrectPath = _.areEqual(oldPath, newPath);
11264
- if (!nodeInCorrectPath) {
11265
- this.moveNode(childNode, details, batchRemover);
11266
- }
11267
- });
11268
- }
11269
- moveNode(childNode, details, batchRemover) {
11270
- this.removeNodesInStages([childNode], details, batchRemover);
11271
- this.insertOneNode(childNode, details, true, batchRemover);
11272
- // hack - if we didn't do this, then renaming a tree item (ie changing rowNode.key) wouldn't get
11273
- // refreshed into the gui.
11274
- // this is needed to kick off the event that rowComp listens to for refresh. this in turn
11275
- // then will get each cell in the row to refresh - which is what we need as we don't know which
11276
- // columns will be displaying the rowNode.key info.
11277
- childNode.setData(childNode.data);
11278
- // we add both old and new parents to changed path, as both will need to be refreshed.
11279
- // we already added the old parent (in calling method), so just add the new parent here
11280
- if (details.changedPath.isActive()) {
11281
- const newParent = childNode.parent;
11282
- details.changedPath.addParentNode(newParent);
11283
- }
11284
- }
11285
- removeNodes(leafRowNodes, details, batchRemover) {
11286
- this.removeNodesInStages(leafRowNodes, details, batchRemover);
11287
- if (details.changedPath.isActive()) {
11288
- leafRowNodes.forEach(rowNode => details.changedPath.addParentNode(rowNode.parent));
11289
- }
11290
- }
11291
- removeNodesInStages(leafRowNodes, details, batchRemover) {
11292
- this.removeNodesFromParents(leafRowNodes, details, batchRemover);
11293
- if (details.usingTreeData) {
11294
- this.postRemoveCreateFillerNodes(leafRowNodes, details);
11295
- // When not TreeData, then removeEmptyGroups is called just before the BatchRemover is flushed.
11296
- // However for TreeData, there is no BatchRemover, so we have to call removeEmptyGroups here.
11297
- const nodeParents = leafRowNodes.map(n => n.parent);
11298
- this.removeEmptyGroups(nodeParents, details);
11299
- }
11300
- }
11301
- forEachParentGroup(details, group, callback) {
11302
- let pointer = group;
11303
- while (pointer && pointer !== details.rootNode) {
11304
- callback(pointer);
11305
- pointer = pointer.parent;
11306
- }
11307
- }
11308
- removeNodesFromParents(nodesToRemove, details, provided) {
11309
- // this method can be called with BatchRemover as optional. if it is missed, we created a local version
11310
- // and flush it at the end. if one is provided, we add to the provided one and it gets flushed elsewhere.
11311
- const batchRemoverIsLocal = provided == null;
11312
- const batchRemoverToUse = provided ? provided : new BatchRemover();
11313
- nodesToRemove.forEach(nodeToRemove => {
11314
- this.removeFromParent(nodeToRemove, batchRemoverToUse);
11315
- // remove from allLeafChildren. we clear down all parents EXCEPT the Root Node, as
11316
- // the ClientSideNodeManager is responsible for the Root Node.
11317
- this.forEachParentGroup(details, nodeToRemove.parent, parentNode => {
11318
- batchRemoverToUse.removeFromAllLeafChildren(parentNode, nodeToRemove);
11319
- });
11320
- });
11321
- if (batchRemoverIsLocal) {
11322
- batchRemoverToUse.flush();
11323
- }
11324
- }
11325
- postRemoveCreateFillerNodes(nodesToRemove, details) {
11326
- nodesToRemove.forEach(nodeToRemove => {
11327
- // if not group, and children are present, need to move children to a group.
11328
- // otherwise if no children, we can just remove without replacing.
11329
- const replaceWithGroup = nodeToRemove.hasChildren();
11330
- if (replaceWithGroup) {
11331
- const oldPath = this.getExistingPathForNode(nodeToRemove, details);
11332
- // because we just removed the userGroup, this will always return new support group
11333
- const newGroupNode = this.findParentForNode(nodeToRemove, oldPath, details);
11334
- // these properties are the ones that will be incorrect in the newly created group,
11335
- // so copy them from the old childNode
11336
- newGroupNode.expanded = nodeToRemove.expanded;
11337
- newGroupNode.allLeafChildren = nodeToRemove.allLeafChildren;
11338
- newGroupNode.childrenAfterGroup = nodeToRemove.childrenAfterGroup;
11339
- newGroupNode.childrenMapped = nodeToRemove.childrenMapped;
11340
- newGroupNode.updateHasChildren();
11341
- newGroupNode.childrenAfterGroup.forEach(rowNode => rowNode.parent = newGroupNode);
11342
- }
11343
- });
11344
- }
11345
- removeEmptyGroups(possibleEmptyGroups, details) {
11346
- // we do this multiple times, as when we remove groups, that means the parent of just removed
11347
- // group can then be empty. to get around this, if we remove, then we check everything again for
11348
- // newly emptied groups. the max number of times this will execute is the depth of the group tree.
11349
- let checkAgain = true;
11350
- const groupShouldBeRemoved = (rowNode) => {
11351
- // because of the while loop below, it's possible we already moved the node,
11352
- // so double check before trying to remove again.
11353
- const mapKey = this.getChildrenMappedKey(rowNode.key, rowNode.rowGroupColumn);
11354
- const parentRowNode = rowNode.parent;
11355
- const groupAlreadyRemoved = (parentRowNode && parentRowNode.childrenMapped) ?
11356
- !parentRowNode.childrenMapped[mapKey] : true;
11357
- if (groupAlreadyRemoved) {
11358
- // if not linked, then group was already removed
11359
- return false;
11360
- }
11361
- // if still not removed, then we remove if this group is empty
11362
- return !!rowNode.isEmptyRowGroupNode();
11363
- };
11364
- while (checkAgain) {
11365
- checkAgain = false;
11366
- const batchRemover = new BatchRemover();
11367
- possibleEmptyGroups.forEach(possibleEmptyGroup => {
11368
- // remove empty groups
11369
- this.forEachParentGroup(details, possibleEmptyGroup, rowNode => {
11370
- if (groupShouldBeRemoved(rowNode)) {
11371
- checkAgain = true;
11372
- this.removeFromParent(rowNode, batchRemover);
11373
- // we remove selection on filler nodes here, as the selection would not be removed
11374
- // from the RowNodeManager, as filler nodes don't exist on the RowNodeManager
11375
- rowNode.setSelectedParams({ newValue: false, source: 'rowGroupChanged' });
11376
- }
11377
- });
11378
- });
11379
- batchRemover.flush();
11380
- }
11381
- }
11382
- // removes the node from the parent by:
11383
- // a) removing from childrenAfterGroup (using batchRemover if present, otherwise immediately)
11384
- // b) removing from childrenMapped (immediately)
11385
- // c) setRowTop(null) - as the rowRenderer uses this to know the RowNode is no longer needed
11386
- // d) setRowIndex(null) - as the rowNode will no longer be displayed.
11387
- removeFromParent(child, batchRemover) {
11388
- if (child.parent) {
11389
- if (batchRemover) {
11390
- batchRemover.removeFromChildrenAfterGroup(child.parent, child);
11391
- }
11392
- else {
11393
- _.removeFromArray(child.parent.childrenAfterGroup, child);
11394
- child.parent.updateHasChildren();
11395
- }
11396
- }
11397
- const mapKey = this.getChildrenMappedKey(child.key, child.rowGroupColumn);
11398
- if (child.parent && child.parent.childrenMapped) {
11399
- child.parent.childrenMapped[mapKey] = undefined;
11400
- }
11401
- // this is important for transition, see rowComp removeFirstPassFuncs. when doing animation and
11402
- // remove, if rowTop is still present, the rowComp thinks it's just moved position.
11403
- child.setRowTop(null);
11404
- child.setRowIndex(null);
11405
- }
11406
- addToParent(child, parent) {
11407
- const mapKey = this.getChildrenMappedKey(child.key, child.rowGroupColumn);
11408
- if (parent) {
11409
- const children = parent.childrenMapped != null;
11410
- if (children) {
11411
- parent.childrenMapped[mapKey] = child;
11412
- }
11413
- parent.childrenAfterGroup.push(child);
11414
- parent.updateHasChildren();
11415
- }
11416
- }
11417
- areGroupColsEqual(d1, d2) {
11418
- if (d1 == null || d2 == null || d1.pivotMode !== d2.pivotMode) {
11419
- return false;
11420
- }
11421
- return _.areEqual(d1.groupedCols, d2.groupedCols) && _.areEqual(d1.keyCreators, d2.keyCreators);
11422
- }
11423
- checkAllGroupDataAfterColsChanged(details) {
11424
- const recurse = (rowNodes) => {
11425
- if (!rowNodes) {
11426
- return;
11427
- }
11428
- rowNodes.forEach(rowNode => {
11429
- const isLeafNode = !details.usingTreeData && !rowNode.group;
11430
- if (isLeafNode) {
11431
- return;
11432
- }
11433
- const groupInfo = {
11434
- field: rowNode.field,
11435
- key: rowNode.key,
11436
- rowGroupColumn: rowNode.rowGroupColumn,
11437
- leafNode: rowNode.allLeafChildren[0],
11438
- };
11439
- this.setGroupData(rowNode, groupInfo, details);
11440
- recurse(rowNode.childrenAfterGroup);
11441
- });
11442
- };
11443
- recurse(details.rootNode.childrenAfterGroup);
11444
- }
11445
- shotgunResetEverything(details, afterColumnsChanged) {
11446
- if (this.noChangeInGroupingColumns(details, afterColumnsChanged)) {
11447
- return;
11448
- }
11449
- // groups are about to get disposed, so need to deselect any that are selected
11450
- this.selectionService.filterFromSelection((node) => node && !node.group);
11451
- const { rootNode, groupedCols } = details;
11452
- // because we are not creating the root node each time, we have the logic
11453
- // here to change leafGroup once.
11454
- // we set .leafGroup to false for tree data, as .leafGroup is only used when pivoting, and pivoting
11455
- // isn't allowed with treeData, so the grid never actually use .leafGroup when doing treeData.
11456
- rootNode.leafGroup = details.usingTreeData ? false : groupedCols.length === 0;
11457
- // we are doing everything from scratch, so reset childrenAfterGroup and childrenMapped from the rootNode
11458
- rootNode.childrenAfterGroup = [];
11459
- rootNode.childrenMapped = {};
11460
- rootNode.updateHasChildren();
11461
- const sibling = rootNode.sibling;
11462
- if (sibling) {
11463
- sibling.childrenAfterGroup = rootNode.childrenAfterGroup;
11464
- sibling.childrenMapped = rootNode.childrenMapped;
11465
- }
11466
- this.insertNodes(rootNode.allLeafChildren, details, false);
11467
- }
11468
- noChangeInGroupingColumns(details, afterColumnsChanged) {
11469
- let noFurtherProcessingNeeded = false;
11470
- const groupDisplayColumns = this.columnModel.getGroupDisplayColumns();
11471
- const newGroupDisplayColIds = groupDisplayColumns ?
11472
- groupDisplayColumns.map(c => c.getId()).join('-') : '';
11473
- if (afterColumnsChanged) {
11474
- // we only need to redo grouping if doing normal grouping (ie not tree data)
11475
- // and the group cols have changed.
11476
- noFurtherProcessingNeeded = details.usingTreeData || this.areGroupColsEqual(details, this.oldGroupingDetails);
11477
- // if the group display cols have changed, then we need to update rowNode.groupData
11478
- // (regardless of tree data or row grouping)
11479
- if (this.oldGroupDisplayColIds !== newGroupDisplayColIds) {
11480
- this.checkAllGroupDataAfterColsChanged(details);
11481
- }
11482
- }
11483
- this.oldGroupingDetails = details;
11484
- this.oldGroupDisplayColIds = newGroupDisplayColIds;
11485
- return noFurtherProcessingNeeded;
11486
- }
11487
- insertNodes(newRowNodes, details, isMove) {
11488
- newRowNodes.forEach(rowNode => {
11489
- this.insertOneNode(rowNode, details, isMove);
11490
- if (details.changedPath.isActive()) {
11491
- details.changedPath.addParentNode(rowNode.parent);
11492
- }
11493
- });
11494
- }
11495
- insertOneNode(childNode, details, isMove, batchRemover) {
11496
- const path = this.getGroupInfo(childNode, details);
11497
- const parentGroup = this.findParentForNode(childNode, path, details, batchRemover);
11498
- if (!parentGroup.group) {
11499
- console.warn(`AG Grid: duplicate group keys for row data, keys should be unique`, [parentGroup.data, childNode.data]);
11500
- }
11501
- if (details.usingTreeData) {
11502
- this.swapGroupWithUserNode(parentGroup, childNode, isMove);
11503
- }
11504
- else {
11505
- childNode.parent = parentGroup;
11506
- childNode.level = path.length;
11507
- parentGroup.childrenAfterGroup.push(childNode);
11508
- parentGroup.updateHasChildren();
11509
- }
11510
- }
11511
- findParentForNode(childNode, path, details, batchRemover) {
11512
- let nextNode = details.rootNode;
11513
- path.forEach((groupInfo, level) => {
11514
- nextNode = this.getOrCreateNextNode(nextNode, groupInfo, level, details);
11515
- // node gets added to all group nodes.
11516
- // note: we do not add to rootNode here, as the rootNode is the master list of rowNodes
11517
- if (!batchRemover?.isRemoveFromAllLeafChildren(nextNode, childNode)) {
11518
- nextNode.allLeafChildren.push(childNode);
11519
- }
11520
- else {
11521
- // if this node is about to be removed, prevent that
11522
- batchRemover?.preventRemoveFromAllLeafChildren(nextNode, childNode);
11523
- }
11524
- });
11525
- return nextNode;
11526
- }
11527
- swapGroupWithUserNode(fillerGroup, userGroup, isMove) {
11528
- userGroup.parent = fillerGroup.parent;
11529
- userGroup.key = fillerGroup.key;
11530
- userGroup.field = fillerGroup.field;
11531
- userGroup.groupData = fillerGroup.groupData;
11532
- userGroup.level = fillerGroup.level;
11533
- // AG-3441 - preserve the existing expanded status of the node if we're moving it, so that
11534
- // you can drag a sub tree from one parent to another without changing its expansion
11535
- if (!isMove) {
11536
- userGroup.expanded = fillerGroup.expanded;
11537
- }
11538
- // we set .leafGroup to false for tree data, as .leafGroup is only used when pivoting, and pivoting
11539
- // isn't allowed with treeData, so the grid never actually use .leafGroup when doing treeData.
11540
- userGroup.leafGroup = fillerGroup.leafGroup;
11541
- // always null for userGroups, as row grouping is not allowed when doing tree data
11542
- userGroup.rowGroupIndex = fillerGroup.rowGroupIndex;
11543
- userGroup.allLeafChildren = fillerGroup.allLeafChildren;
11544
- userGroup.childrenAfterGroup = fillerGroup.childrenAfterGroup;
11545
- userGroup.childrenMapped = fillerGroup.childrenMapped;
11546
- userGroup.sibling = fillerGroup.sibling;
11547
- userGroup.updateHasChildren();
11548
- this.removeFromParent(fillerGroup);
11549
- userGroup.childrenAfterGroup.forEach((rowNode) => rowNode.parent = userGroup);
11550
- this.addToParent(userGroup, fillerGroup.parent);
11551
- }
11552
- getOrCreateNextNode(parentGroup, groupInfo, level, details) {
11553
- const key = this.getChildrenMappedKey(groupInfo.key, groupInfo.rowGroupColumn);
11554
- let nextNode = parentGroup.childrenMapped ? parentGroup.childrenMapped[key] : undefined;
11555
- if (!nextNode) {
11556
- nextNode = this.createGroup(groupInfo, parentGroup, level, details);
11557
- // attach the new group to the parent
11558
- this.addToParent(nextNode, parentGroup);
11559
- }
11560
- return nextNode;
11561
- }
11562
- createGroup(groupInfo, parent, level, details) {
11563
- const groupNode = new RowNode(this.beans);
11564
- groupNode.group = true;
11565
- groupNode.field = groupInfo.field;
11566
- groupNode.rowGroupColumn = groupInfo.rowGroupColumn;
11567
- this.setGroupData(groupNode, groupInfo, details);
11568
- groupNode.key = groupInfo.key;
11569
- groupNode.id = this.createGroupId(groupNode, parent, details.usingTreeData, level);
11570
- groupNode.level = level;
11571
- groupNode.leafGroup = details.usingTreeData ? false : level === (details.groupedColCount - 1);
11572
- groupNode.allLeafChildren = [];
11573
- // why is this done here? we are not updating the children count as we go,
11574
- // i suspect this is updated in the filter stage
11575
- groupNode.setAllChildrenCount(0);
11576
- groupNode.rowGroupIndex = details.usingTreeData ? null : level;
11577
- groupNode.childrenAfterGroup = [];
11578
- groupNode.childrenMapped = {};
11579
- groupNode.updateHasChildren();
11580
- groupNode.parent = details.includeParents ? parent : null;
11581
- this.setExpandedInitialValue(details, groupNode);
11582
- return groupNode;
11583
- }
11584
- createGroupId(node, parent, usingTreeData, level) {
11585
- let createGroupId;
11586
- if (usingTreeData) {
11587
- createGroupId = (node, parent, level) => {
11588
- if (level < 0) {
11589
- return null;
11590
- } // root node
11591
- const parentId = parent ? createGroupId(parent, parent.parent, level - 1) : null;
11592
- return `${parentId == null ? '' : parentId + '-'}${level}-${node.key}`;
11593
- };
11594
- }
11595
- else {
11596
- createGroupId = (node, parent) => {
11597
- if (!node.rowGroupColumn) {
11598
- return null;
11599
- } // root node
11600
- const parentId = parent ? createGroupId(parent, parent.parent, 0) : null;
11601
- return `${parentId == null ? '' : parentId + '-'}${node.rowGroupColumn.getColId()}-${node.key}`;
11602
- };
11603
- }
11604
- // we put 'row-group-' before the group id, so it doesn't clash with standard row id's. we also use 't-' and 'b-'
11605
- // for top pinned and bottom pinned rows.
11606
- return RowNode.ID_PREFIX_ROW_GROUP + createGroupId(node, parent, level);
11607
- }
11608
- setGroupData(groupNode, groupInfo, details) {
11609
- groupNode.groupData = {};
11610
- const groupDisplayCols = this.columnModel.getGroupDisplayColumns();
11611
- groupDisplayCols.forEach(col => {
11612
- // newGroup.rowGroupColumn=null when working off GroupInfo, and we always display the group in the group column
11613
- // if rowGroupColumn is present, then it's grid row grouping and we only include if configuration says so
11614
- const isTreeData = details.usingTreeData;
11615
- if (isTreeData) {
11616
- groupNode.groupData[col.getColId()] = groupInfo.key;
11617
- return;
11618
- }
11619
- const groupColumn = groupNode.rowGroupColumn;
11620
- const isRowGroupDisplayed = groupColumn !== null && col.isRowGroupDisplayed(groupColumn.getId());
11621
- if (isRowGroupDisplayed) {
11622
- if (details.suppressGroupMaintainValueType) {
11623
- groupNode.groupData[col.getColId()] = groupInfo.key;
11624
- }
11625
- else {
11626
- // if maintain group value type, get the value from any leaf node.
11627
- groupNode.groupData[col.getColId()] = this.valueService.getValue(groupColumn, groupInfo.leafNode);
11628
- }
11629
- }
11630
- });
11631
- }
11632
- getChildrenMappedKey(key, rowGroupColumn) {
11633
- if (rowGroupColumn) {
11634
- // grouping by columns
11635
- return rowGroupColumn.getId() + '-' + key;
11636
- }
11637
- // tree data - we don't have rowGroupColumns
11638
- return key;
11639
- }
11640
- setExpandedInitialValue(details, groupNode) {
11641
- // if pivoting the leaf group is never expanded as we do not show leaf rows
11642
- if (details.pivotMode && groupNode.leafGroup) {
11643
- groupNode.expanded = false;
11644
- return;
11645
- }
11646
- // use callback if exists
11647
- const userCallback = details.isGroupOpenByDefault;
11648
- if (userCallback) {
11649
- const params = {
11650
- rowNode: groupNode,
11651
- field: groupNode.field,
11652
- key: groupNode.key,
11653
- level: groupNode.level,
11654
- rowGroupColumn: groupNode.rowGroupColumn
11655
- };
11656
- groupNode.expanded = userCallback(params) == true;
11657
- return;
11658
- }
11659
- // use expandByDefault if exists
11660
- const { expandByDefault } = details;
11661
- if (details.expandByDefault === -1) {
11662
- groupNode.expanded = true;
11663
- return;
11664
- }
11665
- // otherwise
11666
- groupNode.expanded = groupNode.level < expandByDefault;
11667
- }
11668
- getGroupInfo(rowNode, details) {
11669
- if (details.usingTreeData) {
11670
- return this.getGroupInfoFromCallback(rowNode, details);
11671
- }
11672
- return this.getGroupInfoFromGroupColumns(rowNode, details);
11673
- }
11674
- getGroupInfoFromCallback(rowNode, details) {
11675
- const keys = details.getDataPath ? details.getDataPath(rowNode.data) : null;
11676
- if (keys === null || keys === undefined || keys.length === 0) {
11677
- _.warnOnce(`getDataPath() should not return an empty path for data ${rowNode.data}`);
11678
- }
11679
- const groupInfoMapper = (key) => ({ key, field: null, rowGroupColumn: null });
11680
- return keys ? keys.map(groupInfoMapper) : [];
11681
- }
11682
- getGroupInfoFromGroupColumns(rowNode, details) {
11683
- const res = [];
11684
- details.groupedCols.forEach(groupCol => {
11685
- let key = this.valueService.getKeyForNode(groupCol, rowNode);
11686
- let keyExists = key !== null && key !== undefined && key !== '';
11687
- // unbalanced tree and pivot mode don't work together - not because of the grid, it doesn't make
11688
- // mathematical sense as you are building up a cube. so if pivot mode, we put in a blank key where missing.
11689
- // this keeps the tree balanced and hence can be represented as a group.
11690
- const createGroupForEmpty = details.pivotMode || !details.groupAllowUnbalanced;
11691
- if (createGroupForEmpty && !keyExists) {
11692
- key = '';
11693
- keyExists = true;
11694
- }
11695
- if (keyExists) {
11696
- const item = {
11697
- key: key,
11698
- field: groupCol.getColDef().field,
11699
- rowGroupColumn: groupCol,
11700
- leafNode: rowNode,
11701
- };
11702
- res.push(item);
11703
- }
11704
- });
11705
- return res;
11706
- }
11707
- };
11708
- __decorate([
11709
- Autowired('columnModel')
11710
- ], GroupStage.prototype, "columnModel", void 0);
11711
- __decorate([
11712
- Autowired('selectableService')
11713
- ], GroupStage.prototype, "selectableService", void 0);
11714
- __decorate([
11715
- Autowired('valueService')
11716
- ], GroupStage.prototype, "valueService", void 0);
11717
- __decorate([
11718
- Autowired('beans')
11719
- ], GroupStage.prototype, "beans", void 0);
11720
- __decorate([
11721
- Autowired('selectionService')
11722
- ], GroupStage.prototype, "selectionService", void 0);
11723
- GroupStage = __decorate([
11724
- Bean('groupStage')
11725
- ], GroupStage);
11726
-
11727
- var RowGroupingModule = {
11728
- version: '31.3.2',
11729
- moduleName: ModuleNames.RowGroupingModule,
11730
- beans: [GroupStage]
11731
- };
11732
-
11733
11225
  class CodesystemFilterComponent extends CodesystemComponent {
11734
11226
  constructor(systemService, translate, eventService) {
11735
11227
  super(systemService);
@@ -12213,7 +11705,8 @@ let GridComponent = class GridComponent {
12213
11705
  this.gridApi = gridApi;
12214
11706
  this.router = router;
12215
11707
  this.pendingChanges = pendingChanges;
12216
- this.modules = [ClientSideRowModelModule, RowGroupingModule];
11708
+ this.modules = [ClientSideRowModelModule];
11709
+ this.scrollPosition = 0;
12217
11710
  this.components = {
12218
11711
  agDateInput: DatetimeFilterComponent,
12219
11712
  OrganizationFilterComponent: OrganizationFilterComponent,
@@ -12228,7 +11721,7 @@ let GridComponent = class GridComponent {
12228
11721
  filter: false,
12229
11722
  sortable: false,
12230
11723
  resizable: false,
12231
- suppressMenu: true,
11724
+ suppressHeaderMenuButton: true,
12232
11725
  suppressMovable: true,
12233
11726
  suppressNavigable: true,
12234
11727
  suppressPaste: true,
@@ -12274,7 +11767,16 @@ let GridComponent = class GridComponent {
12274
11767
  let value = translate.instant(gridKey, variableValues);
12275
11768
  return ~value.indexOf(gridKey) ? defaultValue : value;
12276
11769
  },
12277
- components: this.components
11770
+ components: this.components,
11771
+ /**
11772
+ * Triggers horizontal scroll reset after sorting with a delay.
11773
+ */
11774
+ postSortRows: () => {
11775
+ this.calculateDebouncer.pipe(delay(750))
11776
+ .subscribe(() => {
11777
+ this.setHorizontalScrollPosition();
11778
+ });
11779
+ }
12278
11780
  };
12279
11781
  this.loadingMessage();
12280
11782
  this.getUser();
@@ -12385,7 +11887,7 @@ let GridComponent = class GridComponent {
12385
11887
  return this.updateFocus();
12386
11888
  }
12387
11889
  if ($event.rowIndex !== null) {
12388
- $event.focusedNode = this.api.getModel().getRow($event.rowIndex);
11890
+ $event.focusedNode = this.api.getDisplayedRowAtIndex($event.rowIndex);
12389
11891
  if ($event.focusedNode && !$event.focusedNode.group && $event.focusedNode.data) {
12390
11892
  this.focusedRowID = $event.focusedNode.id;
12391
11893
  this.eoGridFocusChanged.emit($event.focusedNode.data);
@@ -12425,6 +11927,22 @@ let GridComponent = class GridComponent {
12425
11927
  this.api.sizeColumnsToFit();
12426
11928
  }
12427
11929
  }
11930
+ /*
11931
+ * This method is called when the grid is sorted.
11932
+ */
11933
+ onSortChanged(event) {
11934
+ this.scrollPosition = event.api.getHorizontalPixelRange().left;
11935
+ }
11936
+ /**
11937
+ * Scrolls the grid horizontally to a predefined initial position.
11938
+ * This method is called when the grid is sorted.
11939
+ */
11940
+ setHorizontalScrollPosition() {
11941
+ const gridBody = document.querySelector('.ag-body-horizontal-scroll-viewport');
11942
+ if (gridBody) {
11943
+ gridBody.scrollLeft = this.scrollPosition;
11944
+ }
11945
+ }
12428
11946
  onQuickFilterChanged($event) {
12429
11947
  this.api.setQuickFilter($event.target.value);
12430
11948
  }
@@ -12432,12 +11950,12 @@ let GridComponent = class GridComponent {
12432
11950
  if (!this.api) {
12433
11951
  return;
12434
11952
  }
12435
- const rowNode = typeof row === 'number' ? !this.api?.isDestroyed() && this.api.getModel()?.getRow(row) : this.api.getRowNode(row);
11953
+ const rowNode = typeof row === 'number' ? !this.api?.isDestroyed() && this.api.getDisplayedRowAtIndex(row) : this.api.getRowNode(row);
12436
11954
  let index = rowNode ? rowNode.rowIndex : 0;
12437
11955
  if (rowNode && rowNode.data) {
12438
11956
  if (selection) {
12439
11957
  selection.forEach((rowIndex, i) => {
12440
- this.api.getModel().getRow(rowIndex).setSelected(true, i === 0);
11958
+ this.api.getDisplayedRowAtIndex(rowIndex).setSelected(true, i === 0);
12441
11959
  });
12442
11960
  this.gridOptions.context.selection = null; //reset initial selection
12443
11961
  }
@@ -12532,14 +12050,14 @@ let GridComponent = class GridComponent {
12532
12050
  return !this._gridCount.rowCount;
12533
12051
  }
12534
12052
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: GridComponent, deps: [{ token: i1.TranslateService }, { token: i1.UserService }, { token: GridService }, { token: i2$1.Router }, { token: PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
12535
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: GridComponent, selector: "eo-grid", inputs: { selectFirst: "selectFirst", selectionLimit: "selectionLimit", sizeToFit: "sizeToFit", fullWidth: "fullWidth", showHeader: "showHeader", showFooter: "showFooter", loaderContent: "loaderContent", options: "options", gridOptions: "gridOptions" }, outputs: { eoGridCountChanged: "eoGridCountChanged", eoGridSelectionChanged: "eoGridSelectionChanged", eoGridFocusChanged: "eoGridFocusChanged", eoGridCellClick: "eoGridCellClick", eoGridDoubleClick: "eoGridDoubleClick", eoGridContextMenuClick: "eoGridContextMenuClick", eoGridColumnResized: "eoGridColumnResized" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }], ngImport: i0, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}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-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-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{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;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{border-radius:2px;-webkit-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{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],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-right-cols-container .ag-row-selected: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-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-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{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected: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{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@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-color:#0000!important;border-bottom-color:var(--list-item-border-color)!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{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;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{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}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.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{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{opacity:.5;height:24px;width:24px;vertical-align:bottom}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{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}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-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}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-body[ref=eCondition2Body],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-condition[ref=eJoinOperatorPanel],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-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{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{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{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}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 .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-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)}[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{none:right;background-position-x:left}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-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,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-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,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-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem 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-datepicker 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-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-datepicker button,[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-cell .eo-organization 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-codesystem 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-datepicker button,[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-cell .eo-organization 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-codesystem 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-datepicker .ui-autocomplete-panel,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-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-datepicker .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-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-datepicker ul.ui-autocomplete-multiple-container,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-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-datepicker 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-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}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-datepicker 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-codesystem 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-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-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-datepicker 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-codesystem 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-dynamic-list 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-organization 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{margin:2px calc(var(--app-pane-padding) / 2)}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-codesystem 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-datepicker 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-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-dynamic-list button,[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-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[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-codesystem 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-codesystem 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{padding:0 var(--app-pane-padding)}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{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}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}eo-grid .multiCell span{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], encapsulation: i0.ViewEncapsulation.None }); }
12053
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: GridComponent, selector: "eo-grid", inputs: { selectFirst: "selectFirst", selectionLimit: "selectionLimit", sizeToFit: "sizeToFit", fullWidth: "fullWidth", showHeader: "showHeader", showFooter: "showFooter", loaderContent: "loaderContent", options: "options", gridOptions: "gridOptions" }, outputs: { eoGridCountChanged: "eoGridCountChanged", eoGridSelectionChanged: "eoGridSelectionChanged", eoGridFocusChanged: "eoGridFocusChanged", eoGridCellClick: "eoGridCellClick", eoGridDoubleClick: "eoGridDoubleClick", eoGridContextMenuClick: "eoGridContextMenuClick", eoGridColumnResized: "eoGridColumnResized" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }], ngImport: i0, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\"\n (sortChanged)=\"onSortChanged($event)\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}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-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-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{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;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{border-radius:2px;-webkit-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{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],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-right-cols-container .ag-row-selected: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-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-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{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected: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{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@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-color:#0000!important;border-bottom-color:var(--list-item-border-color)!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{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;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{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}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.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{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{opacity:.5;height:24px;width:24px;vertical-align:bottom}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{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}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-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}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-body[ref=eCondition2Body],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-condition[ref=eJoinOperatorPanel],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-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{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{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{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}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 .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-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)}[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{none:right;background-position-x:left}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-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,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-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,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-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem 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-datepicker 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-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-datepicker button,[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-cell .eo-organization 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-codesystem 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-datepicker button,[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-cell .eo-organization 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-codesystem 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-datepicker .ui-autocomplete-panel,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-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-datepicker .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-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-datepicker ul.ui-autocomplete-multiple-container,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-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-datepicker 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-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}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-datepicker 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-codesystem 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-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-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-datepicker 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-codesystem 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-dynamic-list 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-organization 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{margin:2px calc(var(--app-pane-padding) / 2)}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-codesystem 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-datepicker 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-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-dynamic-list button,[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-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[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-codesystem 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-codesystem 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{padding:0 var(--app-pane-padding)}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{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}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}eo-grid .multiCell span{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], encapsulation: i0.ViewEncapsulation.None }); }
12536
12054
  };
12537
12055
  GridComponent = __decorate([
12538
12056
  UntilDestroy()
12539
12057
  ], GridComponent);
12540
12058
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: GridComponent, decorators: [{
12541
12059
  type: Component,
12542
- args: [{ selector: 'eo-grid', encapsulation: ViewEncapsulation.None, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}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-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-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{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;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{border-radius:2px;-webkit-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{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],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-right-cols-container .ag-row-selected: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-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-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{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected: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{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@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-color:#0000!important;border-bottom-color:var(--list-item-border-color)!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{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;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{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}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.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{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{opacity:.5;height:24px;width:24px;vertical-align:bottom}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{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}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-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}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-body[ref=eCondition2Body],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-condition[ref=eJoinOperatorPanel],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-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{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{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{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}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 .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-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)}[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{none:right;background-position-x:left}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-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,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-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,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-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem 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-datepicker 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-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-datepicker button,[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-cell .eo-organization 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-codesystem 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-datepicker button,[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-cell .eo-organization 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-codesystem 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-datepicker .ui-autocomplete-panel,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-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-datepicker .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-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-datepicker ul.ui-autocomplete-multiple-container,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-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-datepicker 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-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}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-datepicker 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-codesystem 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-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-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-datepicker 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-codesystem 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-dynamic-list 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-organization 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{margin:2px calc(var(--app-pane-padding) / 2)}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-codesystem 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-datepicker 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-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-dynamic-list button,[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-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[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-codesystem 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-codesystem 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{padding:0 var(--app-pane-padding)}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{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}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}eo-grid .multiCell span{display:flex;flex-direction:row}\n"] }]
12060
+ args: [{ selector: 'eo-grid', encapsulation: ViewEncapsulation.None, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\"\n (sortChanged)=\"onSortChanged($event)\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}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-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-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{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;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{border-radius:2px;-webkit-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{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],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-right-cols-container .ag-row-selected: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-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-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{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected: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{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@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-color:#0000!important;border-bottom-color:var(--list-item-border-color)!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{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;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{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}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.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{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{opacity:.5;height:24px;width:24px;vertical-align:bottom}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{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}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-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}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-body[ref=eCondition2Body],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-condition[ref=eJoinOperatorPanel],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-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{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{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{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}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 .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-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)}[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{none:right;background-position-x:left}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-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,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-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,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-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem 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-datepicker 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-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-datepicker button,[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-cell .eo-organization 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-codesystem 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-datepicker button,[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-cell .eo-organization 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-codesystem 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-datepicker .ui-autocomplete-panel,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-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-datepicker .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-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-datepicker ul.ui-autocomplete-multiple-container,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-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-datepicker 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-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}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-datepicker 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-codesystem 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-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-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-datepicker 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-codesystem 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-dynamic-list 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-organization 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{margin:2px calc(var(--app-pane-padding) / 2)}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-codesystem 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-datepicker 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-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-dynamic-list button,[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-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[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-codesystem 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-codesystem 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{padding:0 var(--app-pane-padding)}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{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}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}eo-grid .multiCell span{display:flex;flex-direction:row}\n"] }]
12543
12061
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.UserService }, { type: GridService }, { type: i2$1.Router }, { type: PendingChangesService }], propDecorators: { agGrid: [{
12544
12062
  type: ViewChild,
12545
12063
  args: ['agGrid']
@@ -13007,11 +12525,11 @@ class TextFilterComponent extends AbstractFilterComponent {
13007
12525
  }
13008
12526
  }
13009
12527
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TextFilterComponent, deps: [{ token: ListSettingsService }, { token: i1.LocalStorageService }, { token: i1.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
13010
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: TextFilterComponent, selector: "eo-text-filter", inputs: { title: "title", placeholder: "placeholder", enableSave: "enableSave", filterParams: "filterParams", matchFields: "matchFields" }, usesInheritance: true, ngImport: i0, template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n", styles: [".title{margin-top:.5em;font-weight:700}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon.disable-save-filter{cursor:default;color:var(--color-primary-3)}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
12528
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: TextFilterComponent, selector: "eo-text-filter", inputs: { title: "title", placeholder: "placeholder", enableSave: "enableSave", filterParams: "filterParams", matchFields: "matchFields" }, usesInheritance: true, ngImport: i0, template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" [tabindex]=\"(!value || savedFilters.includes(value)) ? '-1' : '0'\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n (keydown.enter)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n", styles: [".title{margin-top:.5em;font-weight:700}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon:focus,.save-filter-icon:hover{color:var(--color-accent)!important}.save-filter-icon.disable-save-filter{cursor:default;color:var(--color-primary-3)}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
13011
12529
  }
13012
12530
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TextFilterComponent, decorators: [{
13013
12531
  type: Component,
13014
- args: [{ selector: 'eo-text-filter', template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n", styles: [".title{margin-top:.5em;font-weight:700}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon.disable-save-filter{cursor:default;color:var(--color-primary-3)}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}\n"] }]
12532
+ args: [{ selector: 'eo-text-filter', template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" [tabindex]=\"(!value || savedFilters.includes(value)) ? '-1' : '0'\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n (keydown.enter)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n", styles: [".title{margin-top:.5em;font-weight:700}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon:focus,.save-filter-icon:hover{color:var(--color-accent)!important}.save-filter-icon.disable-save-filter{cursor:default;color:var(--color-primary-3)}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}\n"] }]
13015
12533
  }], ctorParameters: () => [{ type: ListSettingsService }, { type: i1.LocalStorageService }, { type: i1.UserService }], propDecorators: { title: [{
13016
12534
  type: Input
13017
12535
  }], placeholder: [{
@@ -17159,7 +16677,21 @@ let AppSearchComponent = class AppSearchComponent {
17159
16677
  }
17160
16678
  moveObjectTypeGroup(groupLabel, direction) {
17161
16679
  let index = this.objectTypeGroups.findIndex(group => groupLabel === group.label);
17162
- let newIndex = direction === 'left' ? index - 1 : index + 1;
16680
+ let newIndex;
16681
+ if (direction === 'left') {
16682
+ newIndex = index - 1;
16683
+ }
16684
+ else if (direction === 'right') {
16685
+ newIndex = index + 1;
16686
+ }
16687
+ else if (direction === 'first') {
16688
+ newIndex = 0;
16689
+ }
16690
+ else if (direction === 'last') {
16691
+ newIndex = this.objectTypeGroups.length - 1;
16692
+ if (index === newIndex)
16693
+ return;
16694
+ }
17163
16695
  while (index < 0) {
17164
16696
  index += this.objectTypeGroups.length;
17165
16697
  }
@@ -17239,14 +16771,14 @@ let AppSearchComponent = class AppSearchComponent {
17239
16771
  this.queryStateSubscription.unsubscribe();
17240
16772
  }
17241
16773
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchComponent, deps: [{ token: AppSearchService }, { token: i2$2.YvcOverlayService }, { token: i1.SearchService }, { token: i1.SystemService }, { token: i1.NotificationsService }, { token: i1.TranslateService }, { token: i2$1.Router }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.StoredQueriesService }, { token: i1.CapabilitiesService }, { token: i1.UserService }, { token: i1.Logger }, { token: i1.LocalStorageService }, { token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
17242
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppSearchComponent, selector: "eo-app-search", outputs: { onExecuteSearch: "onExecuteSearch" }, viewQueries: [{ propertyName: "tplSearch", first: true, predicate: ["tplSearch"], descendants: true, read: TemplateRef }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "expertInput", first: true, predicate: ["xpinput"], descendants: true }, { propertyName: "indexdataForm", first: true, predicate: ["idxform"], descendants: true }, { propertyName: "contextForm", first: true, predicate: ["ctxform"], descendants: true }], ngImport: i0, template: "<!-- <eo-dialog [visible]=\"true\" [styleClass]=\"'eo-app-search-dialog'\" [align]=\"'start'\" [minWidth]=\"'80vw'\"\n [minHeight]=\"'100vh'\" (hide)=\"closeSearchMenu($event)\"> -->\n<!-- <yvc-dialog [options]=\"{lightDismiss: true}\" [template]=\"tplSearch\" (closed)=\"closeSearchMenu()\"></yvc-dialog> -->\n<ng-template #tplSearch>\n\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\n\n <div class=\"head\">\n\n <div class=\"search\">\n <form (submit)=\"executeSearch()\">\n <div class=\"title\" translate>eo.search</div>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n\n <div class=\"search-box\" [formGroup]=\"termForm\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput formControlName=\"term\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" (keydown.enter)=\"executeSearch()\" (paste)=\"autocompletePaste($event)\">\n </yvc-autocomplete>\n\n <ng-template #expertInput>\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\n </ng-template>\n\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\n <!--<span translate>eo.search.mode.expert</span>-->\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\n <ng-template #close>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\n </ng-template>\n </button>\n\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\n (click)=\"resetExpertModeInput()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\n </button>\n\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </div>\n </form>\n </div>\n\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\n <ng-template #spinner>\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\n </ng-template>\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu()\"></eo-icon>\n\n </div>\n\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\n\n <yvc-tabs (tabChange)=\"onTabChange($event)\">\n\n <!-- object type select -->\n <ng-template [yvcTab]=\"{id: 'restrictType', label: 'eo.search.restrict.type' | translate}\">\n\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\n *ngIf=\"objectTypeGroups && !idxSearch\">\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups; let i = index\">\n <div class=\"group-header\">\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\n <div class=\"move-icons\">\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-icon\" (click)=\"moveObjectTypeGroup(group.label, 'left')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_left.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-icon\" (click)=\"moveObjectTypeGroup(group.label, 'right')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_right.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of group.types\"\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\n\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"item\" (click)=\"selectObjectType(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) +\n ')' : ''}}</div>\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\n <h2>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\n (click)=\"exitIndexdataSearch()\"></eo-icon>\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\n </h2>\n\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\n\n <div class=\"context-select\">\n <div translate>eo.search.objecttype.form.context</div>\n <div class=\"spacer\"></div>\n\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\n [selected]=\"currentContextFolderName === ctx.name\"\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\n </eo-context-search>\n </div>\n\n <section class=\"context form\">\n <eo-object-form class=\"dark\" #ctxform\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </section>\n </div>\n\n\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\n (statusChanged)=\"onIndexDataChanged($event)\" (onFormReady)=\"idxform.focusForm()\">\n </eo-object-form>\n </section>\n </div>\n </ng-template>\n\n <!-- created tab -->\n <ng-template [yvcTab]=\"{id: 'restrictCreated', label: 'eo.search.restrict.creation' | translate }\">\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #createdForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-creator\">\n <h3 translate>eo.search.agg.creator</h3>\n <form #creatorForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictModification', label: 'eo.search.restrict.modification' | translate}\">\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #modifiedForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-modifier\">\n <h3 translate>eo.search.agg.modifier</h3>\n <form #modifierForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\n [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictFile', label: 'eo.search.restrict.file' | translate}\">\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-mimetype-group\">\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"checkbox\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filesize\">\n <h3 translate>eo.search.restrict.filesize</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filename\">\n <h3 translate>eo.search.restrict.filename</h3>\n <form #filenameForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n </yvc-tabs>\n\n <!-- summary of the current search filters -->\n <div class=\"summary-panel\">\n\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\n <div class=\"spaceInbetwen\">\n <div class=\"savedSearchIcon\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n </div>\n <div class=\"store\">\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\n </div>\n </div>\n </div>\n\n <ng-template #reghead>\n <div class=\"headline\" translate>eo.search.aside.summary</div>\n </ng-template>\n\n <section class=\"query-types\">\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\n <div class=\"filter\">\n <div class=\"label\">{{query.term}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\n <div class=\"filter\" *ngFor=\"let type of query.types\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\n </div>\n </div>\n\n <ng-template #filterTemplate let-filter let-translate>\n <ng-container *ngIf=\"filter.innerValue.length\">\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\n <div class=\"label\">{{filter.label[i] | async}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\n </div>\n </ng-container>\n </ng-template>\n\n <div class=\"section section-creation\"\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue?.length || filtersModel[PARAMS.CREATOR].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.creation</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\n </div>\n\n <div class=\"section section-modification\"\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue?.length || filtersModel[PARAMS.MODIFIER].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.modification</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\n </div>\n\n <div class=\"section section-mimetypegroup\"\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\n <div class=\"title\" translate>eo.search.restrict.file</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\n </div>\n </section>\n\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\n\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-container>\n\n <ng-template #regactions>\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-template>\n\n\n </div>\n\n <ng-template #emptySearch>\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\n </ng-template>\n\n </div>\n\n\n </div>\n\n <!-- expert mode body panel containing explanations -->\n <ng-template #expert>\n <div class=\"body expert\">\n\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\n\n <!--\n <h2><span translate>eo.search.mode.expert</span></h2>\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\n\n <div class=\"base-params fields\">\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"system-types fields\">\n\n <div class=\"column column-group\">\n <h2 translate>eo.search.mode.expert.support.group</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\n (click)=\"xpSelectGroup(group)\">\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\n <h2 translate>eo.search.mode.expert.support.type</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\n (click)=\"xpSelectType(type)\">\n <div>{{type.label}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\n <h2 translate>eo.search.mode.expert.support.field</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n </div>\n\n -->\n </div>\n </ng-template>\n </div>\n <!-- </eo-dialog> -->\n</ng-template>\n", styles: ["eo-app-search dialog{height:100vh;margin:0!important;max-height:100vh;max-block-size:100%!important;min-width:500px;width:80%}@media screen and (max-width: 500px){.eo-app-search-dialog{width:100%!important;min-width:inherit}}.eo-app-search-dialog .eo-dialog-content{overflow:inherit;max-height:100%}.eo-app-search-dialog .eo-dialog-header{display:none}.eo-app-search.rtl .head .close{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-min-width: 500px;--search-box-max-width: 600px;--search-summary-width: 350px;width:80vw;height:100vh;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.eo-app-search .head{background:var(--color-primary-2);flex:0 0 auto;color:var(--color-white);position:relative;display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding) / 2);z-index:2;min-width:fill-available;min-width:-webkit-fill-available;min-width:-moz-available}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);min-height:1em;line-height:1em}@media screen and (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;min-width:var(--search-min-width);max-width:var(--search-box-max-width)}.eo-app-search .head .search .search-box{margin-bottom:var(--app-pane-padding);display:flex;flex-flow:row nowrap;align-items:stretch;background:var(--color-white);max-width:var(--search-box-max-width);box-shadow:0 2px 2px rgba(var(--color-black-rgb),.2)}@media screen and (max-width: 480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box yvc-autocomplete{flex:1 1 auto;background:transparent;outline:0;border:0}.eo-app-search .head .search .search-box yvc-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title)}.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);color:var(--color-white);border:0;padding:0 var(--app-pane-padding);font-size:var(--font-subhead)}.eo-app-search .head .search .search-box button.expert-mode{padding:0 calc(var(--app-pane-padding) / 2);background:transparent;border:0;color:var(--text-color-hint);display:flex;align-items:center}.eo-app-search .head .search .search-box button.expert-mode:focus{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;width:0;padding:0;transition:all .2s ease-in-out}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;width:40px;padding:0 8px}.eo-app-search .head .search .search-box button.expert-mode span{display:none;padding:calc(var(--app-pane-padding) / 4);white-space:nowrap;animation:eoFadeIn var(--app-default-transition-duration)}.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{position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) * 2.5);z-index:1;font-size:7em;line-height:1em;opacity:.1}@media screen and (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{z-index:11;position:absolute;right:13%;top:30%;-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}@media screen and (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 screen and (max-width: 1000px){.eo-app-search .body .summary-panel{bottom:0;right:0!important;left:0!important;top:auto!important;width:auto!important;display:flex;flex-flow:row nowrap}.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{margin-bottom:0;display:flex;align-items:center;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 yvc-tabs>section[role=tabpanel]{padding-right:0!important;padding-left:0!important}}.eo-app-search .body>yvc-tabs{position:absolute;inset:0}.eo-app-search .body>yvc-tabs>header{--text-color-body: #fff;--text-color-hint: rgba(255,255,255,.7);background:var(--color-primary-2)}.eo-app-search .body>yvc-tabs>section[role=tabpanel]{padding:calc(var(--app-pane-padding) - var(--app-pane-padding) / 2) calc(var(--app-pane-padding) * 2 + var(--search-summary-width)) 0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);width:var(--search-summary-width);position:absolute;top:calc(var(--app-pane-padding) + var(--eo-tab-nav-height));right:var(--app-pane-padding);box-sizing:border-box}.eo-app-search .body .summary-panel .query-types{overflow:auto;max-height:calc(100vh - 290px)}.eo-app-search .body .summary-panel .headline{line-height:1em;font-size:var(--font-subhead);font-weight:var(--font-weight-light);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .summary-panel .headline .spaceInbetwen{display:flex;align-items:center}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon{display:block;padding:calc(var(--app-pane-padding) / 4) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon eo-icon{--eoSvgIcon-size: 44px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store{display:block;min-height:0;min-width:0;padding-left:12px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .pre{padding:calc(var(--app-pane-padding) / 2) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .stored-query-name{font-size:var(--font-title);padding:calc(var(--app-pane-padding) / 2) 0;line-height:1.2em}.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 .empty-search{padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .section{padding:calc(var(--app-pane-padding) / 2);max-height:calc(100vh - 280px);overflow-y:auto}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);padding-bottom:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .filter{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;background:rgba(var(--color-white-rgb),.6);margin-top:4px;align-items:center}.eo-app-search .body .summary-panel .filter .label{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;padding:0 0 0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .summary-panel .filter eo-icon{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 4);box-sizing:border-box;cursor:pointer;color:var(--text-color-hint)}.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{margin:0 2px;line-height:1em;font-size:var(--font-hint)}.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{margin:0 0 calc(var(--app-pane-padding) * 1.5) 0;padding:0;font-weight:var(--font-weight-light);font-size:var(--font-title);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container{display:flex;flex-flow:row wrap;align-items:stretch}.eo-app-search .body .rest-box-container .rest-box{margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2);background:var(--color-white);flex:1 1 auto}.eo-app-search .body .rest-box-container .rest-box h3{margin:0 0 var(--app-pane-padding) 0;padding:0;font-size:var(--font-caption);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item{display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);color:var(--text-color-body)}.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);min-width:30px;text-align:right;font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .group-header .move-icons{display:none}.eo-app-search .body .object-types .group .type{display:flex;flex-flow:row nowrap;align-items:center;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{display:flex;flex:1 1 auto;border-radius:2px;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);cursor:default;color:var(--text-color-body)}.eo-app-search .body .object-types .group .type .item eo-icon{color:var(--text-color-caption);width:16px;height:16px;box-sizing:content-box;padding:2px;border-radius:2px;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.eo-app-search .body .object-types .group:hover .group-header{display:flex;justify-content:space-between}.eo-app-search .body .object-types .group:hover .group-header .move-icons{display:flex}.eo-app-search .body .object-types .group:hover .group-header .move-left-icon,.eo-app-search .body .object-types .group:hover .group-header .move-right-icon{cursor:pointer;color:var(--text-color-caption)}.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{display:flex;flex-flow:row;align-items:center}.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{display:flex;align-items:center;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{display:block;background-color:var(--color-primary-2)}.eo-app-search.rtl{left:0;right:0;animation:appSearchAppearRTL var(--app-default-transition-duration)}.eo-app-search.rtl .head .result,.eo-app-search.rtl .body .summary-panel{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body yvc-tabs{padding-right:0;padding-left:calc(var(--app-pane-padding) * 2 + var(--search-summary-width));padding-bottom: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;padding:0;margin:var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}.eo-app-search.expert .body h2 span{padding:calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:4px solid var(--color-accent)}.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{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px;background:var(--color-error);color:var(--color-white)}.eo-app-search.expert .body .fields h2{margin:calc(var(--app-pane-padding) / 2);flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-white-rgb),.3)}.eo-app-search.expert .body .fields .item{padding:calc(var(--app-pane-padding) / 2);cursor:pointer;border-radius:2px;background:rgba(var(--color-white-rgb),.06);margin-bottom:4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item:hover,.eo-app-search.expert .body .fields .item.selected{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{font-weight:var(--font-weight-bold);display:flex;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{flex:1 1 auto;display:flex;flex-flow:row;justify-content:flex-start;align-items:stretch;padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .system-types .column{flex:0 0 33%;box-sizing:border-box;display:flex;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{padding:calc(var(--app-pane-padding) / 2);flex:1 1 auto;overflow-y:auto}.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{width:20px;height:20px;cursor:pointer;border:1px solid var(--text-color-hint);border-radius:2px;margin:0 calc(var(--app-pane-padding) / 2)}.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)}@keyframes appSearchAppear{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: QueryScopeSelectComponent, selector: "eo-query-scope-select", inputs: ["selection"], outputs: ["select"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ContextSearchComponent, selector: "eo-context-search", inputs: ["ctx", "query", "idxSearch", "selected", "disabled"], outputs: ["setContext"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDecimalPipe, name: "localeDecimal" }], encapsulation: i0.ViewEncapsulation.None }); }
16774
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppSearchComponent, selector: "eo-app-search", outputs: { onExecuteSearch: "onExecuteSearch" }, viewQueries: [{ propertyName: "tplSearch", first: true, predicate: ["tplSearch"], descendants: true, read: TemplateRef }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "expertInput", first: true, predicate: ["xpinput"], descendants: true }, { propertyName: "indexdataForm", first: true, predicate: ["idxform"], descendants: true }, { propertyName: "contextForm", first: true, predicate: ["ctxform"], descendants: true }], ngImport: i0, template: "<!-- <eo-dialog [visible]=\"true\" [styleClass]=\"'eo-app-search-dialog'\" [align]=\"'start'\" [minWidth]=\"'80vw'\"\n [minHeight]=\"'100vh'\" (hide)=\"closeSearchMenu($event)\"> -->\n<!-- <yvc-dialog [options]=\"{lightDismiss: true}\" [template]=\"tplSearch\" (closed)=\"closeSearchMenu()\"></yvc-dialog> -->\n<ng-template #tplSearch>\n\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\n\n <div class=\"head\">\n\n <div class=\"search\">\n <form (submit)=\"executeSearch()\">\n <div class=\"title\" translate>eo.search</div>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n\n <div class=\"search-box\" [formGroup]=\"termForm\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput formControlName=\"term\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" (keydown.enter)=\"executeSearch()\" (paste)=\"autocompletePaste($event)\">\n </yvc-autocomplete>\n\n <ng-template #expertInput>\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\n </ng-template>\n\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\n <!--<span translate>eo.search.mode.expert</span>-->\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\n <ng-template #close>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\n </ng-template>\n </button>\n\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\n (click)=\"resetExpertModeInput()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\n </button>\n\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </div>\n </form>\n </div>\n\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\n <ng-template #spinner>\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\n </ng-template>\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu()\"></eo-icon>\n\n </div>\n\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\n\n <yvc-tabs (tabChange)=\"onTabChange($event)\">\n\n <!-- object type select -->\n <ng-template [yvcTab]=\"{id: 'restrictType', label: 'eo.search.restrict.type' | translate}\">\n\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\n *ngIf=\"objectTypeGroups && !idxSearch\">\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups; let i = index\">\n <div class=\"group-header\">\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\n <div class=\"move-icons\">\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-first\" (click)=\"moveObjectTypeGroup(group.label, 'first')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_last.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-icon\" (click)=\"moveObjectTypeGroup(group.label, 'left')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_left.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-icon\" (click)=\"moveObjectTypeGroup(group.label, 'right')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_right.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-last\" (click)=\"moveObjectTypeGroup(group.label, 'last')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_last.svg'\"></eo-icon>\n\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of group.types\"\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\n\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"item\" (click)=\"selectObjectType(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) +\n ')' : ''}}</div>\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\n <h2>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\n (click)=\"exitIndexdataSearch()\"></eo-icon>\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\n </h2>\n\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\n\n <div class=\"context-select\">\n <div translate>eo.search.objecttype.form.context</div>\n <div class=\"spacer\"></div>\n\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\n [selected]=\"currentContextFolderName === ctx.name\"\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\n </eo-context-search>\n </div>\n\n <section class=\"context form\">\n <eo-object-form class=\"dark\" #ctxform\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </section>\n </div>\n\n\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\n (statusChanged)=\"onIndexDataChanged($event)\" (onFormReady)=\"idxform.focusForm()\">\n </eo-object-form>\n </section>\n </div>\n </ng-template>\n\n <!-- created tab -->\n <ng-template [yvcTab]=\"{id: 'restrictCreated', label: 'eo.search.restrict.creation' | translate }\">\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #createdForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-creator\">\n <h3 translate>eo.search.agg.creator</h3>\n <form #creatorForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictModification', label: 'eo.search.restrict.modification' | translate}\">\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #modifiedForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-modifier\">\n <h3 translate>eo.search.agg.modifier</h3>\n <form #modifierForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\n [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictFile', label: 'eo.search.restrict.file' | translate}\">\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-mimetype-group\">\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"checkbox\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filesize\">\n <h3 translate>eo.search.restrict.filesize</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filename\">\n <h3 translate>eo.search.restrict.filename</h3>\n <form #filenameForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n </yvc-tabs>\n\n <!-- summary of the current search filters -->\n <div class=\"summary-panel\">\n\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\n <div class=\"spaceInbetwen\">\n <div class=\"savedSearchIcon\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n </div>\n <div class=\"store\">\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\n </div>\n </div>\n </div>\n\n <ng-template #reghead>\n <div class=\"headline\" translate>eo.search.aside.summary</div>\n </ng-template>\n\n <section class=\"query-types\">\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\n <div class=\"filter\">\n <div class=\"label\">{{query.term}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\n <div class=\"filter\" *ngFor=\"let type of query.types\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\n </div>\n </div>\n\n <ng-template #filterTemplate let-filter let-translate>\n <ng-container *ngIf=\"filter.innerValue.length\">\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\n <div class=\"label\">{{filter.label[i] | async}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\n </div>\n </ng-container>\n </ng-template>\n\n <div class=\"section section-creation\"\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue?.length || filtersModel[PARAMS.CREATOR].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.creation</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\n </div>\n\n <div class=\"section section-modification\"\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue?.length || filtersModel[PARAMS.MODIFIER].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.modification</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\n </div>\n\n <div class=\"section section-mimetypegroup\"\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\n <div class=\"title\" translate>eo.search.restrict.file</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\n </div>\n </section>\n\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\n\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-container>\n\n <ng-template #regactions>\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-template>\n\n\n </div>\n\n <ng-template #emptySearch>\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\n </ng-template>\n\n </div>\n\n\n </div>\n\n <!-- expert mode body panel containing explanations -->\n <ng-template #expert>\n <div class=\"body expert\">\n\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\n\n <!--\n <h2><span translate>eo.search.mode.expert</span></h2>\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\n\n <div class=\"base-params fields\">\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"system-types fields\">\n\n <div class=\"column column-group\">\n <h2 translate>eo.search.mode.expert.support.group</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\n (click)=\"xpSelectGroup(group)\">\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\n <h2 translate>eo.search.mode.expert.support.type</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\n (click)=\"xpSelectType(type)\">\n <div>{{type.label}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\n <h2 translate>eo.search.mode.expert.support.field</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n </div>\n\n -->\n </div>\n </ng-template>\n </div>\n <!-- </eo-dialog> -->\n</ng-template>\n", styles: ["eo-app-search dialog{height:100vh;margin:0!important;max-height:100vh;max-block-size:100%!important;min-width:500px;width:80%}@media screen and (max-width: 500px){.eo-app-search-dialog{width:100%!important;min-width:inherit}}.eo-app-search-dialog .eo-dialog-content{overflow:inherit;max-height:100%}.eo-app-search-dialog .eo-dialog-header{display:none}.eo-app-search.rtl .head .close{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-min-width: 500px;--search-box-max-width: 600px;--search-summary-width: 350px;width:80vw;height:100vh;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.eo-app-search .head{background:var(--color-primary-2);flex:0 0 auto;color:var(--color-white);position:relative;display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding) / 2);z-index:2;min-width:fill-available;min-width:-webkit-fill-available;min-width:-moz-available}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);min-height:1em;line-height:1em}@media screen and (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;min-width:var(--search-min-width);max-width:var(--search-box-max-width)}.eo-app-search .head .search .search-box{margin-bottom:var(--app-pane-padding);display:flex;flex-flow:row nowrap;align-items:stretch;background:var(--color-white);max-width:var(--search-box-max-width);box-shadow:0 2px 2px rgba(var(--color-black-rgb),.2)}@media screen and (max-width: 480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box yvc-autocomplete{flex:1 1 auto;background:transparent;outline:0;border:0}.eo-app-search .head .search .search-box yvc-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title)}.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);color:var(--color-white);border:0;padding:0 var(--app-pane-padding);font-size:var(--font-subhead)}.eo-app-search .head .search .search-box button.expert-mode{padding:0 calc(var(--app-pane-padding) / 2);background:transparent;border:0;color:var(--text-color-hint);display:flex;align-items:center}.eo-app-search .head .search .search-box button.expert-mode:focus{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;width:0;padding:0;transition:all .2s ease-in-out}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;width:40px;padding:0 8px}.eo-app-search .head .search .search-box button.expert-mode span{display:none;padding:calc(var(--app-pane-padding) / 4);white-space:nowrap;animation:eoFadeIn var(--app-default-transition-duration)}.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{position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) * 2.5);z-index:1;font-size:7em;line-height:1em;opacity:.1}@media screen and (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{z-index:11;position:absolute;right:13%;top:30%;-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}@media screen and (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 screen and (max-width: 1000px){.eo-app-search .body .summary-panel{bottom:0;right:0!important;left:0!important;top:auto!important;width:auto!important;display:flex;flex-flow:row nowrap}.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{margin-bottom:0;display:flex;align-items:center;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 yvc-tabs>section[role=tabpanel]{padding-right:0!important;padding-left:0!important}}.eo-app-search .body>yvc-tabs{position:absolute;inset:0}.eo-app-search .body>yvc-tabs>header{--text-color-body: #fff;--text-color-hint: rgba(255,255,255,.7);background:var(--color-primary-2)}.eo-app-search .body>yvc-tabs>section[role=tabpanel]{padding:calc(var(--app-pane-padding) - var(--app-pane-padding) / 2) calc(var(--app-pane-padding) * 2 + var(--search-summary-width)) 0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);width:var(--search-summary-width);position:absolute;top:calc(var(--app-pane-padding) + var(--eo-tab-nav-height));right:var(--app-pane-padding);box-sizing:border-box}.eo-app-search .body .summary-panel .query-types{overflow:auto;max-height:calc(100vh - 290px)}.eo-app-search .body .summary-panel .headline{line-height:1em;font-size:var(--font-subhead);font-weight:var(--font-weight-light);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .summary-panel .headline .spaceInbetwen{display:flex;align-items:center}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon{display:block;padding:calc(var(--app-pane-padding) / 4) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon eo-icon{--eoSvgIcon-size: 44px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store{display:block;min-height:0;min-width:0;padding-left:12px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .pre{padding:calc(var(--app-pane-padding) / 2) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .stored-query-name{font-size:var(--font-title);padding:calc(var(--app-pane-padding) / 2) 0;line-height:1.2em}.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 .empty-search{padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .section{padding:calc(var(--app-pane-padding) / 2);max-height:calc(100vh - 280px);overflow-y:auto}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);padding-bottom:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .filter{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;background:rgba(var(--color-white-rgb),.6);margin-top:4px;align-items:center}.eo-app-search .body .summary-panel .filter .label{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;padding:0 0 0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .summary-panel .filter eo-icon{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 4);box-sizing:border-box;cursor:pointer;color:var(--text-color-hint)}.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{margin:0 2px;line-height:1em;font-size:var(--font-hint)}.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{margin:0 0 calc(var(--app-pane-padding) * 1.5) 0;padding:0;font-weight:var(--font-weight-light);font-size:var(--font-title);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container{display:flex;flex-flow:row wrap;align-items:stretch}.eo-app-search .body .rest-box-container .rest-box{margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2);background:var(--color-white);flex:1 1 auto}.eo-app-search .body .rest-box-container .rest-box h3{margin:0 0 var(--app-pane-padding) 0;padding:0;font-size:var(--font-caption);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item{display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);color:var(--text-color-body)}.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);min-width:30px;text-align:right;font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .group-header .move-icons{display:none}.eo-app-search .body .object-types .group .type{display:flex;flex-flow:row nowrap;align-items:center;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{display:flex;flex:1 1 auto;border-radius:2px;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);cursor:default;color:var(--text-color-body)}.eo-app-search .body .object-types .group .type .item eo-icon{color:var(--text-color-caption);width:16px;height:16px;box-sizing:content-box;padding:2px;border-radius:2px;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.eo-app-search .body .object-types .group:hover .group-header{display:flex;justify-content:space-between}.eo-app-search .body .object-types .group:hover .group-header .move-icons{display:flex}.eo-app-search .body .object-types .group:hover .group-header .move-left-icon,.eo-app-search .body .object-types .group:hover .group-header .move-right-icon,.eo-app-search .body .object-types .group:hover .group-header .move-left-first,.eo-app-search .body .object-types .group:hover .group-header .move-right-last{cursor:pointer;color:var(--text-color-caption)}.eo-app-search .body .object-types .group:hover .group-header .move-left-first{transform:rotate(180deg)}.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{display:flex;flex-flow:row;align-items:center}.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{display:flex;align-items:center;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{display:block;background-color:var(--color-primary-2)}.eo-app-search.rtl{left:0;right:0;animation:appSearchAppearRTL var(--app-default-transition-duration)}.eo-app-search.rtl .head .result,.eo-app-search.rtl .body .summary-panel{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body yvc-tabs{padding-right:0;padding-left:calc(var(--app-pane-padding) * 2 + var(--search-summary-width));padding-bottom: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;padding:0;margin:var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}.eo-app-search.expert .body h2 span{padding:calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:4px solid var(--color-accent)}.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{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px;background:var(--color-error);color:var(--color-white)}.eo-app-search.expert .body .fields h2{margin:calc(var(--app-pane-padding) / 2);flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-white-rgb),.3)}.eo-app-search.expert .body .fields .item{padding:calc(var(--app-pane-padding) / 2);cursor:pointer;border-radius:2px;background:rgba(var(--color-white-rgb),.06);margin-bottom:4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item:hover,.eo-app-search.expert .body .fields .item.selected{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{font-weight:var(--font-weight-bold);display:flex;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{flex:1 1 auto;display:flex;flex-flow:row;justify-content:flex-start;align-items:stretch;padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .system-types .column{flex:0 0 33%;box-sizing:border-box;display:flex;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{padding:calc(var(--app-pane-padding) / 2);flex:1 1 auto;overflow-y:auto}.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{width:20px;height:20px;cursor:pointer;border:1px solid var(--text-color-hint);border-radius:2px;margin:0 calc(var(--app-pane-padding) / 2)}.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)}@keyframes appSearchAppear{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: QueryScopeSelectComponent, selector: "eo-query-scope-select", inputs: ["selection"], outputs: ["select"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ContextSearchComponent, selector: "eo-context-search", inputs: ["ctx", "query", "idxSearch", "selected", "disabled"], outputs: ["setContext"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDecimalPipe, name: "localeDecimal" }], encapsulation: i0.ViewEncapsulation.None }); }
17243
16775
  };
17244
16776
  AppSearchComponent = __decorate([
17245
16777
  UntilDestroy()
17246
16778
  ], AppSearchComponent);
17247
16779
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchComponent, decorators: [{
17248
16780
  type: Component,
17249
- args: [{ selector: 'eo-app-search', encapsulation: ViewEncapsulation.None, template: "<!-- <eo-dialog [visible]=\"true\" [styleClass]=\"'eo-app-search-dialog'\" [align]=\"'start'\" [minWidth]=\"'80vw'\"\n [minHeight]=\"'100vh'\" (hide)=\"closeSearchMenu($event)\"> -->\n<!-- <yvc-dialog [options]=\"{lightDismiss: true}\" [template]=\"tplSearch\" (closed)=\"closeSearchMenu()\"></yvc-dialog> -->\n<ng-template #tplSearch>\n\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\n\n <div class=\"head\">\n\n <div class=\"search\">\n <form (submit)=\"executeSearch()\">\n <div class=\"title\" translate>eo.search</div>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n\n <div class=\"search-box\" [formGroup]=\"termForm\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput formControlName=\"term\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" (keydown.enter)=\"executeSearch()\" (paste)=\"autocompletePaste($event)\">\n </yvc-autocomplete>\n\n <ng-template #expertInput>\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\n </ng-template>\n\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\n <!--<span translate>eo.search.mode.expert</span>-->\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\n <ng-template #close>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\n </ng-template>\n </button>\n\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\n (click)=\"resetExpertModeInput()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\n </button>\n\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </div>\n </form>\n </div>\n\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\n <ng-template #spinner>\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\n </ng-template>\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu()\"></eo-icon>\n\n </div>\n\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\n\n <yvc-tabs (tabChange)=\"onTabChange($event)\">\n\n <!-- object type select -->\n <ng-template [yvcTab]=\"{id: 'restrictType', label: 'eo.search.restrict.type' | translate}\">\n\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\n *ngIf=\"objectTypeGroups && !idxSearch\">\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups; let i = index\">\n <div class=\"group-header\">\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\n <div class=\"move-icons\">\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-icon\" (click)=\"moveObjectTypeGroup(group.label, 'left')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_left.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-icon\" (click)=\"moveObjectTypeGroup(group.label, 'right')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_right.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of group.types\"\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\n\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"item\" (click)=\"selectObjectType(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) +\n ')' : ''}}</div>\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\n <h2>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\n (click)=\"exitIndexdataSearch()\"></eo-icon>\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\n </h2>\n\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\n\n <div class=\"context-select\">\n <div translate>eo.search.objecttype.form.context</div>\n <div class=\"spacer\"></div>\n\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\n [selected]=\"currentContextFolderName === ctx.name\"\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\n </eo-context-search>\n </div>\n\n <section class=\"context form\">\n <eo-object-form class=\"dark\" #ctxform\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </section>\n </div>\n\n\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\n (statusChanged)=\"onIndexDataChanged($event)\" (onFormReady)=\"idxform.focusForm()\">\n </eo-object-form>\n </section>\n </div>\n </ng-template>\n\n <!-- created tab -->\n <ng-template [yvcTab]=\"{id: 'restrictCreated', label: 'eo.search.restrict.creation' | translate }\">\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #createdForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-creator\">\n <h3 translate>eo.search.agg.creator</h3>\n <form #creatorForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictModification', label: 'eo.search.restrict.modification' | translate}\">\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #modifiedForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-modifier\">\n <h3 translate>eo.search.agg.modifier</h3>\n <form #modifierForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\n [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictFile', label: 'eo.search.restrict.file' | translate}\">\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-mimetype-group\">\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"checkbox\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filesize\">\n <h3 translate>eo.search.restrict.filesize</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filename\">\n <h3 translate>eo.search.restrict.filename</h3>\n <form #filenameForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n </yvc-tabs>\n\n <!-- summary of the current search filters -->\n <div class=\"summary-panel\">\n\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\n <div class=\"spaceInbetwen\">\n <div class=\"savedSearchIcon\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n </div>\n <div class=\"store\">\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\n </div>\n </div>\n </div>\n\n <ng-template #reghead>\n <div class=\"headline\" translate>eo.search.aside.summary</div>\n </ng-template>\n\n <section class=\"query-types\">\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\n <div class=\"filter\">\n <div class=\"label\">{{query.term}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\n <div class=\"filter\" *ngFor=\"let type of query.types\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\n </div>\n </div>\n\n <ng-template #filterTemplate let-filter let-translate>\n <ng-container *ngIf=\"filter.innerValue.length\">\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\n <div class=\"label\">{{filter.label[i] | async}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\n </div>\n </ng-container>\n </ng-template>\n\n <div class=\"section section-creation\"\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue?.length || filtersModel[PARAMS.CREATOR].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.creation</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\n </div>\n\n <div class=\"section section-modification\"\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue?.length || filtersModel[PARAMS.MODIFIER].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.modification</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\n </div>\n\n <div class=\"section section-mimetypegroup\"\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\n <div class=\"title\" translate>eo.search.restrict.file</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\n </div>\n </section>\n\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\n\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-container>\n\n <ng-template #regactions>\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-template>\n\n\n </div>\n\n <ng-template #emptySearch>\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\n </ng-template>\n\n </div>\n\n\n </div>\n\n <!-- expert mode body panel containing explanations -->\n <ng-template #expert>\n <div class=\"body expert\">\n\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\n\n <!--\n <h2><span translate>eo.search.mode.expert</span></h2>\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\n\n <div class=\"base-params fields\">\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"system-types fields\">\n\n <div class=\"column column-group\">\n <h2 translate>eo.search.mode.expert.support.group</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\n (click)=\"xpSelectGroup(group)\">\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\n <h2 translate>eo.search.mode.expert.support.type</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\n (click)=\"xpSelectType(type)\">\n <div>{{type.label}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\n <h2 translate>eo.search.mode.expert.support.field</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n </div>\n\n -->\n </div>\n </ng-template>\n </div>\n <!-- </eo-dialog> -->\n</ng-template>\n", styles: ["eo-app-search dialog{height:100vh;margin:0!important;max-height:100vh;max-block-size:100%!important;min-width:500px;width:80%}@media screen and (max-width: 500px){.eo-app-search-dialog{width:100%!important;min-width:inherit}}.eo-app-search-dialog .eo-dialog-content{overflow:inherit;max-height:100%}.eo-app-search-dialog .eo-dialog-header{display:none}.eo-app-search.rtl .head .close{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-min-width: 500px;--search-box-max-width: 600px;--search-summary-width: 350px;width:80vw;height:100vh;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.eo-app-search .head{background:var(--color-primary-2);flex:0 0 auto;color:var(--color-white);position:relative;display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding) / 2);z-index:2;min-width:fill-available;min-width:-webkit-fill-available;min-width:-moz-available}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);min-height:1em;line-height:1em}@media screen and (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;min-width:var(--search-min-width);max-width:var(--search-box-max-width)}.eo-app-search .head .search .search-box{margin-bottom:var(--app-pane-padding);display:flex;flex-flow:row nowrap;align-items:stretch;background:var(--color-white);max-width:var(--search-box-max-width);box-shadow:0 2px 2px rgba(var(--color-black-rgb),.2)}@media screen and (max-width: 480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box yvc-autocomplete{flex:1 1 auto;background:transparent;outline:0;border:0}.eo-app-search .head .search .search-box yvc-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title)}.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);color:var(--color-white);border:0;padding:0 var(--app-pane-padding);font-size:var(--font-subhead)}.eo-app-search .head .search .search-box button.expert-mode{padding:0 calc(var(--app-pane-padding) / 2);background:transparent;border:0;color:var(--text-color-hint);display:flex;align-items:center}.eo-app-search .head .search .search-box button.expert-mode:focus{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;width:0;padding:0;transition:all .2s ease-in-out}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;width:40px;padding:0 8px}.eo-app-search .head .search .search-box button.expert-mode span{display:none;padding:calc(var(--app-pane-padding) / 4);white-space:nowrap;animation:eoFadeIn var(--app-default-transition-duration)}.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{position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) * 2.5);z-index:1;font-size:7em;line-height:1em;opacity:.1}@media screen and (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{z-index:11;position:absolute;right:13%;top:30%;-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}@media screen and (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 screen and (max-width: 1000px){.eo-app-search .body .summary-panel{bottom:0;right:0!important;left:0!important;top:auto!important;width:auto!important;display:flex;flex-flow:row nowrap}.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{margin-bottom:0;display:flex;align-items:center;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 yvc-tabs>section[role=tabpanel]{padding-right:0!important;padding-left:0!important}}.eo-app-search .body>yvc-tabs{position:absolute;inset:0}.eo-app-search .body>yvc-tabs>header{--text-color-body: #fff;--text-color-hint: rgba(255,255,255,.7);background:var(--color-primary-2)}.eo-app-search .body>yvc-tabs>section[role=tabpanel]{padding:calc(var(--app-pane-padding) - var(--app-pane-padding) / 2) calc(var(--app-pane-padding) * 2 + var(--search-summary-width)) 0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);width:var(--search-summary-width);position:absolute;top:calc(var(--app-pane-padding) + var(--eo-tab-nav-height));right:var(--app-pane-padding);box-sizing:border-box}.eo-app-search .body .summary-panel .query-types{overflow:auto;max-height:calc(100vh - 290px)}.eo-app-search .body .summary-panel .headline{line-height:1em;font-size:var(--font-subhead);font-weight:var(--font-weight-light);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .summary-panel .headline .spaceInbetwen{display:flex;align-items:center}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon{display:block;padding:calc(var(--app-pane-padding) / 4) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon eo-icon{--eoSvgIcon-size: 44px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store{display:block;min-height:0;min-width:0;padding-left:12px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .pre{padding:calc(var(--app-pane-padding) / 2) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .stored-query-name{font-size:var(--font-title);padding:calc(var(--app-pane-padding) / 2) 0;line-height:1.2em}.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 .empty-search{padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .section{padding:calc(var(--app-pane-padding) / 2);max-height:calc(100vh - 280px);overflow-y:auto}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);padding-bottom:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .filter{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;background:rgba(var(--color-white-rgb),.6);margin-top:4px;align-items:center}.eo-app-search .body .summary-panel .filter .label{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;padding:0 0 0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .summary-panel .filter eo-icon{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 4);box-sizing:border-box;cursor:pointer;color:var(--text-color-hint)}.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{margin:0 2px;line-height:1em;font-size:var(--font-hint)}.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{margin:0 0 calc(var(--app-pane-padding) * 1.5) 0;padding:0;font-weight:var(--font-weight-light);font-size:var(--font-title);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container{display:flex;flex-flow:row wrap;align-items:stretch}.eo-app-search .body .rest-box-container .rest-box{margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2);background:var(--color-white);flex:1 1 auto}.eo-app-search .body .rest-box-container .rest-box h3{margin:0 0 var(--app-pane-padding) 0;padding:0;font-size:var(--font-caption);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item{display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);color:var(--text-color-body)}.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);min-width:30px;text-align:right;font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .group-header .move-icons{display:none}.eo-app-search .body .object-types .group .type{display:flex;flex-flow:row nowrap;align-items:center;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{display:flex;flex:1 1 auto;border-radius:2px;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);cursor:default;color:var(--text-color-body)}.eo-app-search .body .object-types .group .type .item eo-icon{color:var(--text-color-caption);width:16px;height:16px;box-sizing:content-box;padding:2px;border-radius:2px;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.eo-app-search .body .object-types .group:hover .group-header{display:flex;justify-content:space-between}.eo-app-search .body .object-types .group:hover .group-header .move-icons{display:flex}.eo-app-search .body .object-types .group:hover .group-header .move-left-icon,.eo-app-search .body .object-types .group:hover .group-header .move-right-icon{cursor:pointer;color:var(--text-color-caption)}.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{display:flex;flex-flow:row;align-items:center}.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{display:flex;align-items:center;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{display:block;background-color:var(--color-primary-2)}.eo-app-search.rtl{left:0;right:0;animation:appSearchAppearRTL var(--app-default-transition-duration)}.eo-app-search.rtl .head .result,.eo-app-search.rtl .body .summary-panel{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body yvc-tabs{padding-right:0;padding-left:calc(var(--app-pane-padding) * 2 + var(--search-summary-width));padding-bottom: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;padding:0;margin:var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}.eo-app-search.expert .body h2 span{padding:calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:4px solid var(--color-accent)}.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{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px;background:var(--color-error);color:var(--color-white)}.eo-app-search.expert .body .fields h2{margin:calc(var(--app-pane-padding) / 2);flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-white-rgb),.3)}.eo-app-search.expert .body .fields .item{padding:calc(var(--app-pane-padding) / 2);cursor:pointer;border-radius:2px;background:rgba(var(--color-white-rgb),.06);margin-bottom:4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item:hover,.eo-app-search.expert .body .fields .item.selected{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{font-weight:var(--font-weight-bold);display:flex;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{flex:1 1 auto;display:flex;flex-flow:row;justify-content:flex-start;align-items:stretch;padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .system-types .column{flex:0 0 33%;box-sizing:border-box;display:flex;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{padding:calc(var(--app-pane-padding) / 2);flex:1 1 auto;overflow-y:auto}.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{width:20px;height:20px;cursor:pointer;border:1px solid var(--text-color-hint);border-radius:2px;margin:0 calc(var(--app-pane-padding) / 2)}.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)}@keyframes appSearchAppear{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}\n"] }]
16781
+ args: [{ selector: 'eo-app-search', encapsulation: ViewEncapsulation.None, template: "<!-- <eo-dialog [visible]=\"true\" [styleClass]=\"'eo-app-search-dialog'\" [align]=\"'start'\" [minWidth]=\"'80vw'\"\n [minHeight]=\"'100vh'\" (hide)=\"closeSearchMenu($event)\"> -->\n<!-- <yvc-dialog [options]=\"{lightDismiss: true}\" [template]=\"tplSearch\" (closed)=\"closeSearchMenu()\"></yvc-dialog> -->\n<ng-template #tplSearch>\n\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\n\n <div class=\"head\">\n\n <div class=\"search\">\n <form (submit)=\"executeSearch()\">\n <div class=\"title\" translate>eo.search</div>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n\n <div class=\"search-box\" [formGroup]=\"termForm\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput formControlName=\"term\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" (keydown.enter)=\"executeSearch()\" (paste)=\"autocompletePaste($event)\">\n </yvc-autocomplete>\n\n <ng-template #expertInput>\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\n </ng-template>\n\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\n <!--<span translate>eo.search.mode.expert</span>-->\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\n <ng-template #close>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\n </ng-template>\n </button>\n\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\n (click)=\"resetExpertModeInput()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\n </button>\n\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </div>\n </form>\n </div>\n\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\n <ng-template #spinner>\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\n </ng-template>\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu()\"></eo-icon>\n\n </div>\n\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\n\n <yvc-tabs (tabChange)=\"onTabChange($event)\">\n\n <!-- object type select -->\n <ng-template [yvcTab]=\"{id: 'restrictType', label: 'eo.search.restrict.type' | translate}\">\n\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\n *ngIf=\"objectTypeGroups && !idxSearch\">\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups; let i = index\">\n <div class=\"group-header\">\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\n <div class=\"move-icons\">\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-first\" (click)=\"moveObjectTypeGroup(group.label, 'first')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_last.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-icon\" (click)=\"moveObjectTypeGroup(group.label, 'left')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_left.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-icon\" (click)=\"moveObjectTypeGroup(group.label, 'right')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_right.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-last\" (click)=\"moveObjectTypeGroup(group.label, 'last')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_last.svg'\"></eo-icon>\n\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of group.types\"\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\n\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"item\" (click)=\"selectObjectType(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) +\n ')' : ''}}</div>\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\n <h2>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\n (click)=\"exitIndexdataSearch()\"></eo-icon>\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\n </h2>\n\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\n\n <div class=\"context-select\">\n <div translate>eo.search.objecttype.form.context</div>\n <div class=\"spacer\"></div>\n\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\n [selected]=\"currentContextFolderName === ctx.name\"\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\n </eo-context-search>\n </div>\n\n <section class=\"context form\">\n <eo-object-form class=\"dark\" #ctxform\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </section>\n </div>\n\n\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\n (statusChanged)=\"onIndexDataChanged($event)\" (onFormReady)=\"idxform.focusForm()\">\n </eo-object-form>\n </section>\n </div>\n </ng-template>\n\n <!-- created tab -->\n <ng-template [yvcTab]=\"{id: 'restrictCreated', label: 'eo.search.restrict.creation' | translate }\">\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #createdForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-creator\">\n <h3 translate>eo.search.agg.creator</h3>\n <form #creatorForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictModification', label: 'eo.search.restrict.modification' | translate}\">\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #modifiedForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-modifier\">\n <h3 translate>eo.search.agg.modifier</h3>\n <form #modifierForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\n [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictFile', label: 'eo.search.restrict.file' | translate}\">\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-mimetype-group\">\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"checkbox\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filesize\">\n <h3 translate>eo.search.restrict.filesize</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filename\">\n <h3 translate>eo.search.restrict.filename</h3>\n <form #filenameForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n </yvc-tabs>\n\n <!-- summary of the current search filters -->\n <div class=\"summary-panel\">\n\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\n <div class=\"spaceInbetwen\">\n <div class=\"savedSearchIcon\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n </div>\n <div class=\"store\">\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\n </div>\n </div>\n </div>\n\n <ng-template #reghead>\n <div class=\"headline\" translate>eo.search.aside.summary</div>\n </ng-template>\n\n <section class=\"query-types\">\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\n <div class=\"filter\">\n <div class=\"label\">{{query.term}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\n <div class=\"filter\" *ngFor=\"let type of query.types\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\n </div>\n </div>\n\n <ng-template #filterTemplate let-filter let-translate>\n <ng-container *ngIf=\"filter.innerValue.length\">\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\n <div class=\"label\">{{filter.label[i] | async}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\n </div>\n </ng-container>\n </ng-template>\n\n <div class=\"section section-creation\"\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue?.length || filtersModel[PARAMS.CREATOR].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.creation</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\n </div>\n\n <div class=\"section section-modification\"\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue?.length || filtersModel[PARAMS.MODIFIER].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.modification</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\n </div>\n\n <div class=\"section section-mimetypegroup\"\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\n <div class=\"title\" translate>eo.search.restrict.file</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\n </div>\n </section>\n\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\n\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-container>\n\n <ng-template #regactions>\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-template>\n\n\n </div>\n\n <ng-template #emptySearch>\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\n </ng-template>\n\n </div>\n\n\n </div>\n\n <!-- expert mode body panel containing explanations -->\n <ng-template #expert>\n <div class=\"body expert\">\n\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\n\n <!--\n <h2><span translate>eo.search.mode.expert</span></h2>\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\n\n <div class=\"base-params fields\">\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"system-types fields\">\n\n <div class=\"column column-group\">\n <h2 translate>eo.search.mode.expert.support.group</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\n (click)=\"xpSelectGroup(group)\">\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\n <h2 translate>eo.search.mode.expert.support.type</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\n (click)=\"xpSelectType(type)\">\n <div>{{type.label}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\n <h2 translate>eo.search.mode.expert.support.field</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n </div>\n\n -->\n </div>\n </ng-template>\n </div>\n <!-- </eo-dialog> -->\n</ng-template>\n", styles: ["eo-app-search dialog{height:100vh;margin:0!important;max-height:100vh;max-block-size:100%!important;min-width:500px;width:80%}@media screen and (max-width: 500px){.eo-app-search-dialog{width:100%!important;min-width:inherit}}.eo-app-search-dialog .eo-dialog-content{overflow:inherit;max-height:100%}.eo-app-search-dialog .eo-dialog-header{display:none}.eo-app-search.rtl .head .close{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-min-width: 500px;--search-box-max-width: 600px;--search-summary-width: 350px;width:80vw;height:100vh;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.eo-app-search .head{background:var(--color-primary-2);flex:0 0 auto;color:var(--color-white);position:relative;display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding) / 2);z-index:2;min-width:fill-available;min-width:-webkit-fill-available;min-width:-moz-available}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);min-height:1em;line-height:1em}@media screen and (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;min-width:var(--search-min-width);max-width:var(--search-box-max-width)}.eo-app-search .head .search .search-box{margin-bottom:var(--app-pane-padding);display:flex;flex-flow:row nowrap;align-items:stretch;background:var(--color-white);max-width:var(--search-box-max-width);box-shadow:0 2px 2px rgba(var(--color-black-rgb),.2)}@media screen and (max-width: 480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box yvc-autocomplete{flex:1 1 auto;background:transparent;outline:0;border:0}.eo-app-search .head .search .search-box yvc-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title)}.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);color:var(--color-white);border:0;padding:0 var(--app-pane-padding);font-size:var(--font-subhead)}.eo-app-search .head .search .search-box button.expert-mode{padding:0 calc(var(--app-pane-padding) / 2);background:transparent;border:0;color:var(--text-color-hint);display:flex;align-items:center}.eo-app-search .head .search .search-box button.expert-mode:focus{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;width:0;padding:0;transition:all .2s ease-in-out}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;width:40px;padding:0 8px}.eo-app-search .head .search .search-box button.expert-mode span{display:none;padding:calc(var(--app-pane-padding) / 4);white-space:nowrap;animation:eoFadeIn var(--app-default-transition-duration)}.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{position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) * 2.5);z-index:1;font-size:7em;line-height:1em;opacity:.1}@media screen and (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{z-index:11;position:absolute;right:13%;top:30%;-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}@media screen and (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 screen and (max-width: 1000px){.eo-app-search .body .summary-panel{bottom:0;right:0!important;left:0!important;top:auto!important;width:auto!important;display:flex;flex-flow:row nowrap}.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{margin-bottom:0;display:flex;align-items:center;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 yvc-tabs>section[role=tabpanel]{padding-right:0!important;padding-left:0!important}}.eo-app-search .body>yvc-tabs{position:absolute;inset:0}.eo-app-search .body>yvc-tabs>header{--text-color-body: #fff;--text-color-hint: rgba(255,255,255,.7);background:var(--color-primary-2)}.eo-app-search .body>yvc-tabs>section[role=tabpanel]{padding:calc(var(--app-pane-padding) - var(--app-pane-padding) / 2) calc(var(--app-pane-padding) * 2 + var(--search-summary-width)) 0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);width:var(--search-summary-width);position:absolute;top:calc(var(--app-pane-padding) + var(--eo-tab-nav-height));right:var(--app-pane-padding);box-sizing:border-box}.eo-app-search .body .summary-panel .query-types{overflow:auto;max-height:calc(100vh - 290px)}.eo-app-search .body .summary-panel .headline{line-height:1em;font-size:var(--font-subhead);font-weight:var(--font-weight-light);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .summary-panel .headline .spaceInbetwen{display:flex;align-items:center}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon{display:block;padding:calc(var(--app-pane-padding) / 4) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon eo-icon{--eoSvgIcon-size: 44px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store{display:block;min-height:0;min-width:0;padding-left:12px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .pre{padding:calc(var(--app-pane-padding) / 2) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .stored-query-name{font-size:var(--font-title);padding:calc(var(--app-pane-padding) / 2) 0;line-height:1.2em}.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 .empty-search{padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .section{padding:calc(var(--app-pane-padding) / 2);max-height:calc(100vh - 280px);overflow-y:auto}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);padding-bottom:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .filter{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;background:rgba(var(--color-white-rgb),.6);margin-top:4px;align-items:center}.eo-app-search .body .summary-panel .filter .label{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;padding:0 0 0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .summary-panel .filter eo-icon{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 4);box-sizing:border-box;cursor:pointer;color:var(--text-color-hint)}.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{margin:0 2px;line-height:1em;font-size:var(--font-hint)}.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{margin:0 0 calc(var(--app-pane-padding) * 1.5) 0;padding:0;font-weight:var(--font-weight-light);font-size:var(--font-title);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container{display:flex;flex-flow:row wrap;align-items:stretch}.eo-app-search .body .rest-box-container .rest-box{margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2);background:var(--color-white);flex:1 1 auto}.eo-app-search .body .rest-box-container .rest-box h3{margin:0 0 var(--app-pane-padding) 0;padding:0;font-size:var(--font-caption);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item{display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);color:var(--text-color-body)}.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);min-width:30px;text-align:right;font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .group-header .move-icons{display:none}.eo-app-search .body .object-types .group .type{display:flex;flex-flow:row nowrap;align-items:center;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{display:flex;flex:1 1 auto;border-radius:2px;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);cursor:default;color:var(--text-color-body)}.eo-app-search .body .object-types .group .type .item eo-icon{color:var(--text-color-caption);width:16px;height:16px;box-sizing:content-box;padding:2px;border-radius:2px;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.eo-app-search .body .object-types .group:hover .group-header{display:flex;justify-content:space-between}.eo-app-search .body .object-types .group:hover .group-header .move-icons{display:flex}.eo-app-search .body .object-types .group:hover .group-header .move-left-icon,.eo-app-search .body .object-types .group:hover .group-header .move-right-icon,.eo-app-search .body .object-types .group:hover .group-header .move-left-first,.eo-app-search .body .object-types .group:hover .group-header .move-right-last{cursor:pointer;color:var(--text-color-caption)}.eo-app-search .body .object-types .group:hover .group-header .move-left-first{transform:rotate(180deg)}.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{display:flex;flex-flow:row;align-items:center}.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{display:flex;align-items:center;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{display:block;background-color:var(--color-primary-2)}.eo-app-search.rtl{left:0;right:0;animation:appSearchAppearRTL var(--app-default-transition-duration)}.eo-app-search.rtl .head .result,.eo-app-search.rtl .body .summary-panel{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body yvc-tabs{padding-right:0;padding-left:calc(var(--app-pane-padding) * 2 + var(--search-summary-width));padding-bottom: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;padding:0;margin:var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}.eo-app-search.expert .body h2 span{padding:calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:4px solid var(--color-accent)}.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{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px;background:var(--color-error);color:var(--color-white)}.eo-app-search.expert .body .fields h2{margin:calc(var(--app-pane-padding) / 2);flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-white-rgb),.3)}.eo-app-search.expert .body .fields .item{padding:calc(var(--app-pane-padding) / 2);cursor:pointer;border-radius:2px;background:rgba(var(--color-white-rgb),.06);margin-bottom:4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item:hover,.eo-app-search.expert .body .fields .item.selected{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{font-weight:var(--font-weight-bold);display:flex;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{flex:1 1 auto;display:flex;flex-flow:row;justify-content:flex-start;align-items:stretch;padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .system-types .column{flex:0 0 33%;box-sizing:border-box;display:flex;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{padding:calc(var(--app-pane-padding) / 2);flex:1 1 auto;overflow-y:auto}.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{width:20px;height:20px;cursor:pointer;border:1px solid var(--text-color-hint);border-radius:2px;margin:0 calc(var(--app-pane-padding) / 2)}.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)}@keyframes appSearchAppear{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}\n"] }]
17250
16782
  }], ctorParameters: () => [{ type: AppSearchService }, { type: i2$2.YvcOverlayService }, { type: i1.SearchService }, { type: i1.SystemService }, { type: i1.NotificationsService }, { type: i1.TranslateService }, { type: i2$1.Router }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.StoredQueriesService }, { type: i1.CapabilitiesService }, { type: i1.UserService }, { type: i1.Logger }, { type: i1.LocalStorageService }, { type: i1$3.FormBuilder }], propDecorators: { tplSearch: [{
17251
16783
  type: ViewChild,
17252
16784
  args: ['tplSearch', { read: TemplateRef }]
@@ -19120,10 +18652,11 @@ let ObjectHistoryComponent = class ObjectHistoryComponent {
19120
18652
  get params() {
19121
18653
  return this._params;
19122
18654
  }
19123
- constructor(dmsService, cd, eventService) {
18655
+ constructor(dmsService, cd, eventService, translate) {
19124
18656
  this.dmsService = dmsService;
19125
18657
  this.cd = cd;
19126
18658
  this.eventService = eventService;
18659
+ this.translate = translate;
19127
18660
  this._history = [];
19128
18661
  this.completeHistory = [];
19129
18662
  this.filters = [];
@@ -19154,22 +18687,26 @@ let ObjectHistoryComponent = class ObjectHistoryComponent {
19154
18687
  .getHistory(id, type, true)
19155
18688
  .pipe(map((res) => {
19156
18689
  const reversedRes = res.reverse();
18690
+ reversedRes.forEach(res => {
18691
+ res.title = this.translate.instant('eo.object.history.entry.type.' + res.type + '.title');
18692
+ res.description = this.translate.instant('eo.object.history.entry.type.' + (res.intent ? res.intent : res.type) + '.description');
18693
+ });
19157
18694
  this.completeHistory = reversedRes;
19158
18695
  this.history = reversedRes;
19159
18696
  this.cd.markForCheck();
19160
18697
  }))
19161
18698
  .subscribe();
19162
18699
  }
19163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, deps: [{ token: i1.DmsService }, { token: i0.ChangeDetectorRef }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Component }); }
19164
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: { params: "params" }, ngImport: i0, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span [translate]=\"'eo.object.history.entry.type.' + entry.type + '.title'\"></span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\"\n [translateParams]=\"entry.parameter\"\n [translate]=\"'eo.object.history.entry.type.' + (entry.intent ? entry.intent : entry.type) + '.description'\"></div>\n <div class=\"comment\">&quot;{{entry.comment}}&quot;</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span>{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n", styles: [":host .object-history{height:100%;min-width:350px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{font-weight:var(--font-weight-normal);font-size:var(--font-hint);white-space:nowrap;color:var(--text-color-caption)}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{font-size:var(--font-hint);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .meta>span{display:block;border-radius:2px;padding:2px 4px;font-size:var(--font-caption);background-color:rgba(var(--color-black-rgb),.08);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0}:host .timeline-entry.comment .what .comment{display:block;font-style:italic;color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: HistoryFilterComponent, selector: "eo-history-filter", inputs: ["visibleFilter", "filters", "history", "term"], outputs: ["onToggleFilter", "termChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: HistoryFilterPipe, name: "historyFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18700
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, deps: [{ token: i1.DmsService }, { token: i0.ChangeDetectorRef }, { token: i1.EventService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
18701
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: { params: "params" }, ngImport: i0, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span>{{entry.title}}</span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\">{{entry.description}}</div>\n <div class=\"comment\">&quot;{{entry.comment}}&quot;</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span [ngClass]=\"{inactive: !entry.user.active}\">{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n", styles: [":host .object-history{height:100%;min-width:350px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{font-weight:var(--font-weight-normal);font-size:var(--font-hint);white-space:nowrap;color:var(--text-color-caption)}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{font-size:var(--font-hint);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .meta>span{display:block;border-radius:2px;padding:2px 4px;font-size:var(--font-caption);background-color:rgba(var(--color-black-rgb),.08);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0}:host .timeline-entry .what .meta>span.inactive{text-decoration:line-through}:host .timeline-entry.comment .what .comment{display:block;font-style:italic;color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: HistoryFilterComponent, selector: "eo-history-filter", inputs: ["visibleFilter", "filters", "history", "term"], outputs: ["onToggleFilter", "termChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: HistoryFilterPipe, name: "historyFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19165
18702
  };
19166
18703
  ObjectHistoryComponent = __decorate([
19167
18704
  UntilDestroy()
19168
18705
  ], ObjectHistoryComponent);
19169
18706
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, decorators: [{
19170
18707
  type: Component,
19171
- args: [{ selector: 'eo-object-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span [translate]=\"'eo.object.history.entry.type.' + entry.type + '.title'\"></span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\"\n [translateParams]=\"entry.parameter\"\n [translate]=\"'eo.object.history.entry.type.' + (entry.intent ? entry.intent : entry.type) + '.description'\"></div>\n <div class=\"comment\">&quot;{{entry.comment}}&quot;</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span>{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n", styles: [":host .object-history{height:100%;min-width:350px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{font-weight:var(--font-weight-normal);font-size:var(--font-hint);white-space:nowrap;color:var(--text-color-caption)}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{font-size:var(--font-hint);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .meta>span{display:block;border-radius:2px;padding:2px 4px;font-size:var(--font-caption);background-color:rgba(var(--color-black-rgb),.08);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0}:host .timeline-entry.comment .what .comment{display:block;font-style:italic;color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}\n"] }]
19172
- }], ctorParameters: () => [{ type: i1.DmsService }, { type: i0.ChangeDetectorRef }, { type: i1.EventService }], propDecorators: { params: [{
18708
+ args: [{ selector: 'eo-object-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span>{{entry.title}}</span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\">{{entry.description}}</div>\n <div class=\"comment\">&quot;{{entry.comment}}&quot;</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span [ngClass]=\"{inactive: !entry.user.active}\">{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n", styles: [":host .object-history{height:100%;min-width:350px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{font-weight:var(--font-weight-normal);font-size:var(--font-hint);white-space:nowrap;color:var(--text-color-caption)}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{font-size:var(--font-hint);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .meta>span{display:block;border-radius:2px;padding:2px 4px;font-size:var(--font-caption);background-color:rgba(var(--color-black-rgb),.08);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0}:host .timeline-entry .what .meta>span.inactive{text-decoration:line-through}:host .timeline-entry.comment .what .comment{display:block;font-style:italic;color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}\n"] }]
18709
+ }], ctorParameters: () => [{ type: i1.DmsService }, { type: i0.ChangeDetectorRef }, { type: i1.EventService }, { type: i1.TranslateService }], propDecorators: { params: [{
19173
18710
  type: Input
19174
18711
  }] } });
19175
18712
 
@@ -19455,10 +18992,8 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19455
18992
  return this._emptyState;
19456
18993
  }
19457
18994
  set dmsParams(params) {
19458
- this.showLoader = true;
19459
18995
  this.loadDmsObject(params).subscribe((res) => {
19460
18996
  this.dmsObject = res;
19461
- this.showLoader = false;
19462
18997
  }, Utils.throw(() => this.onHasError(true, true, false)));
19463
18998
  }
19464
18999
  set dmsParams2(params) {
@@ -19468,9 +19003,13 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19468
19003
  }, Utils.throw(() => this.onHasError(true, true, false)));
19469
19004
  }
19470
19005
  set dmsObject(v) {
19006
+ // show loader if object is different and force change detection to show loader
19007
+ this.showLoader = true;
19008
+ this.cdr.detectChanges();
19471
19009
  const isDifferent = this.item?.id !== v?.id;
19472
19010
  this.item = v;
19473
19011
  this.onHasError();
19012
+ this.setupCapabilities();
19474
19013
  if (this.item?.id) {
19475
19014
  this.fetchAtiveProcessData(this.item?.id);
19476
19015
  }
@@ -19504,6 +19043,7 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19504
19043
  }
19505
19044
  set dmsObject2(v) {
19506
19045
  this.item2 = v;
19046
+ this.enableSync = !!this.item2?.version;
19507
19047
  this.onHasError();
19508
19048
  this.onIndexDataSaved(null, this.item2);
19509
19049
  }
@@ -19511,7 +19051,7 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19511
19051
  return this.item ? this.item.typeName : 'none';
19512
19052
  }
19513
19053
  // undockWinActive = false;
19514
- constructor(router, route, system, empty, agentService, backend, dmsService, selection, actionService, capabilityService, uploadRegistry, eventService, configService, bpmService, translate) {
19054
+ constructor(router, route, system, empty, agentService, backend, dmsService, selection, actionService, capabilityService, uploadRegistry, eventService, configService, bpmService, translate, cdr) {
19515
19055
  this.router = router;
19516
19056
  this.route = route;
19517
19057
  this.system = system;
@@ -19527,6 +19067,7 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19527
19067
  this.configService = configService;
19528
19068
  this.bpmService = bpmService;
19529
19069
  this.translate = translate;
19070
+ this.cdr = cdr;
19530
19071
  // generate unique id to pass to upload registry
19531
19072
  this.uploadTarget = new UploadTarget(Utils.uuid(), UploadTarget.OBJECT);
19532
19073
  this.hasError = false;
@@ -19540,7 +19081,8 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19540
19081
  this.recyclebinTabs = false;
19541
19082
  this.versionComponentTabs = false;
19542
19083
  this.enableDiff = true;
19543
- this.enableSync = true;
19084
+ this.enableSync = false;
19085
+ this.onEnableSync = true;
19544
19086
  this.tabs = [];
19545
19087
  this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
19546
19088
  this.preventClickThrough = false;
@@ -19605,7 +19147,6 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19605
19147
  .focus$
19606
19148
  .pipe(untilDestroyed(this))
19607
19149
  .subscribe(res => {
19608
- this.showLoader = true;
19609
19150
  this.loadDmsObject(this.parseDmsParams(res)).subscribe((res) => {
19610
19151
  // refreshing object details may result in an updated version of the object
19611
19152
  // so we'll use this trigger to also emitt those changes to other listening components
@@ -19613,7 +19154,6 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19613
19154
  this.eventService.trigger(EnaioEvent.DMS_OBJECT_UPDATED, res);
19614
19155
  }
19615
19156
  this.dmsObject = res;
19616
- this.showLoader = false;
19617
19157
  }, Utils.throw((error) => {
19618
19158
  this.uploadRegistry.unregister(this.uploadTarget.id);
19619
19159
  return this.onHasError(true, true, false);
@@ -19725,7 +19265,7 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19725
19265
  });
19726
19266
  }
19727
19267
  onCompareTabChange(event) {
19728
- if (this.enableSync) {
19268
+ if (this.enableSync && this.onEnableSync) {
19729
19269
  this.tabContainers.forEach(t => {
19730
19270
  if (t.selectedTab !== event) {
19731
19271
  t.selectById(event);
@@ -19766,7 +19306,12 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19766
19306
  const plugins = this.plugins?.map(p => p.id) || [];
19767
19307
  this.tabs = [..._primary, ..._secondary, ...plugins].filter(t => !block.includes(t));
19768
19308
  if (this.versionComponentTabs) {
19769
- this.tabs = this.tabs.filter(tab => ["summary", "indexdata", "preview"].includes(tab));
19309
+ if (this.item?.isFolder) {
19310
+ this.tabs = this.tabs.filter(tab => ['summary', 'indexdata'].includes(tab));
19311
+ }
19312
+ else {
19313
+ this.tabs = this.tabs.filter(tab => ['summary', 'indexdata', 'preview', 'signature'].includes(tab));
19314
+ }
19770
19315
  }
19771
19316
  const diff = this.tabs.filter(t => !primary?.includes(t) && !secondary?.includes(t));
19772
19317
  const _pTabs = [..._primary, ...plugins.filter(p => !_primary.includes(p))];
@@ -19790,7 +19335,6 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19790
19335
  }
19791
19336
  ngOnInit() {
19792
19337
  this.capabilities = this.capabilityService.getCapabilities();
19793
- this.setupCapabilities();
19794
19338
  this.updateContent();
19795
19339
  this.eventService
19796
19340
  .on(EnaioEvent.DMS_OBJECT_UPDATED)
@@ -19812,21 +19356,29 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
19812
19356
  }
19813
19357
  });
19814
19358
  }
19815
- ngAfterViewInit() {
19359
+ /**
19360
+ * Handles the `hasContentLoaded` event emitted by the `eo-media` component.
19361
+ * It sets the `showLoader` property to false, indicating that the content has finished loading.
19362
+ *
19363
+ * @param event - A boolean value representing the loading state of the content.
19364
+ * It is expected to be `true` when the content is fully loaded.
19365
+ */
19366
+ hasContentLoaded(event) {
19367
+ this.showLoader = false;
19816
19368
  }
19817
19369
  ngOnDestroy() {
19818
19370
  this.uploadRegistry.unregister(this.uploadTarget.id);
19819
19371
  }
19820
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectDetailsComponent, deps: [{ token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: i1.SystemService }, { token: EmptyStateService }, { token: AgentService }, { token: i1.BackendService }, { token: i1.DmsService }, { token: SelectionService }, { token: ActionService }, { token: i1.CapabilitiesService }, { token: i1.UploadRegistryService }, { token: i1.EventService }, { token: i1.Config }, { token: i1.BpmService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
19821
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.4", type: ObjectDetailsComponent, selector: "eo-object-details", inputs: { plugins: "plugins", reference: "reference", searchTerm: "searchTerm", enableCompare: "enableCompare", recyclebinTabs: "recyclebinTabs", versionComponentTabs: "versionComponentTabs", enableDiff: "enableDiff", enableSync: "enableSync", cacheLayout: "cacheLayout", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsParams2: ["params2", "dmsParams2"], dmsObject: ["item", "dmsObject"], dmsObject2: ["item2", "dmsObject2"], applySelection: "applySelection", parseDmsParams: "parseDmsParams" }, outputs: { hasContent: "hasContent" }, host: { properties: { "class.reference": "this.isReference", "attr.data-type": "this.dataType" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "eoSplitTabs", first: true, predicate: SplitTabsComponent, descendants: true }, { propertyName: "tabContainers", predicate: Tabs, descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container>\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"\n [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\"\n [ngClass]=\"{'enabled': enableSync}\" [iconSrc]=\"'assets/_default/svg/ic_link.svg'\"\n [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\" (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content?.id\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && item.content?.id && item.rights.edit && (agentIsConnected$ | async)\n && !item.isFinalized && item.data.yuvsigstatus !== 'signed' && item.data.yuvsigstatus !== 'inprocess'\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\" [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate: {due: item.resubmissions[0].due | localeDate, info: item.resubmissions[0].info}\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data?.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data?.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon stopped\"\n *ngIf=\"item.data?.yuvsigstatus === 'canceled'\n || item.data?.yuvsigstatus === 'revised' || item.data?.yuvsigstatus === 'error' || item.data?.yuvsigstatus === 'expired'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.stopped' | translate\"></eo-icon>\n @if (item.processcount > 0) {\n <eo-icon class=\"resubmission-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"\n [iconTitle]=\"'eo.object.processcount.tooltip' | translate : {processcount: item?.processcount, text: processTooltip}\"></eo-icon>\n }\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\" [config]=\"splitTabConfig\" *ngIf=\"!item2; else tplCompare\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\"\n #viewer></eo-media>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n <!-- links -->\n <ng-template [yvcTab]=\"{id: 'links', label: 'eo.object.links.title' | translate}\">\n <eo-object-links [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n <!-- signature -->\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n </yvc-split-tabs>\n\n <ng-template #tplCompare>\n <yvc-split-view>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item, baseparams, indexdata: indexDataPreview, searchTerm}\"></ng-container>\n </div>\n\n </ng-template>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item2.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item: item2, baseparams: baseparams2, indexdata: indexDataPreview2, searchTerm, diff: {baseparams, baseparams2, indexdata: indexDataPreview, indexdata2: indexDataPreview2}}\"></ng-container>\n </div>\n </ng-template>\n\n </yvc-split-view>\n </ng-template>\n\n <ng-template #tplTabs let-item=\"item\" let-indexdata=\"indexdata\" let-baseparams=\"baseparams\"\n let-searchTerm=\"searchTerm\" let-diff=\"diff\">\n <yvc-tabs (tabChange)=\"onCompareTabChange($event)\" layoutSettingsID=\"{{'eo.object.details.compare.tabs' + (diff ? '.0' : '.1')}}\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexdata\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"true\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n <!-- changes -->\n <ng-template *ngIf=\"diff\"\n [yvcTab]=\"{id: 'changes', label: 'eo.object.changes.title' | translate}\">\n <eo-indexdata-summary [diff]=\"diff\" [enableVersions]=\"false\" [isChangesTab]=\"versionComponentTabs\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n\n </yvc-tabs>\n </ng-template>\n\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto;--panel-divider-color: var(--panel-header-border-bottom-color)}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body .cmp-wrapper{height:100%;flex-flow:column;display:flex}:host .eo-body .cmp-wrapper .cmp-info{background-color:var(--panel-background);padding:2px}:host .eo-body .cmp-wrapper .cmp-info .version{margin:2px;border-radius:2px;background-color:var(--panel-background-lightgrey);border:1px dashed var(--panel-divider-color);color:var(--text-color-caption);text-align:center}:host .eo-body .cmp-wrapper .cmp-info .version>span{margin-inline-start:.5em;font-weight:700}:host .eo-body yvc-split-view,:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .lock.myLock{color:var(--color-white);background:var(--state-orange)!important}:host .not-found{color:var(--panel-background);text-align:center;margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 4);border-radius:2px;flex:0 0 auto;background:var(--color-error)}:host .eo-header-status-icons{margin-top:var(--app-pane-padding);display:flex;justify-content:flex-end}:host .eo-header-status-icons>eo-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 4);color:var(--color-white);margin-left:1px;background-color:var(--color-primary-2)}:host .eo-header-status-icons>eo-icon:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.stopped{background-color:var(--color-error)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{margin:0 calc(var(--app-pane-padding) / 4);display:flex;align-items:center;color:var(--color-white);font-size:var(--font-hint);line-height:var(--font-hint);border-radius:2px;padding:0 4px 1px;text-decoration:none;background-color:var(--color-success)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep yvc-tabs{flex:1;height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .object-form-edit{position:relative;height:100%;margin:0;overflow:hidden;background:transparent!important}:host ::ng-deep .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep .object-form-edit eo-object-form .eo-object-form{margin:var(--app-pane-padding);background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1)}:host ::ng-deep .object-form-edit .form-controls{animation:eoFadeInUp .2s}:host ::ng-deep .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{cursor:default;color:var(--color-primary-3)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ObjectFormEditComponent, selector: "eo-object-form-edit", inputs: ["formDisabled", "dmsObject"], outputs: ["indexDataSaved"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "directive", type: ShortcutsDirective, selector: "[eoShortcuts]", inputs: ["eoShortcuts"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: SignatureTabComponent, selector: "eo-signature-tab", inputs: ["dmsObject"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i19.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "component", type: ObjectLinksComponent, selector: "eo-object-links", inputs: ["dmsObject"] }, { kind: "component", type: FavoriteIconComponent, selector: "eo-favorite-icon", inputs: ["item"] }, { kind: "component", type: EditIconComponent, selector: "eo-edit-icon", inputs: ["item"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
19372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectDetailsComponent, deps: [{ token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: i1.SystemService }, { token: EmptyStateService }, { token: AgentService }, { token: i1.BackendService }, { token: i1.DmsService }, { token: SelectionService }, { token: ActionService }, { token: i1.CapabilitiesService }, { token: i1.UploadRegistryService }, { token: i1.EventService }, { token: i1.Config }, { token: i1.BpmService }, { token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
19373
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.4", type: ObjectDetailsComponent, selector: "eo-object-details", inputs: { plugins: "plugins", reference: "reference", searchTerm: "searchTerm", enableCompare: "enableCompare", recyclebinTabs: "recyclebinTabs", versionComponentTabs: "versionComponentTabs", enableDiff: "enableDiff", enableSync: "enableSync", cacheLayout: "cacheLayout", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsParams2: ["params2", "dmsParams2"], dmsObject: ["item", "dmsObject"], dmsObject2: ["item2", "dmsObject2"], applySelection: "applySelection", parseDmsParams: "parseDmsParams" }, outputs: { hasContent: "hasContent" }, host: { properties: { "class.reference": "this.isReference", "attr.data-type": "this.dataType" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "eoSplitTabs", first: true, predicate: SplitTabsComponent, descendants: true }, { propertyName: "tabContainers", predicate: Tabs, descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container>\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"\n [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\"\n [ngClass]=\"{'enabled': onEnableSync,'disable': !enableSync}\" [iconSrc]=\"'assets/_default/svg/ic_link.svg'\"\n [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\" (click)=\"onEnableSync = !onEnableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content?.id\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && item.content?.id && item.rights.edit && (agentIsConnected$ | async)\n && !item.isFinalized && item.data.yuvsigstatus !== 'signed' && item.data.yuvsigstatus !== 'inprocess'\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\" [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate: {due: item.resubmissions[0].due | localeDate, info: item.resubmissions[0].info}\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data?.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data?.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon stopped\"\n *ngIf=\"item.data?.yuvsigstatus === 'canceled'\n || item.data?.yuvsigstatus === 'revised' || item.data?.yuvsigstatus === 'error' || item.data?.yuvsigstatus === 'expired'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.stopped' | translate\"></eo-icon>\n @if (item.processcount > 0) {\n <eo-icon class=\"resubmission-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"\n [iconTitle]=\"'eo.object.processcount.tooltip' | translate : {processcount: item?.processcount, text: processTooltip}\"></eo-icon>\n }\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\" [config]=\"splitTabConfig\" *ngIf=\"!item2; else tplCompare\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" (hasContentLoaded)=\"hasContentLoaded($event)\"\n #viewer></eo-media>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n <!-- links -->\n <ng-template [yvcTab]=\"{id: 'links', label: 'eo.object.links.title' | translate}\">\n <eo-object-links [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n <!-- signature -->\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n </yvc-split-tabs>\n\n <ng-template #tplCompare>\n <yvc-split-view>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item, baseparams, indexdata: indexDataPreview, searchTerm}\"></ng-container>\n </div>\n\n </ng-template>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item2.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item: item2, baseparams: baseparams2, indexdata: indexDataPreview2, searchTerm, diff: {baseparams, baseparams2, indexdata: indexDataPreview, indexdata2: indexDataPreview2}}\"></ng-container>\n </div>\n </ng-template>\n\n </yvc-split-view>\n </ng-template>\n\n <ng-template #tplTabs let-item=\"item\" let-indexdata=\"indexdata\" let-baseparams=\"baseparams\"\n let-searchTerm=\"searchTerm\" let-diff=\"diff\">\n <yvc-tabs (tabChange)=\"onCompareTabChange($event)\" layoutSettingsID=\"{{'eo.object.details.compare.tabs' + (diff ? '.0' : '.1')}}\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexdata\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\" [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n @if (!item?.isFolder){\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"true\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n <!-- signature -->\n @if (capabilities.signing){\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n }\n }\n <!-- changes -->\n <ng-template *ngIf=\"diff\"\n [yvcTab]=\"{id: 'changes', label: 'eo.object.changes.title' | translate}\">\n <eo-indexdata-summary [diff]=\"diff\" [enableVersions]=\"false\" [isChangesTab]=\"versionComponentTabs\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n\n </yvc-tabs>\n </ng-template>\n\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto;--panel-divider-color: var(--panel-header-border-bottom-color)}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body .cmp-wrapper{height:100%;flex-flow:column;display:flex}:host .eo-body .cmp-wrapper .cmp-info{background-color:var(--panel-background);padding:2px}:host .eo-body .cmp-wrapper .cmp-info .version{margin:2px;border-radius:2px;background-color:var(--panel-background-lightgrey);border:1px dashed var(--panel-divider-color);color:var(--text-color-caption);text-align:center}:host .eo-body .cmp-wrapper .cmp-info .version>span{margin-inline-start:.5em;font-weight:700}:host .eo-body yvc-split-view,:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .sync-tab-btn.disable{display:none}:host .lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .lock.myLock{color:var(--color-white);background:var(--state-orange)!important}:host .not-found{color:var(--panel-background);text-align:center;margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 4);border-radius:2px;flex:0 0 auto;background:var(--color-error)}:host .eo-header-status-icons{margin-top:var(--app-pane-padding);display:flex;justify-content:flex-end}:host .eo-header-status-icons>eo-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 4);color:var(--color-white);margin-left:1px;background-color:var(--color-primary-2)}:host .eo-header-status-icons>eo-icon:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.stopped{background-color:var(--color-error)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{margin:0 calc(var(--app-pane-padding) / 4);display:flex;align-items:center;color:var(--color-white);font-size:var(--font-hint);line-height:var(--font-hint);border-radius:2px;padding:0 4px 1px;text-decoration:none;background-color:var(--color-success)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep yvc-tabs{flex:1;height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .object-form-edit{position:relative;height:100%;margin:0;overflow:hidden;background:transparent!important}:host ::ng-deep .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep .object-form-edit eo-object-form .eo-object-form{margin:var(--app-pane-padding);background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1)}:host ::ng-deep .object-form-edit .form-controls{animation:eoFadeInUp .2s}:host ::ng-deep .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{cursor:default;color:var(--color-primary-3)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ObjectFormEditComponent, selector: "eo-object-form-edit", inputs: ["formDisabled", "dmsObject"], outputs: ["indexDataSaved"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"], outputs: ["hasContentLoaded"] }, { kind: "directive", type: ShortcutsDirective, selector: "[eoShortcuts]", inputs: ["eoShortcuts"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: SignatureTabComponent, selector: "eo-signature-tab", inputs: ["dmsObject"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i19.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "component", type: ObjectLinksComponent, selector: "eo-object-links", inputs: ["dmsObject"] }, { kind: "component", type: FavoriteIconComponent, selector: "eo-favorite-icon", inputs: ["item"] }, { kind: "component", type: EditIconComponent, selector: "eo-edit-icon", inputs: ["item"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
19822
19374
  };
19823
19375
  ObjectDetailsComponent = __decorate([
19824
19376
  UntilDestroy()
19825
19377
  ], ObjectDetailsComponent);
19826
19378
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectDetailsComponent, decorators: [{
19827
19379
  type: Component,
19828
- args: [{ selector: 'eo-object-details', providers: [ContentPreviewService], template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container>\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"\n [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\"\n [ngClass]=\"{'enabled': enableSync}\" [iconSrc]=\"'assets/_default/svg/ic_link.svg'\"\n [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\" (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content?.id\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && item.content?.id && item.rights.edit && (agentIsConnected$ | async)\n && !item.isFinalized && item.data.yuvsigstatus !== 'signed' && item.data.yuvsigstatus !== 'inprocess'\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\" [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate: {due: item.resubmissions[0].due | localeDate, info: item.resubmissions[0].info}\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data?.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data?.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon stopped\"\n *ngIf=\"item.data?.yuvsigstatus === 'canceled'\n || item.data?.yuvsigstatus === 'revised' || item.data?.yuvsigstatus === 'error' || item.data?.yuvsigstatus === 'expired'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.stopped' | translate\"></eo-icon>\n @if (item.processcount > 0) {\n <eo-icon class=\"resubmission-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"\n [iconTitle]=\"'eo.object.processcount.tooltip' | translate : {processcount: item?.processcount, text: processTooltip}\"></eo-icon>\n }\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\" [config]=\"splitTabConfig\" *ngIf=\"!item2; else tplCompare\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\"\n #viewer></eo-media>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n <!-- links -->\n <ng-template [yvcTab]=\"{id: 'links', label: 'eo.object.links.title' | translate}\">\n <eo-object-links [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n <!-- signature -->\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n </yvc-split-tabs>\n\n <ng-template #tplCompare>\n <yvc-split-view>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item, baseparams, indexdata: indexDataPreview, searchTerm}\"></ng-container>\n </div>\n\n </ng-template>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item2.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item: item2, baseparams: baseparams2, indexdata: indexDataPreview2, searchTerm, diff: {baseparams, baseparams2, indexdata: indexDataPreview, indexdata2: indexDataPreview2}}\"></ng-container>\n </div>\n </ng-template>\n\n </yvc-split-view>\n </ng-template>\n\n <ng-template #tplTabs let-item=\"item\" let-indexdata=\"indexdata\" let-baseparams=\"baseparams\"\n let-searchTerm=\"searchTerm\" let-diff=\"diff\">\n <yvc-tabs (tabChange)=\"onCompareTabChange($event)\" layoutSettingsID=\"{{'eo.object.details.compare.tabs' + (diff ? '.0' : '.1')}}\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexdata\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"true\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n <!-- changes -->\n <ng-template *ngIf=\"diff\"\n [yvcTab]=\"{id: 'changes', label: 'eo.object.changes.title' | translate}\">\n <eo-indexdata-summary [diff]=\"diff\" [enableVersions]=\"false\" [isChangesTab]=\"versionComponentTabs\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n\n </yvc-tabs>\n </ng-template>\n\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto;--panel-divider-color: var(--panel-header-border-bottom-color)}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body .cmp-wrapper{height:100%;flex-flow:column;display:flex}:host .eo-body .cmp-wrapper .cmp-info{background-color:var(--panel-background);padding:2px}:host .eo-body .cmp-wrapper .cmp-info .version{margin:2px;border-radius:2px;background-color:var(--panel-background-lightgrey);border:1px dashed var(--panel-divider-color);color:var(--text-color-caption);text-align:center}:host .eo-body .cmp-wrapper .cmp-info .version>span{margin-inline-start:.5em;font-weight:700}:host .eo-body yvc-split-view,:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .lock.myLock{color:var(--color-white);background:var(--state-orange)!important}:host .not-found{color:var(--panel-background);text-align:center;margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 4);border-radius:2px;flex:0 0 auto;background:var(--color-error)}:host .eo-header-status-icons{margin-top:var(--app-pane-padding);display:flex;justify-content:flex-end}:host .eo-header-status-icons>eo-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 4);color:var(--color-white);margin-left:1px;background-color:var(--color-primary-2)}:host .eo-header-status-icons>eo-icon:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.stopped{background-color:var(--color-error)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{margin:0 calc(var(--app-pane-padding) / 4);display:flex;align-items:center;color:var(--color-white);font-size:var(--font-hint);line-height:var(--font-hint);border-radius:2px;padding:0 4px 1px;text-decoration:none;background-color:var(--color-success)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep yvc-tabs{flex:1;height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .object-form-edit{position:relative;height:100%;margin:0;overflow:hidden;background:transparent!important}:host ::ng-deep .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep .object-form-edit eo-object-form .eo-object-form{margin:var(--app-pane-padding);background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1)}:host ::ng-deep .object-form-edit .form-controls{animation:eoFadeInUp .2s}:host ::ng-deep .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{cursor:default;color:var(--color-primary-3)}\n"] }]
19829
- }], ctorParameters: () => [{ type: i2$1.Router }, { type: i2$1.ActivatedRoute }, { type: i1.SystemService }, { type: EmptyStateService }, { type: AgentService }, { type: i1.BackendService }, { type: i1.DmsService }, { type: SelectionService }, { type: ActionService }, { type: i1.CapabilitiesService }, { type: i1.UploadRegistryService }, { type: i1.EventService }, { type: i1.Config }, { type: i1.BpmService }, { type: i1.TranslateService }], propDecorators: { preview: [{
19380
+ args: [{ selector: 'eo-object-details', providers: [ContentPreviewService], template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container>\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"\n [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\"\n [ngClass]=\"{'enabled': onEnableSync,'disable': !enableSync}\" [iconSrc]=\"'assets/_default/svg/ic_link.svg'\"\n [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\" (click)=\"onEnableSync = !onEnableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content?.id\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && item.content?.id && item.rights.edit && (agentIsConnected$ | async)\n && !item.isFinalized && item.data.yuvsigstatus !== 'signed' && item.data.yuvsigstatus !== 'inprocess'\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\" [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate: {due: item.resubmissions[0].due | localeDate, info: item.resubmissions[0].info}\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data?.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data?.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon stopped\"\n *ngIf=\"item.data?.yuvsigstatus === 'canceled'\n || item.data?.yuvsigstatus === 'revised' || item.data?.yuvsigstatus === 'error' || item.data?.yuvsigstatus === 'expired'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.stopped' | translate\"></eo-icon>\n @if (item.processcount > 0) {\n <eo-icon class=\"resubmission-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"\n [iconTitle]=\"'eo.object.processcount.tooltip' | translate : {processcount: item?.processcount, text: processTooltip}\"></eo-icon>\n }\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\" [config]=\"splitTabConfig\" *ngIf=\"!item2; else tplCompare\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" (hasContentLoaded)=\"hasContentLoaded($event)\"\n #viewer></eo-media>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n <!-- links -->\n <ng-template [yvcTab]=\"{id: 'links', label: 'eo.object.links.title' | translate}\">\n <eo-object-links [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n <!-- signature -->\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n </yvc-split-tabs>\n\n <ng-template #tplCompare>\n <yvc-split-view>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item, baseparams, indexdata: indexDataPreview, searchTerm}\"></ng-container>\n </div>\n\n </ng-template>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item2.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item: item2, baseparams: baseparams2, indexdata: indexDataPreview2, searchTerm, diff: {baseparams, baseparams2, indexdata: indexDataPreview, indexdata2: indexDataPreview2}}\"></ng-container>\n </div>\n </ng-template>\n\n </yvc-split-view>\n </ng-template>\n\n <ng-template #tplTabs let-item=\"item\" let-indexdata=\"indexdata\" let-baseparams=\"baseparams\"\n let-searchTerm=\"searchTerm\" let-diff=\"diff\">\n <yvc-tabs (tabChange)=\"onCompareTabChange($event)\" layoutSettingsID=\"{{'eo.object.details.compare.tabs' + (diff ? '.0' : '.1')}}\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexdata\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\" [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n @if (!item?.isFolder){\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"true\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n <!-- signature -->\n @if (capabilities.signing){\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n }\n }\n <!-- changes -->\n <ng-template *ngIf=\"diff\"\n [yvcTab]=\"{id: 'changes', label: 'eo.object.changes.title' | translate}\">\n <eo-indexdata-summary [diff]=\"diff\" [enableVersions]=\"false\" [isChangesTab]=\"versionComponentTabs\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n\n </yvc-tabs>\n </ng-template>\n\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto;--panel-divider-color: var(--panel-header-border-bottom-color)}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body .cmp-wrapper{height:100%;flex-flow:column;display:flex}:host .eo-body .cmp-wrapper .cmp-info{background-color:var(--panel-background);padding:2px}:host .eo-body .cmp-wrapper .cmp-info .version{margin:2px;border-radius:2px;background-color:var(--panel-background-lightgrey);border:1px dashed var(--panel-divider-color);color:var(--text-color-caption);text-align:center}:host .eo-body .cmp-wrapper .cmp-info .version>span{margin-inline-start:.5em;font-weight:700}:host .eo-body yvc-split-view,:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .sync-tab-btn.disable{display:none}:host .lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .lock.myLock{color:var(--color-white);background:var(--state-orange)!important}:host .not-found{color:var(--panel-background);text-align:center;margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 4);border-radius:2px;flex:0 0 auto;background:var(--color-error)}:host .eo-header-status-icons{margin-top:var(--app-pane-padding);display:flex;justify-content:flex-end}:host .eo-header-status-icons>eo-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 4);color:var(--color-white);margin-left:1px;background-color:var(--color-primary-2)}:host .eo-header-status-icons>eo-icon:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.stopped{background-color:var(--color-error)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{margin:0 calc(var(--app-pane-padding) / 4);display:flex;align-items:center;color:var(--color-white);font-size:var(--font-hint);line-height:var(--font-hint);border-radius:2px;padding:0 4px 1px;text-decoration:none;background-color:var(--color-success)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep yvc-tabs{flex:1;height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .object-form-edit{position:relative;height:100%;margin:0;overflow:hidden;background:transparent!important}:host ::ng-deep .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep .object-form-edit eo-object-form .eo-object-form{margin:var(--app-pane-padding);background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1)}:host ::ng-deep .object-form-edit .form-controls{animation:eoFadeInUp .2s}:host ::ng-deep .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{cursor:default;color:var(--color-primary-3)}\n"] }]
19381
+ }], ctorParameters: () => [{ type: i2$1.Router }, { type: i2$1.ActivatedRoute }, { type: i1.SystemService }, { type: EmptyStateService }, { type: AgentService }, { type: i1.BackendService }, { type: i1.DmsService }, { type: SelectionService }, { type: ActionService }, { type: i1.CapabilitiesService }, { type: i1.UploadRegistryService }, { type: i1.EventService }, { type: i1.Config }, { type: i1.BpmService }, { type: i1.TranslateService }, { type: i0.ChangeDetectorRef }], propDecorators: { preview: [{
19830
19382
  type: ViewChild,
19831
19383
  args: ['viewer']
19832
19384
  }], eoSplitTabs: [{
@@ -20090,7 +19642,7 @@ let RecyclebinDetailsComponent = class RecyclebinDetailsComponent {
20090
19642
  ngAfterViewInit() {
20091
19643
  }
20092
19644
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RecyclebinDetailsComponent, deps: [{ token: i2$1.Router }, { token: i1.SystemService }, { token: EmptyStateService }, { token: i1.BackendService }, { token: i1.UserService }, { token: i1.NotificationsService }, { token: i1.DmsService }, { token: SelectionService }, { token: i1.CapabilitiesService }, { token: i1.EventService }, { token: i1.Config }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
20093
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: { plugins: "plugins", cacheLayout: "cacheLayout", applySelection: "applySelection", parseDmsParams: "parseDmsParams", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsObject: ["item", "dmsObject"] }, outputs: { hasContent: "hasContent" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\"\n class=\"button\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"button\" [ngClass]=\"{disabled: !this.item.rights.delete}\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"this.item.rights.delete ? ('eo.recyclebin.details.delete.tooltip' | translate) : ('eo.recyclebin.details.delete.disabled.tooltip' | translate)\"\n (click)=\"showDialog();\"></eo-icon>\n <button (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs>\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [useVersion]=\"item.id === item.content?.id\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.cta.button.delete</button>\n </div>\n</eo-dialog>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4)}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i19.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
19645
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: { plugins: "plugins", cacheLayout: "cacheLayout", applySelection: "applySelection", parseDmsParams: "parseDmsParams", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsObject: ["item", "dmsObject"] }, outputs: { hasContent: "hasContent" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\"\n class=\"button\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"button\" [ngClass]=\"{disabled: !this.item.rights.delete}\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"this.item.rights.delete ? ('eo.recyclebin.details.delete.tooltip' | translate) : ('eo.recyclebin.details.delete.disabled.tooltip' | translate)\"\n (click)=\"showDialog();\"></eo-icon>\n <button (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs>\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [useVersion]=\"item.id === item.content?.id\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.cta.button.delete</button>\n </div>\n</eo-dialog>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4)}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"], outputs: ["hasContentLoaded"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i19.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
20094
19646
  };
20095
19647
  RecyclebinDetailsComponent = __decorate([
20096
19648
  UntilDestroy()
@@ -20902,7 +20454,7 @@ let PrepareDetailsComponent = class PrepareDetailsComponent {
20902
20454
  }
20903
20455
  }
20904
20456
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PrepareDetailsComponent, deps: [{ token: i1.PrepareService }, { token: i2$1.Router }, { token: PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SystemService }, { token: SelectionService }, { token: i1.BackendService }, { token: i1.CapabilitiesService }], target: i0.ɵɵFactoryTarget.Component }); }
20905
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PrepareDetailsComponent, selector: "eo-prepare-details", inputs: { preparedItem: "preparedItem", emptyState: "emptyState", applySelection: "applySelection" }, outputs: { onItemChanged: "onItemChanged", onCommit: "onCommit", onItemRemove: "onItemRemove" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true }, { propertyName: "objectForm", first: true, predicate: ["form"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }, { propertyName: "confirmContentDeleteButton", first: true, predicate: ["confirmContentDelete"], descendants: true }], ngImport: i0, template: "<div class=\"prepareDetails__wrapper\" *ngIf=\"!loading; else mainSpinner\">\n <section class=\"prepareDetails\" *ngIf=\"preparedItem && preparePhase; else noItem\"\n [ngClass]=\"{multifile: preparedItem.contentcount > 1, committing: committing}\">\n <div class=\"eo-head\">\n\n <div class=\"header-info\">\n <div class=\"header-title\">{{header.title}}</div>\n <div class=\"header-sub-title h-location\" *ngIf=\"!header.location.link; else linked\">{{header.location.label}}\n </div>\n <div class=\"header-sub-title h-subtitle\">{{header.subtitle}}</div>\n\n <ng-template #linked>\n <div class=\"header-sub-title h-subtitle-detailed\">\n <span translate>eo.prepare.location.title.prefix</span>\n <a [routerLink]=\"header.location.link\">{{header.location.label}}</a>\n </div>\n </ng-template>\n </div>\n\n <div class=\"actions\">\n <eo-icon class=\"btn btn-download\"\n *ngIf=\"preparePhase.name === 'content' ? selectedTemplateFile : preparePhase.data.previewFile\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" (click)=\"download()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <!-- buttons while choosing a template -->\n <ng-container *ngIf=\"chooseTemplate\">\n <button class=\"btn-tpl-abort\" (click)=\"showTemplateSelector(false)\"\n translate>eo.cta.button.cancel</button>\n <button class=\"primary btn-tpl-apply\" (click)=\"addTemplate(selectedTemplate)\" [disabled]=\"!selectedTemplate\"\n translate>eo.prepare.template.select</button>\n </ng-container>\n\n <ng-container *ngIf=\"preparePhase.name === 'indexdata'\">\n <button (click)=\"resetObjectType()\" translate>eo.prepare.resetObject</button>\n <button (click)=\"commit()\" class=\"btn-idx-save\"\n [ngClass]=\"{primary: preparedItem.state.parentisroot && preparedItem.contentcount > 1}\"\n [disabled]=\"formState?.invalid || committing\" translate>eo.prepare.save</button>\n\n <button (click)=\"commit(true)\" [disabled]=\"formState?.invalid || committing\" class=\"primary btn-idx-saveopen\"\n [hidden]=\"preparedItem?.state.parentisroot && preparedItem?.contentcount > 1\"\n translate>eo.prepare.saveopen</button>\n\n </ng-container>\n </div>\n\n </div>\n\n <div class=\"eo-body\" [ngSwitch]=\"preparePhase.name\" *ngIf=\"!committing; else spinner\">\n\n <!-- PHASE TYPE -->\n <div class=\"phase type\" *ngSwitchCase=\"'type'\">\n\n <!-- with preview -->\n <yvc-split-view *ngIf=\"preparePhase.data.previewFile; else nopreview\"\n [layoutSettingsID]=\"'prepare.details.phase.type'\">\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"form-files\">\n <div class=\"object-type-select empty\" *ngIf=\"preparedItem.types.length == 0\" translate>\n eo.prepare.details.type.empty</div>\n <div class=\"object-type-select empty\"\n *ngIf=\"!preparedItem.state.typeselectedallowed && preparedItem.state.typeselected\"\n [translateParams]=\"{type: preparedItem.selectedtype.label, filename: getFileNames(preparedItem)}\"\n translate>eo.prepare.details.type.notallowed</div>\n\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n\n\n <div class=\"content-select\">\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx;\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex == idx}\" (click)=\"setPreviewUri(idx)\">\n <span>{{content.path}}</span>\n <eo-icon class=\"btn btn-delete-content\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showContentDeleteDialog = true; deletedContentIndex = idx;\"></eo-icon>\n <div *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- without preview -->\n <ng-template #nopreview>\n <div class=\"form-files\">\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n </div>\n\n <!-- PHASE CONTENT -->\n <div class=\"phase content\" *ngSwitchCase=\"'content'\">\n\n <!-- panel for selecting a template to be used as items content -->\n <yvc-split-view *ngIf=\"chooseTemplate; else attach\" [layoutSettingsID]=\"'prepare.details.phase.content'\">\n <ng-template yvcSplitArea [size]=\"40\">\n <!-- list of available templates -->\n <eo-list-container #eoList [loading]=\"false\" class=\"templates\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_template.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.prepare.template.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [title]=\"'eo.list.filter' | translate\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.prepare.template.filter.text.title' | translate\"\n [matchFields]=\"['title', 'description', 'tags']\"\n [placeholder]=\"'eo.prepare.template.filter.text.title'\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.prepare.template.filter.set.title' | translate\"\n *ngIf=\"tagFilterOptions?.length\" [options]=\"tagFilterOptions\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"false\" [selectionLimit]=\"1\"\n (eoGridSelectionChanged)=\"selectTemplate($event[0])\">\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"60\">\n <!-- preview of selected template -->\n <eo-media [previewFile]=\"selectedTemplateFile\"></eo-media>\n </ng-template>\n </yvc-split-view>\n\n <!-- add content general overview (upload, template, none) -->\n <ng-template #attach>\n\n <div class=\"info\" *ngIf=\"!uploadInProgress\" translate>eo.prepare.attachment.info</div>\n <input type=\"file\" #file (change)=\"fileChangeListener($event.target.files)\">\n\n <div class=\"attachments\" *ngIf=\"!uploadInProgress; else uploadspinner\">\n\n <!-- upload a file -->\n <div class=\"attachment att-file\" *ngIf=\"preparePhase.data.file\" (click)=\"upload()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_file_upload.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.upload.title</h3>\n <p translate>eo.prepare.attachment.upload.desc</p>\n </div>\n\n <!-- select a template -->\n <div class=\"attachment att-tmpl\" *ngIf=\"preparePhase.data.templates.length > 0 && hasTemplateCapability()\"\n (click)=\"showTemplateSelector(true)\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare_add.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.template.title</h3>\n <p translate>eo.prepare.attachment.template.desc</p>\n </div>\n\n <!-- no file -->\n <div class=\"attachment att-none\" *ngIf=\"preparePhase.data.withoutFile\" (click)=\"noFile()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.nofile.title</h3>\n <p translate>eo.prepare.attachment.nofile.desc</p>\n </div>\n\n </div>\n\n </ng-template>\n\n <!-- upload progress indicator -->\n <ng-template #uploadspinner>\n <div class=\"upload-indicator\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- PHASE INDEXDATA -->\n <div class=\"phase indexdata\" *ngSwitchCase=\"'indexdata'\">\n\n <!-- form and preview -->\n <yvc-split-view *ngIf=\"preparedItem.contents; else justform\" [layoutSettingsID]=\"'prepare.state'\">\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"form-files\">\n\n <!-- indexdata form -->\n <ng-container *ngTemplateOutlet=\"justform\"></ng-container>\n\n <!-- list of contents (in case of bulk upload) that can be previewed -->\n <div class=\"content-select\">\n\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex === idx}\" (click)=\"setPreviewUri(idx)\">\n {{content.path}} <span *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- just the form -->\n <ng-template #justform>\n <div class=\"form-container situation-create\" *ngIf=\"formOptions\">\n <eo-object-form #form [formOptions]=\"formOptions\" (statusChanged)=\"onFormStatusChanged($event)\">\n </eo-object-form>\n </div>\n </ng-template>\n </div>\n </div>\n </section>\n\n <ng-template #spinner>\n <div class=\"eo-body\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n </ng-template>\n\n</div>\n\n<ng-template #mainSpinner>\n <div class=\"prepareDetails__main-spinner\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n</ng-template>\n\n\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"removeItem(preparedItem)\" class=\"button primary\"\n translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.content.dialog.title' | translate\" [(visible)]=\"showContentDeleteDialog\"\n [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.content.dialog.message' | translate: ({contentPath: preparedItem?.contents ?\n preparedItem?.contents[deletedContentIndex]?.path : ''})}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showContentDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmContentDelete (click)=\"removeItemContent(preparedItem, deletedContentIndex)\"\n class=\"button primary\" translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n", styles: [":host{height:100%;--split-gutter-background-color: var(--panel-background)}:host yvc-split-view{height:100%}:host .prepareDetails{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .prepareDetails .eo-media-wrap{height:100%;display:flex;flex-flow:column}:host .prepareDetails .eo-media-wrap eo-media{flex:1;position:relative}:host .prepareDetails__wrapper{height:100%}:host .prepareDetails__main-spinner{height:100%;display:flex;justify-content:center;align-items:center}:host .prepareDetails .content-select{display:none}:host .prepareDetails .eo-head{background-color:var(--color-white);display:flex;flex-flow:row nowrap}:host .prepareDetails .eo-head .header-info{font-size:var(--font-caption);color:var(--text-color-caption);flex:1 1 auto}:host .prepareDetails .eo-head .header-info .header-title{font-size:var(--font-title);color:var(--text-color-body);padding-bottom:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .header-info a{color:var(--color-accent);cursor:pointer;text-decoration:none}:host .prepareDetails .eo-head .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .prepareDetails .eo-head .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .prepareDetails .eo-head .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .prepareDetails .eo-body{overflow-y:hidden}:host .prepareDetails .phase{height:100%;overflow-y:auto}:host .prepareDetails .phase.content{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates{background:linear-gradient(to right,#fff 70%,var(--panel-background-lightgrey) 100%)}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent!important}:host .prepareDetails .phase.content ::ng-deep yvc-split-view{width:100%;height:100%}:host .prepareDetails .phase.content input[type=file]{display:none}:host .prepareDetails .phase.content .info{flex:0 0 auto;color:var(--text-color-caption);margin-bottom:var(--app-pane-padding)}:host .prepareDetails .phase.content .attachments{flex:0 0 auto;display:flex;flex-flow:row}:host .prepareDetails .phase.content .attachments .attachment:hover .img eo-icon{opacity:1}:host .prepareDetails .phase.content .attachments .attachment{background:var(--color-white);cursor:pointer;margin:calc(var(--app-pane-padding) / 2);max-width:200px;border-bottom:1px solid rgba(var(--color-black-rgb),.1)}:host .prepareDetails .phase.content .attachments .attachment .img{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:calc(var(--app-pane-padding) * 2) 0;background:var(--color-accent)}:host .prepareDetails .phase.content .attachments .attachment .img eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.content .attachments .attachment h3{font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);font-size:var(--font-subhead)}:host .prepareDetails .phase.content .attachments .attachment p{margin:0;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding);color:var(--text-color-caption)}:host .prepareDetails .phase div[eosplitgutter]{background-color:var(--color-light-blue)!important}:host .prepareDetails .phase.type .form-files .object-type-select{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type{display:flex;flex-flow:row nowrap;align-items:center;background:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin-bottom:1px;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .type-icon{color:var(--text-color-hint)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content{padding-left:calc(var(--app-pane-padding) / 2);overflow:hidden}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .title{font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .description{color:var(--text-color-caption);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase .form-container eo-object-form{display:block;margin:var(--app-pane-padding)}:host .prepareDetails.committing .eo-head .actions .btn,:host .prepareDetails.committing .eo-head .actions button{display:none}:host .prepareDetails.committing .eo-body{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails.multifile .form-files{height:100%;display:flex;flex-flow:column}:host .prepareDetails.multifile .form-files .form-container{flex:1 1 auto;overflow-y:auto}:host .prepareDetails.multifile .content-select{border-top:1px solid var(--main-background);overflow-y:auto;box-sizing:border-box;display:block;padding:calc(var(--app-pane-padding) / 2);flex:0 0 30%}:host .prepareDetails.multifile .content-select h2{margin:0;padding:calc(var(--app-pane-padding) / 2);padding-bottom:var(--app-pane-padding);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content{overflow:hidden;text-overflow:ellipsis;padding:calc(var(--app-pane-padding) / 2);margin-bottom:calc(var(--app-pane-padding) / 2);color:var(--text-color-caption);cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;background:var(--color-white);justify-content:space-between;gap:8px}:host .prepareDetails.multifile .content-select .content>span{text-overflow:ellipsis;overflow:hidden;flex:1}:host .prepareDetails.multifile .content-select .content .btn-delete-content{width:16px;flex:0 0 16px;height:16px;color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content .btn-delete-content:hover{background-color:var(--text-color-hint)}:host .prepareDetails.multifile .content-select .content div.attention{display:block;flex:0 0 auto;right:4px;top:8px;border-radius:2px;padding:0 4px;color:var(--color-warning);line-height:1em;border:1px solid var(--color-warning)}:host .prepareDetails.multifile .content-select .content.selected{color:var(--color-accent)}:host .prepareDetails.multifile .content-select .content:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row .ag-cell{border-bottom-color:var(--panel-header-border-bottom-color)}:host ::ng-deep eo-list-container .eo-head{height:48px}:host ::ng-deep eo-list-container .eo-head,:host ::ng-deep eo-list-container .eo-grid-header,:host ::ng-deep eo-list-container .eo-grid-footer{background:transparent;border-color:var(--panel-header-border-bottom-color)}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon{color:var(--text-color-hint)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon:hover{color:var(--text-color-caption)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon.active{color:var(--color-accent)!important}:host ::ng-deep .eo-header-title{color:var(--text-color-caption)}:host ::ng-deep .eo-header-icon{color:var(--text-color-caption)}:host ::ng-deep .template{margin-bottom:1px;cursor:pointer;color:var(--text-color-caption)}:host ::ng-deep .template .title{font-size:var(--font-body);font-weight:var(--font-weight-bold)}:host ::ng-deep .template .description{color:var(--text-color-caption)}:host ::ng-deep .template .chip{display:initial!important}::ng-deep .prepare-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .prepare-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: PrepareContentExistsInfoComponent, selector: "eo-prepare-content-exists-info", inputs: ["content"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
20457
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PrepareDetailsComponent, selector: "eo-prepare-details", inputs: { preparedItem: "preparedItem", emptyState: "emptyState", applySelection: "applySelection" }, outputs: { onItemChanged: "onItemChanged", onCommit: "onCommit", onItemRemove: "onItemRemove" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true }, { propertyName: "objectForm", first: true, predicate: ["form"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }, { propertyName: "confirmContentDeleteButton", first: true, predicate: ["confirmContentDelete"], descendants: true }], ngImport: i0, template: "<div class=\"prepareDetails__wrapper\" *ngIf=\"!loading; else mainSpinner\">\n <section class=\"prepareDetails\" *ngIf=\"preparedItem && preparePhase; else noItem\"\n [ngClass]=\"{multifile: preparedItem.contentcount > 1, committing: committing}\">\n <div class=\"eo-head\">\n\n <div class=\"header-info\">\n <div class=\"header-title\">{{header.title}}</div>\n <div class=\"header-sub-title h-location\" *ngIf=\"!header.location.link; else linked\">{{header.location.label}}\n </div>\n <div class=\"header-sub-title h-subtitle\">{{header.subtitle}}</div>\n\n <ng-template #linked>\n <div class=\"header-sub-title h-subtitle-detailed\">\n <span translate>eo.prepare.location.title.prefix</span>\n <a [routerLink]=\"header.location.link\">{{header.location.label}}</a>\n </div>\n </ng-template>\n </div>\n\n <div class=\"actions\">\n <eo-icon class=\"btn btn-download\"\n *ngIf=\"preparePhase.name === 'content' ? selectedTemplateFile : preparePhase.data.previewFile\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" (click)=\"download()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <!-- buttons while choosing a template -->\n <ng-container *ngIf=\"chooseTemplate\">\n <button class=\"btn-tpl-abort\" (click)=\"showTemplateSelector(false)\"\n translate>eo.cta.button.cancel</button>\n <button class=\"primary btn-tpl-apply\" (click)=\"addTemplate(selectedTemplate)\" [disabled]=\"!selectedTemplate\"\n translate>eo.prepare.template.select</button>\n </ng-container>\n\n <ng-container *ngIf=\"preparePhase.name === 'indexdata'\">\n <button (click)=\"resetObjectType()\" translate>eo.prepare.resetObject</button>\n <button (click)=\"commit()\" class=\"btn-idx-save\"\n [ngClass]=\"{primary: preparedItem.state.parentisroot && preparedItem.contentcount > 1}\"\n [disabled]=\"formState?.invalid || committing\" translate>eo.prepare.save</button>\n\n <button (click)=\"commit(true)\" [disabled]=\"formState?.invalid || committing\" class=\"primary btn-idx-saveopen\"\n [hidden]=\"preparedItem?.state.parentisroot && preparedItem?.contentcount > 1\"\n translate>eo.prepare.saveopen</button>\n\n </ng-container>\n </div>\n\n </div>\n\n <div class=\"eo-body\" [ngSwitch]=\"preparePhase.name\" *ngIf=\"!committing; else spinner\">\n\n <!-- PHASE TYPE -->\n <div class=\"phase type\" *ngSwitchCase=\"'type'\">\n\n <!-- with preview -->\n <yvc-split-view *ngIf=\"preparePhase.data.previewFile; else nopreview\"\n [layoutSettingsID]=\"'prepare.details.phase.type'\">\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"form-files\">\n <div class=\"object-type-select empty\" *ngIf=\"preparedItem.types.length == 0\" translate>\n eo.prepare.details.type.empty</div>\n <div class=\"object-type-select empty\"\n *ngIf=\"!preparedItem.state.typeselectedallowed && preparedItem.state.typeselected\"\n [translateParams]=\"{type: preparedItem.selectedtype.label, filename: getFileNames(preparedItem)}\"\n translate>eo.prepare.details.type.notallowed</div>\n\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n\n\n <div class=\"content-select\">\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx;\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex == idx}\" (click)=\"setPreviewUri(idx)\">\n <span>{{content.path}}</span>\n <eo-icon class=\"btn btn-delete-content\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showContentDeleteDialog = true; deletedContentIndex = idx;\"></eo-icon>\n <div *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- without preview -->\n <ng-template #nopreview>\n <div class=\"form-files\">\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n </div>\n\n <!-- PHASE CONTENT -->\n <div class=\"phase content\" *ngSwitchCase=\"'content'\">\n\n <!-- panel for selecting a template to be used as items content -->\n <yvc-split-view *ngIf=\"chooseTemplate; else attach\" [layoutSettingsID]=\"'prepare.details.phase.content'\">\n <ng-template yvcSplitArea [size]=\"40\">\n <!-- list of available templates -->\n <eo-list-container #eoList [loading]=\"false\" class=\"templates\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_template.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.prepare.template.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [title]=\"'eo.list.filter' | translate\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.prepare.template.filter.text.title' | translate\"\n [matchFields]=\"['title', 'description', 'tags']\"\n [placeholder]=\"'eo.prepare.template.filter.text.title'\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.prepare.template.filter.set.title' | translate\"\n *ngIf=\"tagFilterOptions?.length\" [options]=\"tagFilterOptions\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"false\" [selectionLimit]=\"1\"\n (eoGridSelectionChanged)=\"selectTemplate($event[0])\">\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"60\">\n <!-- preview of selected template -->\n <eo-media [previewFile]=\"selectedTemplateFile\"></eo-media>\n </ng-template>\n </yvc-split-view>\n\n <!-- add content general overview (upload, template, none) -->\n <ng-template #attach>\n\n <div class=\"info\" *ngIf=\"!uploadInProgress\" translate>eo.prepare.attachment.info</div>\n <input type=\"file\" #file (change)=\"fileChangeListener($event.target.files)\">\n\n <div class=\"attachments\" *ngIf=\"!uploadInProgress; else uploadspinner\">\n\n <!-- upload a file -->\n <div class=\"attachment att-file\" *ngIf=\"preparePhase.data.file\" (click)=\"upload()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_file_upload.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.upload.title</h3>\n <p translate>eo.prepare.attachment.upload.desc</p>\n </div>\n\n <!-- select a template -->\n <div class=\"attachment att-tmpl\" *ngIf=\"preparePhase.data.templates.length > 0 && hasTemplateCapability()\"\n (click)=\"showTemplateSelector(true)\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare_add.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.template.title</h3>\n <p translate>eo.prepare.attachment.template.desc</p>\n </div>\n\n <!-- no file -->\n <div class=\"attachment att-none\" *ngIf=\"preparePhase.data.withoutFile\" (click)=\"noFile()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.nofile.title</h3>\n <p translate>eo.prepare.attachment.nofile.desc</p>\n </div>\n\n </div>\n\n </ng-template>\n\n <!-- upload progress indicator -->\n <ng-template #uploadspinner>\n <div class=\"upload-indicator\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- PHASE INDEXDATA -->\n <div class=\"phase indexdata\" *ngSwitchCase=\"'indexdata'\">\n\n <!-- form and preview -->\n <yvc-split-view *ngIf=\"preparedItem.contents; else justform\" [layoutSettingsID]=\"'prepare.state'\">\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"form-files\">\n\n <!-- indexdata form -->\n <ng-container *ngTemplateOutlet=\"justform\"></ng-container>\n\n <!-- list of contents (in case of bulk upload) that can be previewed -->\n <div class=\"content-select\">\n\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex === idx}\" (click)=\"setPreviewUri(idx)\">\n {{content.path}} <span *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- just the form -->\n <ng-template #justform>\n <div class=\"form-container situation-create\" *ngIf=\"formOptions\">\n <eo-object-form #form [formOptions]=\"formOptions\" (statusChanged)=\"onFormStatusChanged($event)\">\n </eo-object-form>\n </div>\n </ng-template>\n </div>\n </div>\n </section>\n\n <ng-template #spinner>\n <div class=\"eo-body\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n </ng-template>\n\n</div>\n\n<ng-template #mainSpinner>\n <div class=\"prepareDetails__main-spinner\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n</ng-template>\n\n\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"removeItem(preparedItem)\" class=\"button primary\"\n translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.content.dialog.title' | translate\" [(visible)]=\"showContentDeleteDialog\"\n [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.content.dialog.message' | translate: ({contentPath: preparedItem?.contents ?\n preparedItem?.contents[deletedContentIndex]?.path : ''})}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showContentDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmContentDelete (click)=\"removeItemContent(preparedItem, deletedContentIndex)\"\n class=\"button primary\" translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n", styles: [":host{height:100%;--split-gutter-background-color: var(--panel-background)}:host yvc-split-view{height:100%}:host .prepareDetails{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .prepareDetails .eo-media-wrap{height:100%;display:flex;flex-flow:column}:host .prepareDetails .eo-media-wrap eo-media{flex:1;position:relative}:host .prepareDetails__wrapper{height:100%}:host .prepareDetails__main-spinner{height:100%;display:flex;justify-content:center;align-items:center}:host .prepareDetails .content-select{display:none}:host .prepareDetails .eo-head{background-color:var(--color-white);display:flex;flex-flow:row nowrap}:host .prepareDetails .eo-head .header-info{font-size:var(--font-caption);color:var(--text-color-caption);flex:1 1 auto}:host .prepareDetails .eo-head .header-info .header-title{font-size:var(--font-title);color:var(--text-color-body);padding-bottom:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .header-info a{color:var(--color-accent);cursor:pointer;text-decoration:none}:host .prepareDetails .eo-head .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .prepareDetails .eo-head .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .prepareDetails .eo-head .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .prepareDetails .eo-body{overflow-y:hidden}:host .prepareDetails .phase{height:100%;overflow-y:auto}:host .prepareDetails .phase.content{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates{background:linear-gradient(to right,#fff 70%,var(--panel-background-lightgrey) 100%)}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent!important}:host .prepareDetails .phase.content ::ng-deep yvc-split-view{width:100%;height:100%}:host .prepareDetails .phase.content input[type=file]{display:none}:host .prepareDetails .phase.content .info{flex:0 0 auto;color:var(--text-color-caption);margin-bottom:var(--app-pane-padding)}:host .prepareDetails .phase.content .attachments{flex:0 0 auto;display:flex;flex-flow:row}:host .prepareDetails .phase.content .attachments .attachment:hover .img eo-icon{opacity:1}:host .prepareDetails .phase.content .attachments .attachment{background:var(--color-white);cursor:pointer;margin:calc(var(--app-pane-padding) / 2);max-width:200px;border-bottom:1px solid rgba(var(--color-black-rgb),.1)}:host .prepareDetails .phase.content .attachments .attachment .img{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:calc(var(--app-pane-padding) * 2) 0;background:var(--color-accent)}:host .prepareDetails .phase.content .attachments .attachment .img eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.content .attachments .attachment h3{font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);font-size:var(--font-subhead)}:host .prepareDetails .phase.content .attachments .attachment p{margin:0;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding);color:var(--text-color-caption)}:host .prepareDetails .phase div[eosplitgutter]{background-color:var(--color-light-blue)!important}:host .prepareDetails .phase.type .form-files .object-type-select{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type{display:flex;flex-flow:row nowrap;align-items:center;background:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin-bottom:1px;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .type-icon{color:var(--text-color-hint)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content{padding-left:calc(var(--app-pane-padding) / 2);overflow:hidden}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .title{font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .description{color:var(--text-color-caption);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase .form-container eo-object-form{display:block;margin:var(--app-pane-padding)}:host .prepareDetails.committing .eo-head .actions .btn,:host .prepareDetails.committing .eo-head .actions button{display:none}:host .prepareDetails.committing .eo-body{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails.multifile .form-files{height:100%;display:flex;flex-flow:column}:host .prepareDetails.multifile .form-files .form-container{flex:1 1 auto;overflow-y:auto}:host .prepareDetails.multifile .content-select{border-top:1px solid var(--main-background);overflow-y:auto;box-sizing:border-box;display:block;padding:calc(var(--app-pane-padding) / 2);flex:0 0 30%}:host .prepareDetails.multifile .content-select h2{margin:0;padding:calc(var(--app-pane-padding) / 2);padding-bottom:var(--app-pane-padding);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content{overflow:hidden;text-overflow:ellipsis;padding:calc(var(--app-pane-padding) / 2);margin-bottom:calc(var(--app-pane-padding) / 2);color:var(--text-color-caption);cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;background:var(--color-white);justify-content:space-between;gap:8px}:host .prepareDetails.multifile .content-select .content>span{text-overflow:ellipsis;overflow:hidden;flex:1}:host .prepareDetails.multifile .content-select .content .btn-delete-content{width:16px;flex:0 0 16px;height:16px;color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content .btn-delete-content:hover{background-color:var(--text-color-hint)}:host .prepareDetails.multifile .content-select .content div.attention{display:block;flex:0 0 auto;right:4px;top:8px;border-radius:2px;padding:0 4px;color:var(--color-warning);line-height:1em;border:1px solid var(--color-warning)}:host .prepareDetails.multifile .content-select .content.selected{color:var(--color-accent)}:host .prepareDetails.multifile .content-select .content:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row .ag-cell{border-bottom-color:var(--panel-header-border-bottom-color)}:host ::ng-deep eo-list-container .eo-head{height:48px}:host ::ng-deep eo-list-container .eo-head,:host ::ng-deep eo-list-container .eo-grid-header,:host ::ng-deep eo-list-container .eo-grid-footer{background:transparent;border-color:var(--panel-header-border-bottom-color)}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon{color:var(--text-color-hint)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon:hover{color:var(--text-color-caption)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon.active{color:var(--color-accent)!important}:host ::ng-deep .eo-header-title{color:var(--text-color-caption)}:host ::ng-deep .eo-header-icon{color:var(--text-color-caption)}:host ::ng-deep .template{margin-bottom:1px;cursor:pointer;color:var(--text-color-caption)}:host ::ng-deep .template .title{font-size:var(--font-body);font-weight:var(--font-weight-bold)}:host ::ng-deep .template .description{color:var(--text-color-caption)}:host ::ng-deep .template .chip{display:initial!important}::ng-deep .prepare-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .prepare-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"], outputs: ["hasContentLoaded"] }, { kind: "component", type: GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: PrepareContentExistsInfoComponent, selector: "eo-prepare-content-exists-info", inputs: ["content"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
20906
20458
  };
20907
20459
  PrepareDetailsComponent = __decorate([
20908
20460
  UntilDestroy()
@@ -21901,7 +21453,12 @@ let ResultListComponent = class ResultListComponent {
21901
21453
  this.csvLoadingSpinnerVisibility = true;
21902
21454
  this.updateQuery({});
21903
21455
  this.showWarnExportCSVThresholdDialog = false;
21904
- this.searchService.downloadCsvFromQuery(this.query.getQueryJson(this.resolveReferencesCsv)).subscribe(() => {
21456
+ const queryJson = this.query.getQueryJson(this.resolveReferencesCsv);
21457
+ queryJson.fields = [];
21458
+ this.resultGridOptions?.columnDefs.forEach(colDef => {
21459
+ queryJson.fields.push(colDef['field'] + ' ' + colDef.headerName);
21460
+ });
21461
+ this.searchService.downloadCsvFromQuery(queryJson).subscribe(() => {
21905
21462
  this.csvLoadingSpinnerVisibility = false;
21906
21463
  });
21907
21464
  }
@@ -22987,10 +22544,10 @@ class AboutStateComponent {
22987
22544
  this.backend = backend;
22988
22545
  this.userService = userService;
22989
22546
  this.config = config;
22990
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/common", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/core", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/forms", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/router", "version": "18.0.4", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.7.0-beta.1", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "18.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "18.0.4", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "18.0.0", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "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": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "19.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.3", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.7", "license": "MIT" }];
22547
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/common", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/core", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/forms", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/router", "version": "18.0.4", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.5.0-rc.3", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "18.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "18.0.6", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "18.0.0", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "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": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "19.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.3", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.7", "license": "MIT" }];
22991
22548
  this.ctrl = {
22992
22549
  componentName: 'yuuvis® RAD client',
22993
- componentVersion: '11.5.0-rc.2',
22550
+ componentVersion: '11.6.0-rc.1',
22994
22551
  productName: '',
22995
22552
  productVersion: ''
22996
22553
  };