@eo-sdk/client 7.12.0-rc.1 → 7.13.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +3 -1
  2. package/app/eo-framework/stored-query/stored-query/stored-query.component.d.ts +3 -1
  3. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +3 -1
  4. package/app/eo-framework/ui/query-scope-select/query-scope-select.component.d.ts +11 -0
  5. package/app/eo-framework-core/search/app-search.service.d.ts +2 -1
  6. package/assets/_default/config/main.json +2 -1
  7. package/assets/_default/i18n/de.json +7 -4
  8. package/assets/_default/i18n/en.json +158 -155
  9. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +26 -4
  10. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  11. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
  12. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  13. package/bundles/eo-sdk-client.umd.js +133 -76
  14. package/bundles/eo-sdk-client.umd.js.map +1 -1
  15. package/bundles/eo-sdk-client.umd.min.js +1 -1
  16. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  17. package/eo-sdk-client.d.ts +63 -62
  18. package/eo-sdk-client.metadata.json +1 -1
  19. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  20. package/esm2015/app/eo-framework/app-shell/app-bar/app-search/app-search.component.js +7 -3
  21. package/esm2015/app/eo-framework/form-elements/checkbox/checkbox.component.js +2 -2
  22. package/esm2015/app/eo-framework/grid/extensions/filter/text/text-filter.component.js +5 -5
  23. package/esm2015/app/eo-framework/stored-query/stored-query/stored-query.component.js +9 -3
  24. package/esm2015/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.js +7 -2
  25. package/esm2015/app/eo-framework/ui/query-scope-select/query-scope-select.component.js +31 -0
  26. package/esm2015/app/eo-framework/ui/ui.module.js +6 -3
  27. package/esm2015/app/eo-framework-core/search/app-search.service.js +6 -1
  28. package/esm2015/eo-sdk-client.js +64 -63
  29. package/esm2015/projects/eo-sdk/core/lib/service/auth/auth.service.js +13 -5
  30. package/esm2015/projects/eo-sdk/core/lib/service/config/config.service.js +5 -1
  31. package/esm2015/projects/eo-sdk/core/lib/service/search/search-query.model.js +10 -1
  32. package/esm2015/projects/eo-sdk/core/lib/service/search/search.service.js +2 -1
  33. package/esm2015/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.js +2 -1
  34. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +28 -5
  35. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  36. package/fesm2015/eo-sdk-client.js +67 -16
  37. package/fesm2015/eo-sdk-client.js.map +1 -1
  38. package/package.json +2 -2
  39. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
  40. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +1 -0
  41. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +1 -0
  42. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +9 -0
  43. package/projects/eo-sdk/core/package.json +1 -1
@@ -3,7 +3,7 @@ import { DecimalPipe, PercentPipe, CurrencyPipe, DatePipe, getLocaleDateTimeForm
3
3
  import { HttpClient, HttpResponse, HttpErrorResponse, HttpClientModule, HTTP_INTERCEPTORS, HttpHeaders } from '@angular/common/http';
4
4
  import { ReplaySubject, BehaviorSubject, from, forkJoin, of, Subject, fromEvent, AsyncSubject, Observable } from 'rxjs';
5
5
  import { groupBy, mergeMap, reduce, map, tap, debounceTime, takeUntil, filter, catchError, switchMap, pluck, finalize, combineLatest, throttleTime, take, takeWhile, first } from 'rxjs/operators';
6
- import { SearchQuery, SearchState, EnaioEvent, Utils, SearchService, EventService, SystemService, Logger, BackendService, UserService, TranslateService, NotificationsService, AppCacheService, UploadTarget, UploadRegistryService, DmsObject, ClipboardService, DmsService, EnvironmentEnaio, SearchFilter, RangeValue, AuthService, EoError, CapabilitiesService, Config, ClipboardAction, PrepareService, EoSharedModule, InboxService, BpmService, StoredQuery, StoredQueriesService, EnvironmentService, LocalStorageService, FieldDefinition, SortOption, InboxItem, Process, PreparedItem, WorkItem, SubscriptionMode, TranslateModule, UploadFileItem, SearchResult } from '@eo-sdk/core';
6
+ import { SearchQuery, SearchState, EnaioEvent, Utils, SearchService, EventService, SystemService, Logger, BackendService, UserService, TranslateService, NotificationsService, AppCacheService, UploadTarget, UploadRegistryService, DmsObject, ClipboardService, DmsService, EnvironmentEnaio, SearchFilter, RangeValue, AuthService, EoError, CapabilitiesService, Config, ClipboardAction, PrepareService, QueryScope, EoSharedModule, InboxService, BpmService, StoredQuery, StoredQueriesService, EnvironmentService, LocalStorageService, FieldDefinition, SortOption, InboxItem, Process, PreparedItem, WorkItem, SubscriptionMode, TranslateModule, UploadFileItem, SearchResult } from '@eo-sdk/core';
7
7
  import { Router, NavigationStart, RouterModule, ActivatedRoute, NavigationEnd } from '@angular/router';
8
8
  import { NumberFilter, Utils as Utils$1, SimpleFilter, NumberSequence, _ as _$1, RowNode, Autowired, PostConstruct, Bean, ModuleNames, DateFilter } from '@ag-grid-community/core';
9
9
  import { Title, DomSanitizer } from '@angular/platform-browser';
@@ -183,6 +183,11 @@ class AppSearchService {
183
183
  this.querySource.next(this.query);
184
184
  this.aggregate();
185
185
  }
186
+ setQueryScope(scope) {
187
+ this.query.scope = scope;
188
+ this.querySource.next(this.query);
189
+ this.aggregate();
190
+ }
186
191
  // set aggregation properties to be applied to ONLY aggregate search queries
187
192
  setAggs(aggs, extend = false) {
188
193
  this.aggs = extend ? Object.assign(Object.assign({}, this.aggs), aggs) : aggs;
@@ -3650,6 +3655,35 @@ RouterLinkDirective.propDecorators = {
3650
3655
  onClick: [{ type: HostListener, args: ['click', ['$event.ctrlKey'],] }]
3651
3656
  };
3652
3657
 
3658
+ class QueryScopeSelectComponent {
3659
+ constructor() {
3660
+ this.QueryScope = QueryScope;
3661
+ this.select = new EventEmitter();
3662
+ }
3663
+ set selectedQueryScope(scope) {
3664
+ this._selectedQueryScope = scope;
3665
+ }
3666
+ get selectedQueryScope() {
3667
+ return this._selectedQueryScope;
3668
+ }
3669
+ selectQueryScope(scope) {
3670
+ this.selectedQueryScope = scope;
3671
+ this.select.emit(this.selectedQueryScope);
3672
+ }
3673
+ }
3674
+ QueryScopeSelectComponent.decorators = [
3675
+ { type: Component, args: [{
3676
+ selector: 'eo-query-scope-select',
3677
+ template: "<div class=\"query-scope\">\r\n <button type=\"button\" class=\"query-scope__button\" (click)=\"selectQueryScope(QueryScope.ALL)\" \r\n [ngClass]=\"{'query-scope__button--active': !selectedQueryScope || (selectedQueryScope === QueryScope.ALL)}\"\r\n translate>eo.search.scope.all.label</button>\r\n <button type=\"button\" class=\"query-scope__button\" (click)=\"selectQueryScope(QueryScope.CONTENT)\" \r\n [ngClass]=\"{'query-scope__button--active': selectedQueryScope === QueryScope.CONTENT}\"\r\n translate>eo.search.scope.content.label</button>\r\n <button type=\"button\" class=\"query-scope__button\" (click)=\"selectQueryScope(QueryScope.INDEX_DATA)\" \r\n [ngClass]=\"{'query-scope__button--active': selectedQueryScope === QueryScope.INDEX_DATA}\" \r\n translate>eo.search.scope.indexdata.label</button>\r\n</div>",
3678
+ styles: [":host .query-scope{margin:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host .query-scope .query-scope__button{background-color:hsla(0,0%,100%,.1);border:1px solid rgba(var(--color-white-rgb),.54);border-radius:4px;color:rgba(var(--color-white-rgb),.54);font-size:var(--font-caption);margin:0 4px 4px 0;outline:none;padding:4px}:host .query-scope .query-scope__button--active{background-color:var(--color-accent)!important;border-color:#fff;color:#fff!important}"]
3679
+ },] }
3680
+ ];
3681
+ QueryScopeSelectComponent.ctorParameters = () => [];
3682
+ QueryScopeSelectComponent.propDecorators = {
3683
+ selectedQueryScope: [{ type: Input, args: ['selection',] }],
3684
+ select: [{ type: Output }]
3685
+ };
3686
+
3653
3687
  /**
3654
3688
  * Shared module for all ui components that are used across the whole app
3655
3689
  * and in other components.
@@ -3685,7 +3719,8 @@ UiModule.decorators = [
3685
3719
  UserAvatarComponent,
3686
3720
  OverlayComponent,
3687
3721
  ErrorMessageComponent,
3688
- EoDialogComponent
3722
+ EoDialogComponent,
3723
+ QueryScopeSelectComponent
3689
3724
  ],
3690
3725
  declarations: [
3691
3726
  EoIconComponent,
@@ -3699,7 +3734,8 @@ UiModule.decorators = [
3699
3734
  OverlayComponent,
3700
3735
  ErrorMessageComponent,
3701
3736
  EoDialogComponent,
3702
- IndexdataSummaryEntryComponent
3737
+ IndexdataSummaryEntryComponent,
3738
+ QueryScopeSelectComponent
3703
3739
  ]
3704
3740
  },] }
3705
3741
  ];
@@ -4062,6 +4098,7 @@ class AppSearchComponent {
4062
4098
  if (query.expertMode) {
4063
4099
  this.typeGroupTree = this.appSearchService.buildTypeGroupTree();
4064
4100
  }
4101
+ this.queryScope = query.scope;
4065
4102
  }
4066
4103
  selectObjectType(type) {
4067
4104
  /** set up the right type filter if not already done */
@@ -4271,6 +4308,9 @@ class AppSearchComponent {
4271
4308
  this.cd.detectChanges();
4272
4309
  this.changeSearchInputFocus();
4273
4310
  }
4311
+ setQueryScope(scope) {
4312
+ this.appSearchService.setQueryScope(scope);
4313
+ }
4274
4314
  xpSelectGroup(group) {
4275
4315
  this.expertModeSupport.selectedGroup = group;
4276
4316
  this.expertModeSupport.selectedType = null;
@@ -4579,12 +4619,12 @@ class AppSearchComponent {
4579
4619
  AppSearchComponent.decorators = [
4580
4620
  { type: Component, args: [{
4581
4621
  selector: 'eo-app-search',
4582
- template: "<eo-dialog class=\"eo-app-search-dialog\" [appendTo]=\"''\" [visible]=\"true\" (hide)=\"closeSearchMenu($event)\">\r\n\r\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\r\n\r\n <div class=\"head\">\r\n\r\n <div class=\"search\">\r\n <form (submit)=\"executeSearch()\">\r\n <div class=\"title\" translate>eo.search</div>\r\n <div class=\"search-box\">\r\n <p-autoComplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput class=\"form-control\"\r\n [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\" [suggestions]=\"autocompleteResults\"\r\n (onSelect)=\"autocompleteSelect()\" (completeMethod)=\"autocompleteSuggest($event)\" (paste)=\"autocompletePaste($event)\"\r\n (onClear)=\"autocompleteSuggest()\" [delay]=\"500\" [minLength]=\"3\"></p-autoComplete>\r\n\r\n <ng-template #expertInput>\r\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\r\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\r\n </ng-template>\r\n\r\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\r\n <!--<span translate>eo.search.mode.expert</span>-->\r\n <eo-loading-spinner *ngIf=\"loading\" [size]=\"'small'\"></eo-loading-spinner>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\r\n <ng-template #close>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\r\n </ng-template>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\r\n (click)=\"resetExpertModeInput()\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\r\n </button>\r\n\r\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div class=\"result\">{{queryState.totalCount | localeDecimal}}</div>\r\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu($event)\"></eo-icon>\r\n\r\n </div>\r\n\r\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\r\n\r\n <p-tabView [styleClass]=\"'tab-main'\" (onChange)=\"onTabChange($event.index)\" [activeIndex]=\"activeTabIndex\">\r\n <!-- object type restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.type'|translate}}\" headerStyleClass=\"search-tab-objecttype\">\r\n\r\n <!-- object type selection -->\r\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\r\n *ngIf=\"objectTypeGroups && !idxSearch\">\r\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups\">\r\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\r\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\r\n <div class=\"type\" *ngFor=\"let type of group.types\"\r\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\r\n\r\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"item\" (click)=\"selectObjectType(type)\">\r\n <eo-icon [objectType]=\"type\"></eo-icon>\r\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) + ')' : ''}}</div>\r\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- indexdata search -->\r\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\r\n <h2>\r\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\r\n (click)=\"exitIndexdataSearch()\"></eo-icon>\r\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\r\n </h2>\r\n\r\n <!-- context type selection -->\r\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\r\n\r\n <div class=\"context-select\">\r\n <div translate>eo.search.objecttype.form.context</div>\r\n <div class=\"spacer\"></div>\r\n\r\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\r\n [selected]=\"currentContextFolderName === ctx.name\"\r\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\r\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\r\n </eo-context-search>\r\n </div>\r\n\r\n <section class=\"context form\">\r\n <eo-object-form class=\"dark\" #ctxform\r\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\r\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n\r\n\r\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\r\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\r\n (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <!-- created restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.creation' | translate}}\" headerStyleClass=\"search-tab-created\">\r\n\r\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\r\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #createdForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\r\n [withTime]=\"createdField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-creator\">\r\n <h3 translate>eo.search.agg.creator</h3>\r\n <form #creatorForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\r\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n </div>\r\n\r\n </p-tabPanel>\r\n <p-tabPanel header=\"{{'eo.search.restrict.modification'|translate}}\" headerStyleClass=\"search-tab-changed\">\r\n\r\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\r\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #modifiedForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\r\n [withTime]=\"modifiedField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-modifier\">\r\n <h3 translate>eo.search.agg.modifier</h3>\r\n <form #modifierForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\r\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\r\n [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <p-tabPanel header=\"{{'eo.search.restrict.file'|translate}}\" headerStyleClass=\"search-tab-docfile\">\r\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-mimetype-group\">\r\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\r\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"checkbox\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filesize\">\r\n <h3 translate>eo.search.restrict.filesize</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\r\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filename\">\r\n <h3 translate>eo.search.restrict.filename</h3>\r\n <form #filenameForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\r\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\r\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\r\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n\r\n\r\n <!-- summary of the current search filters -->\r\n <div class=\"summary-panel\">\r\n\r\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\r\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\r\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\r\n </div>\r\n\r\n <ng-template #reghead>\r\n <div class=\"headline\" translate>eo.search.aside.summary</div>\r\n </ng-template>\r\n\r\n <section class=\"query-types\">\r\n <!-- search term -->\r\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\r\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\r\n <div class=\"filter\">\r\n <div class=\"label\">{{query.term}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- context type -->\r\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- object type -->\r\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.types\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #filterTemplate let-filter let-translate>\r\n <ng-container *ngIf=\"filter.innerValue.length\">\r\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\r\n <div class=\"label\">{{filter.label[i] | async}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <div class=\"section section-creation\"\r\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue.length || filtersModel[PARAMS.CREATOR].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.creation</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-modification\"\r\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue.length || filtersModel[PARAMS.MODIFIER].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.modification</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-mimetypegroup\"\r\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.file</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\r\n </div>\r\n </section>\r\n\r\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\r\n\r\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\r\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\r\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\r\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-container>\r\n\r\n <ng-template #regactions>\r\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-template>\r\n\r\n\r\n </div>\r\n\r\n <ng-template #emptySearch>\r\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <!-- expert mode body panel containing explanations -->\r\n <ng-template #expert>\r\n <div class=\"body expert\">\r\n\r\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\r\n\r\n <!--\r\n <h2><span translate>eo.search.mode.expert</span></h2>\r\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\r\n\r\n <div class=\"base-params fields\">\r\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"system-types fields\">\r\n\r\n <div class=\"column column-group\">\r\n <h2 translate>eo.search.mode.expert.support.group</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\r\n (click)=\"xpSelectGroup(group)\">\r\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\r\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\r\n <h2 translate>eo.search.mode.expert.support.type</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\r\n (click)=\"xpSelectType(type)\">\r\n <div>{{type.label}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\r\n <h2 translate>eo.search.mode.expert.support.field</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n -->\r\n </div>\r\n </ng-template>\r\n </div>\r\n</eo-dialog>",
4622
+ template: "<eo-dialog class=\"eo-app-search-dialog\" [appendTo]=\"''\" [visible]=\"true\" (hide)=\"closeSearchMenu($event)\">\r\n\r\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\r\n\r\n <div class=\"head\">\r\n\r\n <div class=\"search\">\r\n <form (submit)=\"executeSearch()\">\r\n <div class=\"title\" translate>eo.search</div>\r\n\r\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\r\n\r\n <div class=\"search-box\">\r\n <p-autoComplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput class=\"form-control\"\r\n [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\" [suggestions]=\"autocompleteResults\"\r\n (onSelect)=\"autocompleteSelect()\" (completeMethod)=\"autocompleteSuggest($event)\" (paste)=\"autocompletePaste($event)\"\r\n (onClear)=\"autocompleteSuggest()\" [delay]=\"500\" [minLength]=\"3\"></p-autoComplete>\r\n\r\n <ng-template #expertInput>\r\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\r\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\r\n </ng-template>\r\n\r\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\r\n <!--<span translate>eo.search.mode.expert</span>-->\r\n <eo-loading-spinner *ngIf=\"loading\" [size]=\"'small'\"></eo-loading-spinner>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\r\n <ng-template #close>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\r\n </ng-template>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\r\n (click)=\"resetExpertModeInput()\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\r\n </button>\r\n\r\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div class=\"result\">{{queryState.totalCount | localeDecimal}}</div>\r\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu($event)\"></eo-icon>\r\n\r\n </div>\r\n\r\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\r\n\r\n <p-tabView [styleClass]=\"'tab-main'\" (onChange)=\"onTabChange($event.index)\" [activeIndex]=\"activeTabIndex\">\r\n <!-- object type restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.type'|translate}}\" headerStyleClass=\"search-tab-objecttype\">\r\n\r\n <!-- object type selection -->\r\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\r\n *ngIf=\"objectTypeGroups && !idxSearch\">\r\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups\">\r\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\r\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\r\n <div class=\"type\" *ngFor=\"let type of group.types\"\r\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\r\n\r\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"item\" (click)=\"selectObjectType(type)\">\r\n <eo-icon [objectType]=\"type\"></eo-icon>\r\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) + ')' : ''}}</div>\r\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- indexdata search -->\r\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\r\n <h2>\r\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\r\n (click)=\"exitIndexdataSearch()\"></eo-icon>\r\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\r\n </h2>\r\n\r\n <!-- context type selection -->\r\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\r\n\r\n <div class=\"context-select\">\r\n <div translate>eo.search.objecttype.form.context</div>\r\n <div class=\"spacer\"></div>\r\n\r\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\r\n [selected]=\"currentContextFolderName === ctx.name\"\r\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\r\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\r\n </eo-context-search>\r\n </div>\r\n\r\n <section class=\"context form\">\r\n <eo-object-form class=\"dark\" #ctxform\r\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\r\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n\r\n\r\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\r\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\r\n (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <!-- created restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.creation' | translate}}\" headerStyleClass=\"search-tab-created\">\r\n\r\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\r\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #createdForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\r\n [withTime]=\"createdField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-creator\">\r\n <h3 translate>eo.search.agg.creator</h3>\r\n <form #creatorForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\r\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n </div>\r\n\r\n </p-tabPanel>\r\n <p-tabPanel header=\"{{'eo.search.restrict.modification'|translate}}\" headerStyleClass=\"search-tab-changed\">\r\n\r\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\r\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #modifiedForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\r\n [withTime]=\"modifiedField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-modifier\">\r\n <h3 translate>eo.search.agg.modifier</h3>\r\n <form #modifierForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\r\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\r\n [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <p-tabPanel header=\"{{'eo.search.restrict.file'|translate}}\" headerStyleClass=\"search-tab-docfile\">\r\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-mimetype-group\">\r\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\r\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"checkbox\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filesize\">\r\n <h3 translate>eo.search.restrict.filesize</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\r\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filename\">\r\n <h3 translate>eo.search.restrict.filename</h3>\r\n <form #filenameForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\r\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\r\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\r\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n\r\n\r\n <!-- summary of the current search filters -->\r\n <div class=\"summary-panel\">\r\n\r\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\r\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\r\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\r\n </div>\r\n\r\n <ng-template #reghead>\r\n <div class=\"headline\" translate>eo.search.aside.summary</div>\r\n </ng-template>\r\n\r\n <section class=\"query-types\">\r\n <!-- search term -->\r\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\r\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\r\n <div class=\"filter\">\r\n <div class=\"label\">{{query.term}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- context type -->\r\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- object type -->\r\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.types\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #filterTemplate let-filter let-translate>\r\n <ng-container *ngIf=\"filter.innerValue.length\">\r\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\r\n <div class=\"label\">{{filter.label[i] | async}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <div class=\"section section-creation\"\r\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue.length || filtersModel[PARAMS.CREATOR].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.creation</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-modification\"\r\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue.length || filtersModel[PARAMS.MODIFIER].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.modification</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-mimetypegroup\"\r\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.file</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\r\n </div>\r\n </section>\r\n\r\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\r\n\r\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\r\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\r\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\r\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-container>\r\n\r\n <ng-template #regactions>\r\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-template>\r\n\r\n\r\n </div>\r\n\r\n <ng-template #emptySearch>\r\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <!-- expert mode body panel containing explanations -->\r\n <ng-template #expert>\r\n <div class=\"body expert\">\r\n\r\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\r\n\r\n <!--\r\n <h2><span translate>eo.search.mode.expert</span></h2>\r\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\r\n\r\n <div class=\"base-params fields\">\r\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"system-types fields\">\r\n\r\n <div class=\"column column-group\">\r\n <h2 translate>eo.search.mode.expert.support.group</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\r\n (click)=\"xpSelectGroup(group)\">\r\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\r\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\r\n <h2 translate>eo.search.mode.expert.support.type</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\r\n (click)=\"xpSelectType(type)\">\r\n <div>{{type.label}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\r\n <h2 translate>eo.search.mode.expert.support.field</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n -->\r\n </div>\r\n </ng-template>\r\n </div>\r\n</eo-dialog>",
4583
4623
  encapsulation: ViewEncapsulation.None
4584
4624
  // todo: apply onPush change detection (agg search result right now doesn't update)
4585
4625
  // changeDetection: ChangeDetectionStrategy.OnPush
4586
4626
  ,
4587
- styles: [".eo-app-search-dialog>p-dialog>.ui-dialog{-webkit-animation:appSearchAppear calc(var(--app-default-transition-duration)*2)!important;animation:appSearchAppear calc(var(--app-default-transition-duration)*2)!important;bottom:0!important;left:0!important;max-width:100%!important;min-width:500px!important;top:0!important;width:80%!important}@media (max-width:500px){.eo-app-search-dialog>p-dialog>.ui-dialog{min-width:inherit;width:100%!important}}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content,.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog{height:100%}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog>.eo-dialog-content{max-height:100%;overflow:inherit}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog>.eo-dialog-header{display:none}.eo-app-search.rtl .head .close{left:var(--app-pane-padding);right:auto}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-box-max-width:600px;--search-min-width:500px;--search-summary-width:350px;background:var(--panel-background-grey);bottom:0;display:flex;flex:1;flex-direction:column;left:0;min-height:0;min-width:0;position:absolute;right:0;top:0}.eo-app-search .head{background:var(--color-primary-2);color:var(--color-white);display:flex;flex:0 0 auto;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding)/2) 0 calc(var(--app-pane-padding)/2);position:relative}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding)/2);z-index:2}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;min-height:1em}@media (max-width:480px){.eo-app-search .head .search .title{font-size:var(--font-title)}}.eo-app-search .head .search .search-box{align-items:stretch;background:var(--color-white);box-shadow:0 2px 2px 0 rgba(var(--color-black-rgb),.2);display:flex;flex-flow:row nowrap;margin:calc(var(--app-pane-padding)*2) 0 var(--app-pane-padding) 0;max-width:var(--search-box-max-width)}@media (max-width:480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box p-autocomplete{background:transparent;border:0;flex:1 1 auto;outline:0}.eo-app-search .head .search .search-box p-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{border:0;box-sizing:border-box;font-size:var(--font-title);padding:calc(var(--app-pane-padding)/2);width:100%}.eo-app-search .head .search .search-box input::-ms-clear{display:none}.eo-app-search .head .search .search-box button[type=submit]{background:var(--color-accent);border:0;color:var(--color-white);font-size:var(--font-subhead);padding:0 var(--app-pane-padding)}.eo-app-search .head .search .search-box button.expert-mode{align-items:center;background:transparent;border:0;color:var(--text-color-hint);display:flex;padding:0 calc(var(--app-pane-padding)/2)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;padding:0;transition:all .2s ease-in-out;width:0}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;padding:0 8px;width:40px}.eo-app-search .head .search .search-box button.expert-mode span{-webkit-animation:eoFadeIn var(--app-default-transition-duration);animation:eoFadeIn var(--app-default-transition-duration);display:none;padding:calc(var(--app-pane-padding)/4);white-space:nowrap}.eo-app-search .head .search .search-box button.expert-mode:hover{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode:hover span{display:block}.eo-app-search .head .result{font-size:7em;line-height:1em;opacity:.1;position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding)*2.5);z-index:1}@media (max-width:900px){.eo-app-search .head .result{font-size:3em;right:calc(var(--app-pane-padding)*3);top:var(--app-pane-padding)}}.eo-app-search .head .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);z-index:2}.eo-app-search .body{background:rgba(var(--color-white-rgb),.2);flex:1 1 auto;position:relative}@media (max-width:1000px){.eo-app-search .body .summary-panel{bottom:0;display:flex;flex-flow:row nowrap;left:0!important;right:0!important;top:auto!important;width:auto!important}.eo-app-search .body .summary-panel .headline:not(.stored-query),.eo-app-search .body .summary-panel .section{display:none}.eo-app-search .body .summary-panel .headline.stored-query{align-items:center;display:flex;margin-bottom:0;padding:0 var(--app-pane-padding)}.eo-app-search .body .summary-panel .headline.stored-query .pre{display:none}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-subhead)!important}.eo-app-search .body .summary-panel .actions{flex:1 1 auto}.eo-app-search .body .ui-tabview .ui-tabview-panels{padding-left:0!important;padding-right:0!important}.eo-app-search .body .ui-tabview.tab-main{bottom:50px!important}}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);box-sizing:border-box;position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) + 35px);width:var(--search-summary-width)}.eo-app-search .body .summary-panel .query-types{max-height:calc(100vh - 290px);overflow:auto}.eo-app-search .body .summary-panel .headline{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-light);line-height:1em;margin-bottom:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .headline.stored-query{background:var(--color-primary-3);color:var(--color-white);font-size:var(--font-body)}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-title);line-height:1.2em;padding:calc(var(--app-pane-padding)/2) 0}.eo-app-search .body .summary-panel .empty-search{color:var(--text-color-caption);padding:var(--app-pane-padding) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .section{max-height:calc(100vh - 280px);overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);padding-bottom:calc(var(--app-pane-padding)/4)}.eo-app-search .body .summary-panel .filter{align-items:center;background:rgba(var(--color-white-rgb),.6);display:flex;flex:1;flex-direction:row;margin-top:4px;min-height:0;min-width:0}.eo-app-search .body .summary-panel .filter .label{display:inline-block;flex:1 1 auto;max-width:none;overflow:hidden;padding:0 0 0 calc(var(--app-pane-padding)/4);text-overflow:ellipsis;white-space:nowrap}.eo-app-search .body .summary-panel .filter eo-icon{box-sizing:border-box;color:var(--text-color-hint);cursor:pointer;flex:0 0 auto;padding:calc(var(--app-pane-padding)/4)}.eo-app-search .body .summary-panel .filter eo-icon:hover{color:var(--text-color-caption)}.eo-app-search .body .summary-panel .actions{display:flex;justify-content:flex-end;padding:calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2 - 2px)}.eo-app-search .body .summary-panel .actions button{font-size:var(--font-hint);line-height:1em;margin:0 2px}.eo-app-search .body .ui-tabview.tab-main{bottom:0;display:flex;flex-flow:column;left:0;position:absolute;right:0;top:0}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav{background:var(--color-primary-2);border-color:transparent;color:var(--color-white);display:flex;flex:0 0 auto;padding:0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav>li a{color:rgba(var(--color-white-rgb),.54)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav>li.ui-state-active a{color:var(--color-white)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav li:not(.ui-state-active):not(.ui-state-disabled):hover{border-color:rgba(var(--color-white-rgb),.54)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav li:not(.ui-state-active):not(.ui-state-disabled):hover a{color:var(--color-white)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-panels{flex:1 1 auto;overflow-y:auto;padding-right:calc(var(--app-pane-padding)*2 + var(--search-summary-width));position:relative}.eo-app-search .body .ui-tabview .ui-tabview-panel{padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .ui-tabview .ui-tabview-panel h2{color:var(--text-color-caption);font-size:var(--font-title);font-weight:var(--font-weight-light);margin:0 0 calc(var(--app-pane-padding)*1.5) 0;padding:0}.eo-app-search .body .rest-box-container{align-items:stretch;display:flex;flex-flow:row wrap}.eo-app-search .body .rest-box-container .rest-box{background:var(--color-white);flex:1 1 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box h3{color:var(--text-color-caption);font-size:var(--font-caption);font-weight:var(--font-weight-normal);margin:0 0 var(--app-pane-padding) 0;padding:0}.eo-app-search .body .rest-box-container .rest-box .rest-item{align-items:center;color:var(--text-color-body);display:flex;flex:1 1 auto;flex-flow:row nowrap;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected{background:var(--color-primary-3);color:var(--color-white)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover{background:var(--list-item-hover-background)}.eo-app-search .body .rest-box-container .rest-box .label{flex:1 1 auto;padding:0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box .count{font-size:var(--font-caption);font-weight:var(--font-weight-bold);min-width:30px;text-align:right}.eo-app-search .body .object-types .group .type{align-items:center;display:flex;flex-flow:row nowrap;padding:1px 0}.eo-app-search .body .object-types .group .type.context{font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .type.folder .item eo-icon{background:rgba(var(--color-black-rgb),.15)}.eo-app-search .body .object-types .group .type.folder .item:hover eo-icon{background:rgba(var(--color-white-rgb),.3)}.eo-app-search .body .object-types .group .type.abstract .item{color:var(--text-color-caption)}.eo-app-search .body .object-types .group .type.abstract .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .group .type .item{align-items:center;border-radius:2px;color:var(--text-color-body);cursor:default;display:flex;flex:1 1 auto;flex-flow:row nowrap;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .object-types .group .type .item eo-icon{-moz-transition:none;-o-transition:none;-webkit-transition:none;border-radius:2px;box-sizing:content-box;color:var(--text-color-caption);height:16px;padding:2px;transition:none;width:16px}.eo-app-search .body .object-types .type .item{cursor:pointer}.eo-app-search .body .object-types .type .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .type .item:hover eo-icon{color:var(--panel-background)}.eo-app-search .body .indexdata-search{padding:calc(var(--app-pane-padding)/2) 0 0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .indexdata-search h2{align-items:center;display:flex;flex-flow:row}.eo-app-search .body .indexdata-search h2 eo-icon{margin:0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .indexdata-search h2 span{padding:0 calc(var(--app-pane-padding)/4)}.eo-app-search .body .indexdata-search .context{margin-bottom:var(--app-pane-padding)}.eo-app-search .body .indexdata-search .context .context-select{align-items:center;display:flex;flex-flow:row wrap;padding-bottom:1px}.eo-app-search .body .indexdata-search .context .context-select .spacer{width:var(--app-pane-padding)}.eo-app-search .body .indexdata-search eo-object-form{border:1px solid rgba(var(--color-black-rgb),.1)}.eo-app-search .body .indexdata-search eo-object-form.dark{background-color:var(--color-primary-2);display:block}.eo-app-search.rtl{-webkit-animation:appSearchAppearRTL var(--app-default-transition-duration);animation:appSearchAppearRTL var(--app-default-transition-duration);left:auto;right:0}.eo-app-search.rtl .body .summary-panel,.eo-app-search.rtl .head .result{left:var(--app-pane-padding);right:auto}.eo-app-search.rtl .body .ui-tabview .ui-tabview-panels{padding-bottom:0;padding-left:calc(var(--app-pane-padding)*2 + var(--search-summary-width));padding-right:0;padding-top:0}.eo-app-search.expert .head .result{display:none}.eo-app-search.expert .head .search .search-box{max-width:100%}.eo-app-search.expert .head .search .search-box button.expert-mode{color:var(--color-accent)}.eo-app-search.expert .body{background:var(--color-primary-2);color:var(--color-white);display:flex;flex-flow:column}.eo-app-search.expert .body h2{flex:0 0 auto;font-size:var(--font-title);font-weight:var(--font-weight-light);margin:var(--app-pane-padding) 0;padding:0}.eo-app-search.expert .body h2 span{border-bottom:4px solid var(--color-accent);padding:calc(var(--app-pane-padding)/2) 0 calc(var(--app-pane-padding)/2) var(--app-pane-padding)}.eo-app-search.expert .body .intro{flex:0 0 auto;padding:var(--app-pane-padding)}.eo-app-search.expert .body .empty{flex:0 0 auto;padding:0 var(--app-pane-padding)}.eo-app-search.expert .body .empty span{background:var(--color-error);border-radius:2px;color:var(--color-white);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .fields h2{border-bottom:1px solid rgba(var(--color-white-rgb),.3);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .fields .item{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-white-rgb),.06);border-radius:2px;cursor:pointer;margin-bottom:4px;padding:calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item.selected,.eo-app-search.expert .body .fields .item:hover{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{display:flex;font-weight:var(--font-weight-bold);justify-content:space-between}.eo-app-search.expert .body .fields .item .label .type{font-size:var(--font-hint);opacity:.5}.eo-app-search.expert .body .fields .item .data{opacity:.75}.eo-app-search.expert .body .base-params{padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .base-params .items{display:flex;flex-flow:row wrap;padding:calc(var(--app-pane-padding)/4)}.eo-app-search.expert .body .base-params .items .item{margin:calc(var(--app-pane-padding)/4)}.eo-app-search.expert .body .system-types{align-items:stretch;display:flex;flex:1 1 auto;flex-flow:row;justify-content:flex-start;padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .system-types .column{box-sizing:border-box;display:flex;flex:0 0 33%;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{flex:1 1 auto;overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .system-types .column .items::-webkit-scrollbar-thumb{background-color:rgba(var(--color-white-rgb),.1)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox,.eo-app-search .body .rest-box-container .rest-box .type .checkbox{border:1px solid var(--text-color-hint);border-radius:2px;cursor:pointer;height:20px;margin:0 calc(var(--app-pane-padding)/2);width:20px}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type .checkbox svg{opacity:0}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover{border-color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover svg,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover svg{fill:var(--text-color-body);opacity:.3}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox{background:var(--color-primary-3);border-color:var(--color-primary-3)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox svg{fill:var(--color-white)!important;opacity:1}.eo-app-search .body .rest-box-container .rest-box .rest-item.saved .count,.eo-app-search .body .rest-box-container .rest-box .type.saved .count{font-weight:var(--font-weight-normal)}@-webkit-keyframes appSearchAppear{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes appSearchAppear{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes appSearchAppearRTL{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}"]
4627
+ styles: [".eo-app-search-dialog>p-dialog>.ui-dialog{-webkit-animation:appSearchAppear calc(var(--app-default-transition-duration)*2)!important;animation:appSearchAppear calc(var(--app-default-transition-duration)*2)!important;bottom:0!important;left:0!important;max-width:100%!important;min-width:500px!important;top:0!important;width:80%!important}@media (max-width:500px){.eo-app-search-dialog>p-dialog>.ui-dialog{min-width:inherit;width:100%!important}}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content,.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog{height:100%}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog>.eo-dialog-content{max-height:100%;overflow:inherit}.eo-app-search-dialog>p-dialog>.ui-dialog>.ui-dialog-content>.eo-dialog>.eo-dialog-header{display:none}.eo-app-search.rtl .head .close{left:var(--app-pane-padding);right:auto}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-box-max-width:600px;--search-min-width:500px;--search-summary-width:350px;background:var(--panel-background-grey);bottom:0;display:flex;flex:1;flex-direction:column;left:0;min-height:0;min-width:0;position:absolute;right:0;top:0}.eo-app-search .head{background:var(--color-primary-2);color:var(--color-white);display:flex;flex:0 0 auto;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding)/2) 0 calc(var(--app-pane-padding)/2);position:relative}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding)/2);z-index:2}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;min-height:1em}@media (max-width:480px){.eo-app-search .head .search .title{font-size:var(--font-title)}}.eo-app-search .head .search .query-scope{margin:calc(var(--app-pane-padding)*2) 0 0 0;max-width:var(--search-box-max-width);min-width:var(--search-min-width)}.eo-app-search .head .search .search-box{align-items:stretch;background:var(--color-white);box-shadow:0 2px 2px 0 rgba(var(--color-black-rgb),.2);display:flex;flex-flow:row nowrap;margin-bottom:var(--app-pane-padding);max-width:var(--search-box-max-width)}@media (max-width:480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box p-autocomplete{background:transparent;border:0;flex:1 1 auto;outline:0}.eo-app-search .head .search .search-box p-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{border:0;box-sizing:border-box;font-size:var(--font-title);padding:calc(var(--app-pane-padding)/2);width:100%}.eo-app-search .head .search .search-box input::-ms-clear{display:none}.eo-app-search .head .search .search-box button[type=submit]{background:var(--color-accent);border:0;color:var(--color-white);font-size:var(--font-subhead);padding:0 var(--app-pane-padding)}.eo-app-search .head .search .search-box button.expert-mode{align-items:center;background:transparent;border:0;color:var(--text-color-hint);display:flex;padding:0 calc(var(--app-pane-padding)/2)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;padding:0;transition:all .2s ease-in-out;width:0}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;padding:0 8px;width:40px}.eo-app-search .head .search .search-box button.expert-mode span{-webkit-animation:eoFadeIn var(--app-default-transition-duration);animation:eoFadeIn var(--app-default-transition-duration);display:none;padding:calc(var(--app-pane-padding)/4);white-space:nowrap}.eo-app-search .head .search .search-box button.expert-mode:hover{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode:hover span{display:block}.eo-app-search .head .result{font-size:7em;line-height:1em;opacity:.1;position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding)*2.5);z-index:1}@media (max-width:900px){.eo-app-search .head .result{font-size:3em;right:calc(var(--app-pane-padding)*3);top:var(--app-pane-padding)}}.eo-app-search .head .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);z-index:2}.eo-app-search .body{background:rgba(var(--color-white-rgb),.2);flex:1 1 auto;position:relative}@media (max-width:1000px){.eo-app-search .body .summary-panel{bottom:0;display:flex;flex-flow:row nowrap;left:0!important;right:0!important;top:auto!important;width:auto!important}.eo-app-search .body .summary-panel .headline:not(.stored-query),.eo-app-search .body .summary-panel .section{display:none}.eo-app-search .body .summary-panel .headline.stored-query{align-items:center;display:flex;margin-bottom:0;padding:0 var(--app-pane-padding)}.eo-app-search .body .summary-panel .headline.stored-query .pre{display:none}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-subhead)!important}.eo-app-search .body .summary-panel .actions{flex:1 1 auto}.eo-app-search .body .ui-tabview .ui-tabview-panels{padding-left:0!important;padding-right:0!important}.eo-app-search .body .ui-tabview.tab-main{bottom:50px!important}}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);box-sizing:border-box;position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) + 35px);width:var(--search-summary-width)}.eo-app-search .body .summary-panel .query-types{max-height:calc(100vh - 290px);overflow:auto}.eo-app-search .body .summary-panel .headline{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-light);line-height:1em;margin-bottom:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .headline.stored-query{background:var(--color-primary-3);color:var(--color-white);font-size:var(--font-body)}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-title);line-height:1.2em;padding:calc(var(--app-pane-padding)/2) 0}.eo-app-search .body .summary-panel .empty-search{color:var(--text-color-caption);padding:var(--app-pane-padding) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .section{max-height:calc(100vh - 280px);overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);padding-bottom:calc(var(--app-pane-padding)/4)}.eo-app-search .body .summary-panel .filter{align-items:center;background:rgba(var(--color-white-rgb),.6);display:flex;flex:1;flex-direction:row;margin-top:4px;min-height:0;min-width:0}.eo-app-search .body .summary-panel .filter .label{display:inline-block;flex:1 1 auto;max-width:none;overflow:hidden;padding:0 0 0 calc(var(--app-pane-padding)/4);text-overflow:ellipsis;white-space:nowrap}.eo-app-search .body .summary-panel .filter eo-icon{box-sizing:border-box;color:var(--text-color-hint);cursor:pointer;flex:0 0 auto;padding:calc(var(--app-pane-padding)/4)}.eo-app-search .body .summary-panel .filter eo-icon:hover{color:var(--text-color-caption)}.eo-app-search .body .summary-panel .actions{display:flex;justify-content:flex-end;padding:calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2 - 2px)}.eo-app-search .body .summary-panel .actions button{font-size:var(--font-hint);line-height:1em;margin:0 2px}.eo-app-search .body .ui-tabview.tab-main{bottom:0;display:flex;flex-flow:column;left:0;position:absolute;right:0;top:0}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav{background:var(--color-primary-2);border-color:transparent;color:var(--color-white);display:flex;flex:0 0 auto;padding:0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav>li a{color:rgba(var(--color-white-rgb),.54)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav>li.ui-state-active a{color:var(--color-white)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav li:not(.ui-state-active):not(.ui-state-disabled):hover{border-color:rgba(var(--color-white-rgb),.54)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-nav li:not(.ui-state-active):not(.ui-state-disabled):hover a{color:var(--color-white)}.eo-app-search .body .ui-tabview.tab-main>.ui-tabview-panels{flex:1 1 auto;overflow-y:auto;padding-right:calc(var(--app-pane-padding)*2 + var(--search-summary-width));position:relative}.eo-app-search .body .ui-tabview .ui-tabview-panel{padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .ui-tabview .ui-tabview-panel h2{color:var(--text-color-caption);font-size:var(--font-title);font-weight:var(--font-weight-light);margin:0 0 calc(var(--app-pane-padding)*1.5) 0;padding:0}.eo-app-search .body .rest-box-container{align-items:stretch;display:flex;flex-flow:row wrap}.eo-app-search .body .rest-box-container .rest-box{background:var(--color-white);flex:1 1 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box h3{color:var(--text-color-caption);font-size:var(--font-caption);font-weight:var(--font-weight-normal);margin:0 0 var(--app-pane-padding) 0;padding:0}.eo-app-search .body .rest-box-container .rest-box .rest-item{align-items:center;color:var(--text-color-body);display:flex;flex:1 1 auto;flex-flow:row nowrap;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected{background:var(--color-primary-3);color:var(--color-white)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover{background:var(--list-item-hover-background)}.eo-app-search .body .rest-box-container .rest-box .label{flex:1 1 auto;padding:0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .rest-box-container .rest-box .count{font-size:var(--font-caption);font-weight:var(--font-weight-bold);min-width:30px;text-align:right}.eo-app-search .body .object-types .group .type{align-items:center;display:flex;flex-flow:row nowrap;padding:1px 0}.eo-app-search .body .object-types .group .type.context{font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .type.folder .item eo-icon{background:rgba(var(--color-black-rgb),.15)}.eo-app-search .body .object-types .group .type.folder .item:hover eo-icon{background:rgba(var(--color-white-rgb),.3)}.eo-app-search .body .object-types .group .type.abstract .item{color:var(--text-color-caption)}.eo-app-search .body .object-types .group .type.abstract .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .group .type .item{align-items:center;border-radius:2px;color:var(--text-color-body);cursor:default;display:flex;flex:1 1 auto;flex-flow:row nowrap;margin:0 calc(var(--app-pane-padding)/4);padding:calc(var(--app-pane-padding)/2)}.eo-app-search .body .object-types .group .type .item eo-icon{-moz-transition:none;-o-transition:none;-webkit-transition:none;border-radius:2px;box-sizing:content-box;color:var(--text-color-caption);height:16px;padding:2px;transition:none;width:16px}.eo-app-search .body .object-types .type .item{cursor:pointer}.eo-app-search .body .object-types .type .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .type .item:hover eo-icon{color:var(--panel-background)}.eo-app-search .body .indexdata-search{padding:calc(var(--app-pane-padding)/2) 0 0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .indexdata-search h2{align-items:center;display:flex;flex-flow:row}.eo-app-search .body .indexdata-search h2 eo-icon{margin:0 calc(var(--app-pane-padding)/2)}.eo-app-search .body .indexdata-search h2 span{padding:0 calc(var(--app-pane-padding)/4)}.eo-app-search .body .indexdata-search .context{margin-bottom:var(--app-pane-padding)}.eo-app-search .body .indexdata-search .context .context-select{align-items:center;display:flex;flex-flow:row wrap;padding-bottom:1px}.eo-app-search .body .indexdata-search .context .context-select .spacer{width:var(--app-pane-padding)}.eo-app-search .body .indexdata-search eo-object-form{border:1px solid rgba(var(--color-black-rgb),.1)}.eo-app-search .body .indexdata-search eo-object-form.dark{background-color:var(--color-primary-2);display:block}.eo-app-search.rtl{-webkit-animation:appSearchAppearRTL var(--app-default-transition-duration);animation:appSearchAppearRTL var(--app-default-transition-duration);left:auto;right:0}.eo-app-search.rtl .body .summary-panel,.eo-app-search.rtl .head .result{left:var(--app-pane-padding);right:auto}.eo-app-search.rtl .body .ui-tabview .ui-tabview-panels{padding-bottom:0;padding-left:calc(var(--app-pane-padding)*2 + var(--search-summary-width));padding-right:0;padding-top:0}.eo-app-search.expert .head .result{display:none}.eo-app-search.expert .head .search .search-box{max-width:100%}.eo-app-search.expert .head .search .search-box button.expert-mode{color:var(--color-accent)}.eo-app-search.expert .body{background:var(--color-primary-2);color:var(--color-white);display:flex;flex-flow:column}.eo-app-search.expert .body h2{flex:0 0 auto;font-size:var(--font-title);font-weight:var(--font-weight-light);margin:var(--app-pane-padding) 0;padding:0}.eo-app-search.expert .body h2 span{border-bottom:4px solid var(--color-accent);padding:calc(var(--app-pane-padding)/2) 0 calc(var(--app-pane-padding)/2) var(--app-pane-padding)}.eo-app-search.expert .body .intro{flex:0 0 auto;padding:var(--app-pane-padding)}.eo-app-search.expert .body .empty{flex:0 0 auto;padding:0 var(--app-pane-padding)}.eo-app-search.expert .body .empty span{background:var(--color-error);border-radius:2px;color:var(--color-white);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .fields h2{border-bottom:1px solid rgba(var(--color-white-rgb),.3);flex:0 0 auto;margin:calc(var(--app-pane-padding)/2);padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .fields .item{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-white-rgb),.06);border-radius:2px;cursor:pointer;margin-bottom:4px;padding:calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item.selected,.eo-app-search.expert .body .fields .item:hover{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{display:flex;font-weight:var(--font-weight-bold);justify-content:space-between}.eo-app-search.expert .body .fields .item .label .type{font-size:var(--font-hint);opacity:.5}.eo-app-search.expert .body .fields .item .data{opacity:.75}.eo-app-search.expert .body .base-params{padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .base-params .items{display:flex;flex-flow:row wrap;padding:calc(var(--app-pane-padding)/4)}.eo-app-search.expert .body .base-params .items .item{margin:calc(var(--app-pane-padding)/4)}.eo-app-search.expert .body .system-types{align-items:stretch;display:flex;flex:1 1 auto;flex-flow:row;justify-content:flex-start;padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .system-types .column{box-sizing:border-box;display:flex;flex:0 0 33%;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{flex:1 1 auto;overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}.eo-app-search.expert .body .system-types .column .items::-webkit-scrollbar-thumb{background-color:rgba(var(--color-white-rgb),.1)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox,.eo-app-search .body .rest-box-container .rest-box .type .checkbox{border:1px solid var(--text-color-hint);border-radius:2px;cursor:pointer;height:20px;margin:0 calc(var(--app-pane-padding)/2);width:20px}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type .checkbox svg{opacity:0}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover{border-color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover svg,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover svg{fill:var(--text-color-body);opacity:.3}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox{background:var(--color-primary-3);border-color:var(--color-primary-3)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox svg{fill:var(--color-white)!important;opacity:1}.eo-app-search .body .rest-box-container .rest-box .rest-item.saved .count,.eo-app-search .body .rest-box-container .rest-box .type.saved .count{font-weight:var(--font-weight-normal)}@-webkit-keyframes appSearchAppear{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes appSearchAppear{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes appSearchAppearRTL{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}"]
4588
4628
  },] }
4589
4629
  ];
4590
4630
  AppSearchComponent.ctorParameters = () => [
@@ -5349,7 +5389,7 @@ class CheckboxComponent {
5349
5389
  CheckboxComponent.decorators = [
5350
5390
  { type: Component, args: [{
5351
5391
  selector: 'eo-checkbox',
5352
- template: "<div [class.tristate]=\"tristate\" *ngIf=\"tristate; else twostate\">\r\n <p-triStateCheckbox [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"readonly\"\r\n [ngClass]=\"{undefined: value == undefined}\"></p-triStateCheckbox>\r\n <eo-icon *ngIf=\"!readonly && value !== null && tristate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"reset()\"></eo-icon>\r\n</div>\r\n\r\n<ng-template #twostate>\r\n <p-checkbox binary=\"true\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"readonly\"\r\n [ngClass]=\"{undefined: value == undefined}\"></p-checkbox>\r\n</ng-template>\r\n\r\n",
5392
+ template: "<div [class.tristate]=\"tristate\" *ngIf=\"tristate; else twostate\">\r\n <p-triStateCheckbox [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"readonly\"\r\n [ngClass]=\"{undefined: value == undefined}\"></p-triStateCheckbox>\r\n <eo-icon *ngIf=\"!readonly && value !== undefined && tristate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"reset()\"></eo-icon>\r\n</div>\r\n\r\n<ng-template #twostate>\r\n <p-checkbox binary=\"true\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"readonly\"\r\n [ngClass]=\"{undefined: value == undefined}\"></p-checkbox>\r\n</ng-template>\r\n\r\n",
5353
5393
  providers: [
5354
5394
  {
5355
5395
  provide: NG_VALUE_ACCESSOR,
@@ -12490,10 +12530,10 @@ class TextFilterComponent extends AbstractFilterComponent {
12490
12530
  }
12491
12531
  }
12492
12532
  doesExternalFilterPass(rowNode) {
12493
- return this.valueGetter(rowNode)
12494
- .toString()
12495
- .toLowerCase()
12496
- .indexOf(this.value.toLowerCase()) >= 0;
12533
+ const filterTerms = this.value.toLowerCase().split(' ');
12534
+ const rowValue = this.valueGetter(rowNode).toString().toLowerCase();
12535
+ const everyTermFound = !filterTerms.find(term => rowValue.indexOf(term) === -1);
12536
+ return everyTermFound;
12497
12537
  }
12498
12538
  reset() {
12499
12539
  super.reset();
@@ -18019,6 +18059,7 @@ class StoredQueryComponent {
18019
18059
  if (storedQuery instanceof StoredQuery) {
18020
18060
  this._storedQuery = storedQuery;
18021
18061
  this._storedQuery.state.count = { value: 0 };
18062
+ this.queryScope = this._storedQuery.scope;
18022
18063
  this.createQueryForm();
18023
18064
  this.aggregate();
18024
18065
  }
@@ -18031,6 +18072,11 @@ class StoredQueryComponent {
18031
18072
  set formOnly(b) {
18032
18073
  this._formOnly = b;
18033
18074
  }
18075
+ setQueryScope(scope) {
18076
+ this._storedQuery.scope = scope;
18077
+ this.queryScope = scope;
18078
+ this.aggregate();
18079
+ }
18034
18080
  // generate the form for the dynamic parts of the stored query
18035
18081
  createQueryForm() {
18036
18082
  this.queryFormControls = [];
@@ -18189,8 +18235,8 @@ class StoredQueryComponent {
18189
18235
  StoredQueryComponent.decorators = [
18190
18236
  { type: Component, args: [{
18191
18237
  selector: "eo-stored-query",
18192
- template: "<div *ngIf=\"query\" class=\"eo-stored-query\" [ngClass]=\"{hasForm: queryFormControls?.length > 0}\">\r\n\r\n <div class=\"title\" *ngIf=\"!_formOnly\">{{query.name}}</div>\r\n <div class=\"qform\">\r\n\r\n <div class=\"query-form\" [formGroup]=\"queryForm\" *ngIf=\"queryForm\">\r\n <div class=\"form-field fulltext\" *ngIf=\"fulltextFormControl\">\r\n <eo-form-element [element]=\"fulltextFormControl\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n </div>\r\n\r\n <div class=\"form-field\" *ngFor=\"let element of queryFormControls\"\r\n [ngClass]=\"{sfe: element.controls[element._eoFormControlWrapper.controlName]._eoFormElement.selectedforenrichment}\">\r\n <eo-form-element [element]=\"element\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n </div>\r\n </div>\r\n\r\n <div class=\"actions\">\r\n <div class=\"state\">\r\n <span class=\"count\">{{query.state?.totalCount | localeDecimal}}</span>\r\n <span translate>eo.storedquery.res.count.label</span>\r\n </div>\r\n <div class=\"buttons\" *ngIf=\"!_formOnly\">\r\n <button class=\"secondary\" (click)=\"load()\" translate>eo.storedquery.load</button>\r\n <button class=\"primary\" [disabled]=\"(queryForm && queryForm.invalid) || query.state?.isEmpty\"\r\n (click)=\"execute()\" translate>eo.storedquery.run</button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n",
18193
- styles: [":host .eo-stored-query{width:100%}:host .eo-stored-query .title{color:var(--color-primary-2);font-size:var(--font-title);margin-bottom:var(--app-pane-padding);padding:calc(var(--app-pane-padding)/8) 0}:host .eo-stored-query .actions{align-items:center;display:flex;flex-flow:row wrap;margin:0 -2px}:host .eo-stored-query .actions .state{color:var(--text-color-caption);flex:1 1 auto;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host .eo-stored-query .actions .state .count{padding-right:5px}:host .eo-stored-query .actions .buttons{align-items:center;display:flex;flex-flow:row wrap;justify-content:flex-end}:host .eo-stored-query .actions .buttons button{flex:0 0 auto;margin:0 2px 2px}:host .eo-stored-query.hasForm .actions{padding-top:var(--app-pane-padding)}:host.open .eo-stored-query .title{font-weight:var(--font-weight-bold)}:host.open .eo-stored-query .title eo-icon{transform:rotate(180deg)}:host::ng-deep .form-field.sfe .fe-wrapper>label:before{background-color:var(--color-primary-3);border-radius:2px;color:var(--color-white)!important;content:\"*\";display:inline-block;margin:4px;padding:0 2px}"]
18238
+ template: "<div *ngIf=\"query\" class=\"eo-stored-query\" [ngClass]=\"{hasForm: queryFormControls?.length > 0}\">\r\n\r\n <div class=\"title\" *ngIf=\"!_formOnly\">{{query.name}}</div>\r\n <div class=\"qform\">\r\n\r\n <div class=\"query-form\" [formGroup]=\"queryForm\" *ngIf=\"queryForm\">\r\n\r\n <div class=\"form-field fulltext\" *ngIf=\"fulltextFormControl\">\r\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\r\n <eo-form-element [element]=\"fulltextFormControl\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n </div>\r\n\r\n <div class=\"form-field\" *ngFor=\"let element of queryFormControls\"\r\n [ngClass]=\"{sfe: element.controls[element._eoFormControlWrapper.controlName]._eoFormElement.selectedforenrichment}\">\r\n <eo-form-element [element]=\"element\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n </div>\r\n </div>\r\n\r\n <div class=\"actions\">\r\n <div class=\"state\">\r\n <span class=\"count\">{{query.state?.totalCount | localeDecimal}}</span>\r\n <span translate>eo.storedquery.res.count.label</span>\r\n </div>\r\n <div class=\"buttons\" *ngIf=\"!_formOnly\">\r\n <button class=\"secondary\" (click)=\"load()\" translate>eo.storedquery.load</button>\r\n <button class=\"primary\" [disabled]=\"(queryForm && queryForm.invalid) || query.state?.isEmpty\"\r\n (click)=\"execute()\" translate>eo.storedquery.run</button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n",
18239
+ styles: [":host .eo-stored-query{width:100%}:host .eo-stored-query .title{color:var(--color-primary-2);font-size:var(--font-title);margin-bottom:var(--app-pane-padding);padding:calc(var(--app-pane-padding)/8) 0}:host .eo-stored-query ::ng-deep eo-query-scope-select .query-scope .query-scope__button{background-color:rgba(0,0,0,.1);border:0;color:var(--text-color-caption)}:host .eo-stored-query .actions{align-items:center;display:flex;flex-flow:row wrap;margin:0 -2px}:host .eo-stored-query .actions .state{color:var(--text-color-caption);flex:1 1 auto;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host .eo-stored-query .actions .state .count{padding-right:5px}:host .eo-stored-query .actions .buttons{align-items:center;display:flex;flex-flow:row wrap;justify-content:flex-end}:host .eo-stored-query .actions .buttons button{flex:0 0 auto;margin:0 2px 2px}:host .eo-stored-query.hasForm .actions{padding-top:var(--app-pane-padding)}:host.open .eo-stored-query .title{font-weight:var(--font-weight-bold)}:host.open .eo-stored-query .title eo-icon{transform:rotate(180deg)}:host::ng-deep .form-field.sfe .fe-wrapper>label:before{background-color:var(--color-primary-3);border-radius:2px;color:var(--color-white)!important;content:\"*\";display:inline-block;margin:4px;padding:0 2px}"]
18194
18240
  },] }
18195
18241
  ];
18196
18242
  StoredQueryComponent.ctorParameters = () => [
@@ -18237,11 +18283,16 @@ class StoredQueryDetailsComponent extends UnsubscribeOnDestroy {
18237
18283
  set query(q) {
18238
18284
  this.setQuery(q);
18239
18285
  }
18286
+ setQueryScope(scope) {
18287
+ this.storedQuery.scope = scope;
18288
+ this.queryScope = scope;
18289
+ }
18240
18290
  setQuery(q) {
18241
18291
  this.resetEditForm();
18242
18292
  // grab meta information about the query
18243
18293
  this.storedQuery = q;
18244
18294
  if (q instanceof StoredQuery) {
18295
+ this.queryScope = q.scope;
18245
18296
  const user = this.userService.getCurrentUser();
18246
18297
  this.isNewQuery = q.isNew();
18247
18298
  this.isOwnQuery = this.isNewQuery || q.user.toLowerCase() === user.name.toLowerCase();
@@ -18661,7 +18712,7 @@ class StoredQueryDetailsComponent extends UnsubscribeOnDestroy {
18661
18712
  StoredQueryDetailsComponent.decorators = [
18662
18713
  { type: Component, args: [{
18663
18714
  selector: 'eo-stored-query-details',
18664
- template: "<ng-container *ngIf=\"storedQuery\">\r\n <div class=\"eo-head\">\r\n <header class=\"eo-header\">\r\n <eo-icon class=\"eo-header-icon\"\r\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"\r\n [iconTitle]=\"('eo.sidebar.navigation.storedqueries' | translate)\">\r\n </eo-icon>\r\n <div class=\"eo-header-info\">\r\n <h2 class=\"eo-header-title\">{{storedQuery.name}}</h2>\r\n <h3 class=\"eo-header-subtitle\" translate>eo.search.title.storedqueries</h3>\r\n </div>\r\n </header>\r\n </div>\r\n\r\n <div class=\"eo-body\">\r\n\r\n <div class=\"form\">\r\n\r\n <ng-template #queryForm>\r\n <eo-stored-query [query]=\"storedQuery\" [formOnly]=\"true\" #storedQueryForm\r\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\r\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\r\n </ng-template>\r\n\r\n <form class=\"edit-form\" [formGroup]=\"editForm.form\" *ngIf=\"editForm.form; else queryForm\">\r\n\r\n <div class=\"context dark\">\r\n\r\n <!-- title and fulltext term fields -->\r\n <eo-form-input class=\"title\">\r\n <input type=\"text\" name=\"storedQueryTitle\" maxlength=\"64\" autofocus=\"autofocus\" [formControlName]=\"'storedQueryTitle'\"/>\r\n </eo-form-input>\r\n <div class=\"form-field\">\r\n <eo-form-element [skipToggle]=\"true\" [element]=\"editForm.fulltextFormControl\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n <eo-dynamic-property-switch [parentFormControl]=\"editForm.fulltextFormControl\"\r\n (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\r\n </div>\r\n\r\n <!-- context type form controls -->\r\n <h3>{{storedQuery.contextFolderTypes[0]?.label}}</h3>\r\n <div class=\"form-field\" *ngFor=\"let ctxElement of editForm.contextControls; trackBy: trackByQName\">\r\n <eo-form-element [element]=\"ctxElement\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n <eo-dynamic-property-switch [parentFormControl]=\"ctxElement\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\r\n </div>\r\n </div>\r\n\r\n <!-- object type form controls -->\r\n <div class=\"form-fields\" [ngClass]=\"{empty: !editForm.controls?.length}\">\r\n <div class=\"form-field\" *ngFor=\"let element of editForm.controls; trackBy: trackByQName\">\r\n <eo-form-element [element]=\"element\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n <eo-dynamic-property-switch [parentFormControl]=\"element\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <aside class=\"aside\" *ngIf=\"!isNewQuery\">\r\n\r\n <!-- favorite and share -->\r\n <div class=\"meta-actions\">\r\n\r\n <ng-container *ngIf=\"isOwnQuery; else sharedWithMe\">\r\n <eo-icon class=\"button btn-share\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" *ngIf=\"enableSharing\"\r\n [ngClass]=\"{active: storedQuery.shared || storedQuery.roles.length, editing: editingShare}\"\r\n (click)=\"toggleShareEdit()\"\r\n [iconTitle]=\"iconTitles.share\"></eo-icon>\r\n\r\n <eo-icon class=\"button btn-fav\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\r\n [ngClass]=\"{active: storedQuery.favorite}\"\r\n (click)=\"toggleFavoriteState()\"\r\n [iconTitle]=\"iconTitles.favor\"></eo-icon>\r\n </ng-container>\r\n\r\n <ng-template #sharedWithMe>\r\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" [iconTitle]=\"iconTitles.shared\"></eo-icon>\r\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\" [iconTitle]=\"iconTitles.favored\"></eo-icon>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <!-- roles that share this query -->\r\n <div class=\"meta-roles\" [ngClass]=\"{dark: editingShare, empty: !storedQuery.roles?.length}\">\r\n\r\n <div class=\"label\" translate>eo.storedquery.share.sharedwith</div>\r\n <div class=\"form-field\" *ngIf=\"rolesPicker?.codesystem?.entries\">\r\n <eo-codesystem [pickerTitle]=\"rolesPicker.title\"\r\n [codesystem]=\"rolesPicker.codesystem\"\r\n [multiselect]=\"true\"\r\n [readonly]=\"!editingShare\"\r\n [inputStyleClass]=\"'stored-query__share'\"\r\n [(ngModel)]=\"rolesPicker.value\"></eo-codesystem>\r\n </div>\r\n\r\n <div class=\"share-actions\" *ngIf=\"editingShare\">\r\n <button class=\"secondary\" (click)=\"cancelShare()\" translate>eo.storedquery.share.cancel</button>\r\n <button class=\"primary\" (click)=\"share()\" translate>eo.storedquery.share.ok</button>\r\n </div>\r\n </div>\r\n\r\n <!-- queries meta info like baseparam settings -->\r\n <div class=\"meta-data\" *ngIf=\"restrictions?.length\">\r\n <div class=\"restriction\" *ngFor=\"let restriction of restrictions; trackBy: trackByIndex\">\r\n <div class=\"label\">{{restriction.label}}</div>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of restriction.items; trackBy: trackByIndex\">{{item}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </aside>\r\n\r\n </div>\r\n\r\n <div class=\"actions\">\r\n <ng-container *ngIf=\"!editForm.form; else actionEdit\">\r\n <button class=\"secondary btn-delete\" (click)=\"delete()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.delete</button>\r\n <button class=\"secondary btn-open\" (click)=\"setQueryToAppSearch()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.load</button>\r\n <button class=\"primary grey btn-edit\" (click)=\"edit()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.edit</button>\r\n <button class=\"primary btn-search\" [disabled]=\"storedQuery.state?.isEmpty\" (click)=\"executeQuery()\" translate>eo.storedquery.run</button>\r\n </ng-container>\r\n\r\n <ng-template #actionEdit>\r\n <!-- action while editing the query form -->\r\n <button class=\"secondary btn-cancel\" (click)=\"cancelEdit()\" translate>eo.storedquery.action.cancel</button>\r\n <button class=\"primary btn-save\" (click)=\"updateStoredQuery()\" [disabled]=\"editForm.form.invalid\" translate>eo.storedquery.action.save</button>\r\n </ng-template>\r\n </div>\r\n\r\n</ng-container>\r\n",
18715
+ template: "<ng-container *ngIf=\"storedQuery\">\r\n <div class=\"eo-head\">\r\n <header class=\"eo-header\">\r\n <eo-icon class=\"eo-header-icon\"\r\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"\r\n [iconTitle]=\"('eo.sidebar.navigation.storedqueries' | translate)\">\r\n </eo-icon>\r\n <div class=\"eo-header-info\">\r\n <h2 class=\"eo-header-title\">{{storedQuery.name}}</h2>\r\n <h3 class=\"eo-header-subtitle\" translate>eo.search.title.storedqueries</h3>\r\n </div>\r\n </header>\r\n </div>\r\n\r\n <div class=\"eo-body\">\r\n\r\n <div class=\"form\">\r\n\r\n <ng-template #queryForm>\r\n <eo-stored-query [query]=\"storedQuery\" [formOnly]=\"true\" #storedQueryForm\r\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\r\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\r\n </ng-template>\r\n\r\n <form class=\"edit-form\" [formGroup]=\"editForm.form\" *ngIf=\"editForm.form; else queryForm\">\r\n\r\n <div class=\"context dark\">\r\n\r\n <!-- title and fulltext term fields -->\r\n <eo-form-input class=\"title\">\r\n <input type=\"text\" name=\"storedQueryTitle\" maxlength=\"64\" autofocus=\"autofocus\" [formControlName]=\"'storedQueryTitle'\"/>\r\n </eo-form-input>\r\n \r\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\r\n <div class=\"form-field\">\r\n <eo-form-element [skipToggle]=\"true\" [element]=\"editForm.fulltextFormControl\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n <eo-dynamic-property-switch [parentFormControl]=\"editForm.fulltextFormControl\"\r\n (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\r\n </div>\r\n\r\n <!-- context type form controls -->\r\n <h3>{{storedQuery.contextFolderTypes[0]?.label}}</h3>\r\n <div class=\"form-field\" *ngFor=\"let ctxElement of editForm.contextControls; trackBy: trackByQName\">\r\n <eo-form-element [element]=\"ctxElement\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n <eo-dynamic-property-switch [parentFormControl]=\"ctxElement\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\r\n </div>\r\n </div>\r\n\r\n <!-- object type form controls -->\r\n <div class=\"form-fields\" [ngClass]=\"{empty: !editForm.controls?.length}\">\r\n <div class=\"form-field\" *ngFor=\"let element of editForm.controls; trackBy: trackByQName\">\r\n <eo-form-element [element]=\"element\" [situation]=\"'SEARCH'\"></eo-form-element>\r\n <eo-dynamic-property-switch [parentFormControl]=\"element\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <aside class=\"aside\" *ngIf=\"!isNewQuery\">\r\n\r\n <!-- favorite and share -->\r\n <div class=\"meta-actions\">\r\n\r\n <ng-container *ngIf=\"isOwnQuery; else sharedWithMe\">\r\n <eo-icon class=\"button btn-share\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" *ngIf=\"enableSharing\"\r\n [ngClass]=\"{active: storedQuery.shared || storedQuery.roles.length, editing: editingShare}\"\r\n (click)=\"toggleShareEdit()\"\r\n [iconTitle]=\"iconTitles.share\"></eo-icon>\r\n\r\n <eo-icon class=\"button btn-fav\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\r\n [ngClass]=\"{active: storedQuery.favorite}\"\r\n (click)=\"toggleFavoriteState()\"\r\n [iconTitle]=\"iconTitles.favor\"></eo-icon>\r\n </ng-container>\r\n\r\n <ng-template #sharedWithMe>\r\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" [iconTitle]=\"iconTitles.shared\"></eo-icon>\r\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\" [iconTitle]=\"iconTitles.favored\"></eo-icon>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <!-- roles that share this query -->\r\n <div class=\"meta-roles\" [ngClass]=\"{dark: editingShare, empty: !storedQuery.roles?.length}\">\r\n\r\n <div class=\"label\" translate>eo.storedquery.share.sharedwith</div>\r\n <div class=\"form-field\" *ngIf=\"rolesPicker?.codesystem?.entries\">\r\n <eo-codesystem [pickerTitle]=\"rolesPicker.title\"\r\n [codesystem]=\"rolesPicker.codesystem\"\r\n [multiselect]=\"true\"\r\n [readonly]=\"!editingShare\"\r\n [inputStyleClass]=\"'stored-query__share'\"\r\n [(ngModel)]=\"rolesPicker.value\"></eo-codesystem>\r\n </div>\r\n\r\n <div class=\"share-actions\" *ngIf=\"editingShare\">\r\n <button class=\"secondary\" (click)=\"cancelShare()\" translate>eo.storedquery.share.cancel</button>\r\n <button class=\"primary\" (click)=\"share()\" translate>eo.storedquery.share.ok</button>\r\n </div>\r\n </div>\r\n\r\n <!-- queries meta info like baseparam settings -->\r\n <div class=\"meta-data\" *ngIf=\"restrictions?.length\">\r\n <div class=\"restriction\" *ngFor=\"let restriction of restrictions; trackBy: trackByIndex\">\r\n <div class=\"label\">{{restriction.label}}</div>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of restriction.items; trackBy: trackByIndex\">{{item}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </aside>\r\n\r\n </div>\r\n\r\n <div class=\"actions\">\r\n <ng-container *ngIf=\"!editForm.form; else actionEdit\">\r\n <button class=\"secondary btn-delete\" (click)=\"delete()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.delete</button>\r\n <button class=\"secondary btn-open\" (click)=\"setQueryToAppSearch()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.load</button>\r\n <button class=\"primary grey btn-edit\" (click)=\"edit()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.edit</button>\r\n <button class=\"primary btn-search\" [disabled]=\"storedQuery.state?.isEmpty\" (click)=\"executeQuery()\" translate>eo.storedquery.run</button>\r\n </ng-container>\r\n\r\n <ng-template #actionEdit>\r\n <!-- action while editing the query form -->\r\n <button class=\"secondary btn-cancel\" (click)=\"cancelEdit()\" translate>eo.storedquery.action.cancel</button>\r\n <button class=\"primary btn-save\" (click)=\"updateStoredQuery()\" [disabled]=\"editForm.form.invalid\" translate>eo.storedquery.action.save</button>\r\n </ng-template>\r\n </div>\r\n\r\n</ng-container>\r\n",
18665
18716
  styles: [":host{--stored-query-aside-width:300px;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .eo-head{background-color:var(--color-white);border-bottom:1px solid var(--panel-header-border-bottom-color)}:host .eo-body{overflow-y:hidden}:host .eo-body .form{overflow-y:auto;padding:var(--app-pane-padding);padding-right:calc(var(--stored-query-aside-width) + var(--app-pane-padding)*2)}:host .eo-body .form eo-stored-query{background-color:var(--color-white);padding:var(--app-pane-padding)}:host .eo-body .aside{background-color:rgba(var(--color-black-rgb),.02);border:1px solid rgba(var(--color-black-rgb),.1);box-sizing:border-box;padding:var(--app-pane-padding);position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);width:var(--stored-query-aside-width)}:host .eo-body .aside .meta-actions{display:flex;justify-content:flex-end;margin:0 -2px}:host .eo-body .aside .meta-actions eo-icon{color:var(--text-color-hint);margin:0 2px;padding:4px}:host .eo-body .aside .meta-actions eo-icon.active{color:var(--color-favorite)}:host .eo-body .aside .meta-actions eo-icon.editing{background-color:var(--color-primary-2);border-radius:2px 2px 0 0;color:var(--color-white)}:host .eo-body .aside .meta-actions eo-icon.sharedWithMe{background-color:var(--text-color-hint);border-radius:2px;color:var(--color-white)}:host .eo-body .aside .meta-roles.dark{background-color:var(--color-primary-2);border-radius:2px;color:var(--color-white);margin-bottom:var(--app-pane-padding);padding:calc(var(--app-pane-padding)/2)}:host .eo-body .aside .meta-roles.dark .actions{display:flex}:host .eo-body .aside .meta-roles.dark .label{display:none}:host .eo-body .aside .meta-roles.dark .form-field,:host .eo-body .aside .meta-roles .form-field{background-color:rgba(var(--color-white-rgb),.2)}:host .eo-body .aside .meta-roles .form-field{border:1px solid rgba(var(--color-black-rgb),.1);margin-bottom:calc(var(--app-pane-padding)/2);padding:2px 2px 4px 4px}:host .eo-body .aside .meta-roles .label{color:var(--text-color-caption);font-style:italic;margin-bottom:calc(var(--app-pane-padding)/4)}:host .eo-body .aside .meta-roles .share-actions{display:flex;justify-content:flex-end;margin:0 calc(var(--app-pane-padding)/8*-1)}:host .eo-body .aside .meta-roles .share-actions button{margin:0 calc(var(--app-pane-padding)/8);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host .eo-body .aside .meta-roles.empty:not(.dark) .form-field,:host .eo-body .aside .meta-roles.empty:not(.dark) .label{display:none}:host .eo-body .aside .meta-data{border-collapse:collapse;display:table;flex:1 1 40%;margin:0 0 var(--app-pane-padding) 0;order:1}:host .eo-body .aside .meta-data .restriction{display:table-row}:host .eo-body .aside .meta-data .restriction .label{color:var(--text-color-caption);display:table-cell;font-style:italic;padding-right:calc(var(--app-pane-padding)/2)}:host .eo-body .aside .meta-data .restriction .items{border-left:1px solid rgba(var(--color-black-rgb),.1);display:table-cell;padding:0 0 calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2)}:host .actions{background-color:var(--color-white);border-top:1px solid var(--panel-header-border-bottom-color);display:flex;flex-flow:row;justify-content:flex-end;padding:var(--app-pane-padding) calc(var(--app-pane-padding) - 2px)}:host .actions button{margin:0 2px}:host .edit-form{background-color:var(--color-white);max-width:500px}:host .edit-form .context{background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding)/2)}:host .edit-form .context h3{color:var(--color-white);display:flex;font-size:var(--font-subhead);font-weight:var(--font-weight-light);justify-content:flex-end;margin:0;padding:var(--app-pane-padding) 0 calc(var(--app-pane-padding)/2) 0}:host .edit-form .form-fields{padding:calc(var(--app-pane-padding)/2)}:host .edit-form .form-fields.empty{display:none}:host .edit-form .form-field{align-items:center;display:flex;flex-flow:row nowrap}:host .edit-form .form-field eo-form-element{flex:1 1 auto}:host .edit-form .form-field eo-dynamic-property-switch{flex:0 0 auto}:host eo-stored-query{display:block;max-width:500px}:host ::ng-deep eo-form-input.title{display:block;margin-bottom:var(--app-pane-padding)}:host ::ng-deep eo-form-input.title input{font-size:var(--font-title);font-weight:var(--font-weight-light)}"]
18666
18717
  },] }
18667
18718
  ];
@@ -21744,10 +21795,10 @@ class AboutStateComponent {
21744
21795
  this.http = http;
21745
21796
  this.userService = userService;
21746
21797
  this.config = config;
21747
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "7.12.0-rc.1", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "6.0.0-beta.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
21798
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "7.13.0-rc.2", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "6.0.0-beta.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
21748
21799
  this.ctrl = {
21749
21800
  productName: 'yuuvis® RAD client',
21750
- clientVersion: '7.12.0-rc.1'
21801
+ clientVersion: '7.13.0-rc.2'
21751
21802
  };
21752
21803
  this.licenses = {
21753
21804
  'MIT': {
@@ -23589,5 +23640,5 @@ EoClientModule.ctorParameters = () => [
23589
23640
  * Generated bundle index. Do not edit.
23590
23641
  */
23591
23642
 
23592
- export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppLayoutComponent, AppSearchComponent, AppSearchService, AreaState, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, ContextType, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DatepickerComponent, DatetimeComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PluginComponent, PluginDirective, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SimpleAccordionComponent, SplitAreaComponent, SplitComponent, SplitGutterDirective, SplitModule, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TabContainerComponent, TabContainerModule, TabPanelComponent, TabPluginComponent, TabViewComponent, TabViewNavComponent, TextFilterComponent, TotalCountComponent, TreeComponent, TreeModule, TypeFilter, UiModule, UndockSplitComponent, UndockSplitService, UnsubscribeOnDestroy, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, entryComponents, listAnimation, panelLoadingAnimations, ɵ0, ɵ1, PendingChangesGuard as ɵa, UploadOverlayGuard as ɵb, OpenDocumentActionComponent as ɵba, EmailActionComponent as ɵbb, EmailLinkActionComponent as ɵbc, EmailOriginalActionComponent as ɵbd, EmailPdfActionComponent as ɵbe, ClipboardActionComponent as ɵbf, ClipboardLinkActionComponent as ɵbg, ClipboardOriginalActionComponent as ɵbh, ClipboardPdfActionComponent as ɵbi, FavoriteActionComponent as ɵbj, DeleteActionComponent as ɵbk, DeleteComponent as ɵbl, OpenVersionsActionComponent as ɵbm, RestoreVersionActionComponent as ɵbn, DeletePreparedActionComponent as ɵbo, AddSubscriptionActionComponent as ɵbp, AddSubscriptionComponent as ɵbq, RemoveSubscriptionActionComponent as ɵbr, WorkflowActionComponent as ɵbs, WorkflowComponent as ɵbt, CustomActionsComponent as ɵbu, AddResubmissionActionComponent as ɵbv, AddResubmissionComponent as ɵbw, UpdateResubmissionActionComponent as ɵbx, ShareObjectActionComponent as ɵby, ShareObjectComponent as ɵbz, AppShellRoutingModule as ɵc, CutActionComponent as ɵca, FinalizeActionComponent as ɵcb, DefinalizeActionComponent as ɵcc, DeleteContentActionComponent as ɵcd, UnlockActionComponent as ɵce, SimpleWorkflowActionComponent as ɵcf, PreventDoubleClickDirective as ɵcg, EditIconComponent as ɵch, DuetimeInfoComponent as ɵci, PrepareContentExistsInfoComponent as ɵcj, ObjectStateRoutingModule as ɵck, InboxStateRoutingModule as ɵcl, PrepareStateRoutingModule as ɵcm, EoClientRoutingModule as ɵcn, ProcessStateComponent as ɵco, AppProcessComponent as ɵd, PipesModule as ɵe, IndexdataSummaryEntryComponent as ɵf, OrderByPipe as ɵg, TreeNodeComponent as ɵh, DatepickerService as ɵi, YearRangeDirective as ɵj, ReferenceFinderComponent as ɵk, fadeInOut as ɵl, ReferenceFinderService as ɵm, ReferenceFinderEntryComponent as ɵn, DynamicListFilterComponent as ɵo, ListFilterComponent as ɵp, PaginationComponent as ɵq, ProcessFormModule as ɵr, ProcessFormComponent as ɵs, ActionComponentAnchorDirective as ɵt, OpenDocumentComponent as ɵu, CopyActionComponent as ɵv, OpenContextActionComponent as ɵw, DownloadActionComponent as ɵx, DownloadOriginalActionComponent as ɵy, DownloadPdfActionComponent as ɵz };
23643
+ export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppLayoutComponent, AppSearchComponent, AppSearchService, AreaState, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, ContextType, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DatepickerComponent, DatetimeComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PluginComponent, PluginDirective, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SimpleAccordionComponent, SplitAreaComponent, SplitComponent, SplitGutterDirective, SplitModule, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TabContainerComponent, TabContainerModule, TabPanelComponent, TabPluginComponent, TabViewComponent, TabViewNavComponent, TextFilterComponent, TotalCountComponent, TreeComponent, TreeModule, TypeFilter, UiModule, UndockSplitComponent, UndockSplitService, UnsubscribeOnDestroy, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, entryComponents, listAnimation, panelLoadingAnimations, ɵ0, ɵ1, PendingChangesGuard as ɵa, UploadOverlayGuard as ɵb, DownloadPdfActionComponent as ɵba, OpenDocumentActionComponent as ɵbb, EmailActionComponent as ɵbc, EmailLinkActionComponent as ɵbd, EmailOriginalActionComponent as ɵbe, EmailPdfActionComponent as ɵbf, ClipboardActionComponent as ɵbg, ClipboardLinkActionComponent as ɵbh, ClipboardOriginalActionComponent as ɵbi, ClipboardPdfActionComponent as ɵbj, FavoriteActionComponent as ɵbk, DeleteActionComponent as ɵbl, DeleteComponent as ɵbm, OpenVersionsActionComponent as ɵbn, RestoreVersionActionComponent as ɵbo, DeletePreparedActionComponent as ɵbp, AddSubscriptionActionComponent as ɵbq, AddSubscriptionComponent as ɵbr, RemoveSubscriptionActionComponent as ɵbs, WorkflowActionComponent as ɵbt, WorkflowComponent as ɵbu, CustomActionsComponent as ɵbv, AddResubmissionActionComponent as ɵbw, AddResubmissionComponent as ɵbx, UpdateResubmissionActionComponent as ɵby, ShareObjectActionComponent as ɵbz, AppShellRoutingModule as ɵc, ShareObjectComponent as ɵca, CutActionComponent as ɵcb, FinalizeActionComponent as ɵcc, DefinalizeActionComponent as ɵcd, DeleteContentActionComponent as ɵce, UnlockActionComponent as ɵcf, SimpleWorkflowActionComponent as ɵcg, PreventDoubleClickDirective as ɵch, EditIconComponent as ɵci, DuetimeInfoComponent as ɵcj, PrepareContentExistsInfoComponent as ɵck, ObjectStateRoutingModule as ɵcl, InboxStateRoutingModule as ɵcm, PrepareStateRoutingModule as ɵcn, EoClientRoutingModule as ɵco, ProcessStateComponent as ɵcp, AppProcessComponent as ɵd, PipesModule as ɵe, QueryScopeSelectComponent as ɵf, IndexdataSummaryEntryComponent as ɵg, OrderByPipe as ɵh, TreeNodeComponent as ɵi, DatepickerService as ɵj, YearRangeDirective as ɵk, ReferenceFinderComponent as ɵl, fadeInOut as ɵm, ReferenceFinderService as ɵn, ReferenceFinderEntryComponent as ɵo, DynamicListFilterComponent as ɵp, ListFilterComponent as ɵq, PaginationComponent as ɵr, ProcessFormModule as ɵs, ProcessFormComponent as ɵt, ActionComponentAnchorDirective as ɵu, OpenDocumentComponent as ɵv, CopyActionComponent as ɵw, OpenContextActionComponent as ɵx, DownloadActionComponent as ɵy, DownloadOriginalActionComponent as ɵz };
23593
23644
  //# sourceMappingURL=eo-sdk-client.js.map