@eo-sdk/client 11.5.0-rc.2 → 11.6.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/custom-actions/custom-actions.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -0
- package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts +7 -0
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/media/media.component.d.ts +3 -2
- package/app/eo-framework/media/media.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +13 -4
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts +3 -2
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +50 -0
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts +10 -0
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts.map +1 -0
- package/app/eo-framework-core/search/app-search.service.d.ts +12 -1
- package/app/eo-framework-core/search/app-search.service.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +5 -3
- package/assets/_default/i18n/en.json +10 -8
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -1
- package/esm2022/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +2 -2
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +18 -4
- package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +25 -16
- package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +3 -3
- package/esm2022/app/eo-framework/grid/grid.component.mjs +36 -10
- package/esm2022/app/eo-framework/media/media.component.mjs +8 -4
- package/esm2022/app/eo-framework/object-details/object-details.component.mjs +30 -15
- package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +11 -6
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
- package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/result-list/result-list.component.mjs +7 -2
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +138 -5
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.mjs +2 -0
- package/esm2022/app/eo-framework-core/api/grid.service.mjs +3 -3
- package/esm2022/app/eo-framework-core/search/app-search.service.mjs +25 -4
- package/fesm2022/eo-sdk-client.mjs +303 -746
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/copy-client-assets.js +1 -1
- package/package.json +3 -3
- package/proxy.config.js +13 -0
- package/scss/_migrationTemp.scss +1 -0
- package/styles.css +1 -0
- package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +0 -13
- package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +0 -1
- package/app/eo-framework/grid/row-grouping/group-stage.d.ts +0 -45
- package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +0 -1
- package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +0 -8
- package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +0 -1
- package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +0 -50
- package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -623
- package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +0 -8
- package/proxy.config.json +0 -97
|
@@ -5,12 +5,13 @@ import { DecimalPipe, PercentPipe, CurrencyPipe, DatePipe, getLocaleDateTimeForm
|
|
|
5
5
|
import * as i2 from '@angular/common/http';
|
|
6
6
|
import { HttpResponse, HttpErrorResponse, HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, HttpHeaders } from '@angular/common/http';
|
|
7
7
|
import { ReplaySubject, BehaviorSubject, from, forkJoin, of, Subject, fromEvent, firstValueFrom, AsyncSubject, tap as tap$1, Observable, debounceTime as debounceTime$1, EMPTY, map as map$2, skip, switchMap as switchMap$1, catchError as catchError$1 } from 'rxjs';
|
|
8
|
-
import { groupBy, mergeMap, reduce, tap, catchError, map, debounceTime, throttleTime, filter as filter$1, switchMap, take as take$1, combineLatest, finalize, pluck, withLatestFrom, first as first$1 } from 'rxjs/operators';
|
|
8
|
+
import { groupBy, mergeMap, reduce, tap, catchError, map, debounceTime, throttleTime, filter as filter$1, switchMap, take as take$1, delay, combineLatest, finalize, pluck, withLatestFrom, first as first$1 } from 'rxjs/operators';
|
|
9
9
|
import * as i1 from '@eo-sdk/core';
|
|
10
10
|
import { SearchQuery, SearchState, EnaioEvent, Utils, CORE_CONFIG, UploadTarget, DmsObject, EnvironmentEnaio, SearchFilter, RangeValue, AuthService, Logger, NotificationsService, TranslateService, EoError, SearchService, InboxItem, Process, PreparedItem, WorkItem, StoredQuery, ClipboardAction, QueryScope, EoSharedModule, FieldDefinition, SubscriptionMode, TranslateModule, UploadFileItem, StoredQueriesService, SortOption, SearchResult } from '@eo-sdk/core';
|
|
11
|
+
import * as i4 from '@ngx-translate/core';
|
|
11
12
|
import * as i2$1 from '@angular/router';
|
|
12
13
|
import { NavigationStart, Router, RouterModule, NavigationEnd } from '@angular/router';
|
|
13
|
-
import { NumberFilter, _,
|
|
14
|
+
import { NumberFilter, _, PopupService, SimpleFilter } from '@ag-grid-community/core';
|
|
14
15
|
import { __decorate } from 'tslib';
|
|
15
16
|
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
|
16
17
|
import { isNaN as isNaN$1, assign, bind, camelCase, capitalize, ceil, chunk, clone, cloneDeep, concat, debounce, each, endsWith, entries, escape, every, extend, filter, find, findIndex, findKey, first, flatMap, floor, forEach, forOwn, get, groupBy as groupBy$1, has, includes, indexOf, isArray, isDate, isEmpty, isNumber, isObject, isString, join, keys, map as map$1, orderBy, reduce as reduce$1, remove, replace, reverse, round, set, slice, some, sortBy, split, startsWith, sum, take, uniqBy, values } from 'lodash-es';
|
|
@@ -19,7 +20,6 @@ import * as i1$3 from '@angular/forms';
|
|
|
19
20
|
import { Validators, UntypedFormControl, UntypedFormGroup, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgModel, FormsModule, ReactiveFormsModule, FormGroup, FormControl, NgForm } from '@angular/forms';
|
|
20
21
|
import * as i12 from '@yuuvis/components/tabs';
|
|
21
22
|
import { YvcTabsModule, Tabs, YvcTabDirective } from '@yuuvis/components/tabs';
|
|
22
|
-
import * as i4 from '@ngx-translate/core';
|
|
23
23
|
import { CdkPortalOutlet } from '@angular/cdk/portal';
|
|
24
24
|
import * as i2$2 from '@yuuvis/components/overlay';
|
|
25
25
|
import { YvcOverlayModule } from '@yuuvis/components/overlay';
|
|
@@ -70,10 +70,11 @@ import { WidgetGridUtils, YuvWidgetGridModule } from '@yuuvis/widget-grid';
|
|
|
70
70
|
* stay in touch with updates to the query.
|
|
71
71
|
*/
|
|
72
72
|
class AppSearchService {
|
|
73
|
-
constructor(searchService, eventService, system) {
|
|
73
|
+
constructor(searchService, eventService, system, translate) {
|
|
74
74
|
this.searchService = searchService;
|
|
75
75
|
this.eventService = eventService;
|
|
76
76
|
this.system = system;
|
|
77
|
+
this.translate = translate;
|
|
77
78
|
this.query = new SearchQuery();
|
|
78
79
|
this.lastQuery = new SearchQuery();
|
|
79
80
|
this.queryState = new SearchState();
|
|
@@ -102,6 +103,8 @@ class AppSearchService {
|
|
|
102
103
|
// These groups are provided through the services `objectTypeGroups` property.
|
|
103
104
|
this.system.system$.subscribe((systemDefinition) => {
|
|
104
105
|
this.typesAllowedUnderSysroot = systemDefinition.types.filter(type => type.parenttypes.includes('sysroot'));
|
|
106
|
+
// translates labels for 'sysdmscontenttemplate' object types.
|
|
107
|
+
this.typesAllowedUnderSysroot = this.updateSysDmsContentTemplateLabel(systemDefinition.types);
|
|
105
108
|
let groups = [];
|
|
106
109
|
from(systemDefinition.types)
|
|
107
110
|
.pipe(groupBy((type) => type.group || '0'), mergeMap(g => g.pipe(reduce((acc, curr) => [...acc, curr], []))))
|
|
@@ -438,12 +441,29 @@ class AppSearchService {
|
|
|
438
441
|
}
|
|
439
442
|
return match;
|
|
440
443
|
}
|
|
441
|
-
|
|
444
|
+
/**
|
|
445
|
+
* Updates the label of `sysdmscontenttemplate` object types using translations.
|
|
446
|
+
*
|
|
447
|
+
* This method is useful for ensuring that the displayed labels for these object types are localized.
|
|
448
|
+
*
|
|
449
|
+
* @param {ObjectType[]} types - An array of object types to update.
|
|
450
|
+
* @returns {ObjectType[]} The updated array of object types with translated labels for `sysdmscontenttemplate` types.
|
|
451
|
+
*/
|
|
452
|
+
updateSysDmsContentTemplateLabel(types) {
|
|
453
|
+
return types.map((type) => {
|
|
454
|
+
if (type.qname === 'sysdmscontenttemplate') {
|
|
455
|
+
type.actualLabel = type.actualLabel || type.label;
|
|
456
|
+
type.label = this.translate.instant(`eo.type.label.${type.actualLabel.toLowerCase()}`);
|
|
457
|
+
}
|
|
458
|
+
return type;
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchService, deps: [{ token: i1.SearchService }, { token: i1.EventService }, { token: i1.SystemService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
442
462
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchService }); }
|
|
443
463
|
}
|
|
444
464
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchService, decorators: [{
|
|
445
465
|
type: Injectable
|
|
446
|
-
}], ctorParameters: () => [{ type: i1.SearchService }, { type: i1.EventService }, { type: i1.SystemService }] });
|
|
466
|
+
}], ctorParameters: () => [{ type: i1.SearchService }, { type: i1.EventService }, { type: i1.SystemService }, { type: i4.TranslateService }] });
|
|
447
467
|
|
|
448
468
|
var agentConfigKeys;
|
|
449
469
|
(function (agentConfigKeys) {
|
|
@@ -1620,7 +1640,7 @@ class GridService {
|
|
|
1620
1640
|
copyToClipboard(event, grid, gridOptions) {
|
|
1621
1641
|
event.preventDefault();
|
|
1622
1642
|
event.stopPropagation();
|
|
1623
|
-
const viewport = grid.api['gridBodyCtrl'].bodyScrollFeature.
|
|
1643
|
+
const viewport = grid.api['gridBodyCtrl'].bodyScrollFeature.centerRowsCtrl.eViewport;
|
|
1624
1644
|
const scrollLeft = viewport.scrollLeft;
|
|
1625
1645
|
const focusedCell = grid.api.getFocusedCell();
|
|
1626
1646
|
const rows = event.shiftKey ? grid.api.getSelectedNodes() : [grid.api.getDisplayedRowAtIndex(focusedCell.rowIndex)];
|
|
@@ -1807,7 +1827,7 @@ class GridService {
|
|
|
1807
1827
|
colDef.sortable = false;
|
|
1808
1828
|
}
|
|
1809
1829
|
if (!resultField.searchable) {
|
|
1810
|
-
colDef.
|
|
1830
|
+
colDef.suppressHeaderMenuButton = true;
|
|
1811
1831
|
colDef.filter = false;
|
|
1812
1832
|
}
|
|
1813
1833
|
let sortField = sortFields.find(f => f.qname === resultField.qname);
|
|
@@ -6050,32 +6070,41 @@ class OrganizationComponent {
|
|
|
6050
6070
|
this.onDataMetaChanged.emit(this.innerValue);
|
|
6051
6071
|
}
|
|
6052
6072
|
autocompleteFn(term) {
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6073
|
+
clearTimeout(this.autocompleteTimeout);
|
|
6074
|
+
this.autocompleteTimeout = setTimeout(() => {
|
|
6075
|
+
if (term.length >= this.minLength || term === this.wildCard) {
|
|
6076
|
+
if (this.multiselect || (!this.multiselect && this.innerValue.length === 0)) {
|
|
6077
|
+
this.backend.getJson(this.buildAutocompleteUri(term))
|
|
6078
|
+
.subscribe((res) => {
|
|
6079
|
+
// autocomplete values should be unique and not part of the exceptions
|
|
6080
|
+
this.autocompleteRes = res.filter(v => (!this.value || this.value.indexOf(v.name) === -1) && this.exceptions.indexOf(v.name) === -1 && (!this.removeCurrentUser || this.currentUserId !== v.id))
|
|
6081
|
+
.sort(Utils.sortValues('title')).slice(0, 10);
|
|
6082
|
+
}, Utils.throw(null, this.translate.instant('eo.form.property.organization.request.error.title'), this.translate.instant('eo.form.property.organization.request.error.msg')));
|
|
6083
|
+
}
|
|
6084
|
+
else {
|
|
6085
|
+
this.autocompleteRes = [];
|
|
6086
|
+
}
|
|
6061
6087
|
}
|
|
6062
6088
|
else {
|
|
6063
6089
|
this.autocompleteRes = [];
|
|
6064
6090
|
}
|
|
6065
|
-
}
|
|
6066
|
-
else {
|
|
6067
|
-
this.autocompleteRes = [];
|
|
6068
|
-
}
|
|
6091
|
+
}, 1000);
|
|
6069
6092
|
}
|
|
6070
6093
|
resolveFn(value) {
|
|
6071
6094
|
let map = (value instanceof Array ? value : [value]).map(v => {
|
|
6072
6095
|
let match = this.innerValue.find(iv => iv.name === v);
|
|
6073
6096
|
return match ? of(match) : this.systemService.getOrganizationObject(v);
|
|
6074
6097
|
});
|
|
6075
|
-
|
|
6076
|
-
this.innerValue =
|
|
6098
|
+
if (map.length === 0) {
|
|
6099
|
+
this.innerValue = [];
|
|
6077
6100
|
this.onValueResolved.emit(this.innerValue);
|
|
6078
|
-
}
|
|
6101
|
+
}
|
|
6102
|
+
else {
|
|
6103
|
+
return forkJoin(map).subscribe(data => {
|
|
6104
|
+
this.innerValue = data;
|
|
6105
|
+
this.onValueResolved.emit(this.innerValue);
|
|
6106
|
+
});
|
|
6107
|
+
}
|
|
6079
6108
|
}
|
|
6080
6109
|
// handle selection changes to the model
|
|
6081
6110
|
onUnselect(value) {
|
|
@@ -7878,6 +7907,7 @@ let MediaComponent = class MediaComponent {
|
|
|
7878
7907
|
this.popoutWindowConfig = undefined;
|
|
7879
7908
|
}
|
|
7880
7909
|
this._setPopoutWindowConfig(!file);
|
|
7910
|
+
this.hasContentLoaded.emit(true);
|
|
7881
7911
|
}
|
|
7882
7912
|
set dmsObject(item) {
|
|
7883
7913
|
this._dmsObject = item;
|
|
@@ -7915,6 +7945,7 @@ let MediaComponent = class MediaComponent {
|
|
|
7915
7945
|
this.attachments = [];
|
|
7916
7946
|
this.customConfig = [];
|
|
7917
7947
|
this.popoutTriggerPosition = PopoutTriggerPosition.BOTTOM_RIGHT;
|
|
7948
|
+
this.hasContentLoaded = new EventEmitter();
|
|
7918
7949
|
this.defaultViewers = [
|
|
7919
7950
|
{
|
|
7920
7951
|
"mimeType": ["application/json", "text/json", "text/plain", "text/xml", "text/java", "text/javascript", "application/javascript", "text/html", "text/markdown", "text/x-web-markdown", "text/x-markdown"],
|
|
@@ -8163,7 +8194,7 @@ let MediaComponent = class MediaComponent {
|
|
|
8163
8194
|
ngOnDestroy() {
|
|
8164
8195
|
}
|
|
8165
8196
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MediaComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i0.Renderer2 }, { token: i1.SystemService }, { token: i1.Config }, { token: PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8166
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: MediaComponent, selector: "eo-media", inputs: { undockDisabled: "undockDisabled", enableCloseBtn: "enableCloseBtn", useVersion: "useVersion", setAttachments: ["attachments", "setAttachments"], setSearchTerm: ["searchTerm", "setSearchTerm"], previewUri: "previewUri", previewFile: "previewFile", dmsObject: "dmsObject" }, host: { properties: { "class.open": "this.open" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true, static: true }], ngImport: i0, template: "<div [hidden]=\"!open\">\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\"\n [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\" (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <yvc-popout\n [popoutWindowConfig]=\"popoutWindowConfig\"\n [triggerPosition]=\"popoutTriggerPosition\" [triggerTooltip]=\"('eo.object.details.content.undock'| translate)\" [disabled]=\"undockDisabled\">\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"loader-overlay__mask\" *ngIf=\"loading\">\n <eo-loading-spinner class=\"iframe__loader\"></eo-loading-spinner>\n </div>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n </yvc-popout>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n", styles: [":host>div{height:100%}:host ::ng-deep .popoutWrapper{height:100%}:host ::ng-deep .popoutWrapper button.trigger{z-index:100}:host ::ng-deep .popoutWrapper button.trigger .yvc-icon{width:100%;height:100%}:host .empty-container{display:flex;justify-content:center;align-items:center;height:100%}:host .empty-container .nofile{width:128px;height:128px;opacity:.09}:host .preview-container{position:absolute;inset:0;overflow:hidden}:host .preview-container .slide{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;align-items:center;justify-content:center}:host .preview-container .slide .large-content{position:absolute;top:0;cursor:pointer;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;justify-content:center;width:100%;padding:var(--app-pane-padding);color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.5)}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{width:128px;height:128px;opacity:.2}:host .attachments{position:absolute;z-index:5;color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.6);right:calc(var(--app-pane-padding) / 2);bottom:calc(var(--app-pane-padding) * 3.2);display:flex;flex-flow:row;align-items:flex-end;border-radius:2px;max-width:calc(100% - 16px)}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding) / 2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;max-height:150px;padding:calc(var(--app-pane-padding) / 2);flex-flow:wrap}:host .attachments .attachments-list .attachment{border-radius:4px;background-color:rgba(var(--color-white-rgb),.1);padding:calc(var(--app-pane-padding) / 4);margin:calc(var(--app-pane-padding) / 8);cursor:pointer;border:1px solid rgba(var(--color-white-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);order:100;flex:1 1 100%}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{background-color:rgba(var(--color-primary-rgb),.9);align-items:center;bottom:calc(var(--app-pane-padding) / .3)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .iframe__loader{margin:auto}::ng-deep button.trigger{bottom:4%!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7$1.PopoutComponent, selector: "yvc-popout", inputs: ["triggerPosition", "triggerIconSVG", "triggerTooltip", "popoutWindowConfig", "disabled"], outputs: ["popOut", "popIn"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
8197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: MediaComponent, selector: "eo-media", inputs: { undockDisabled: "undockDisabled", enableCloseBtn: "enableCloseBtn", useVersion: "useVersion", setAttachments: ["attachments", "setAttachments"], setSearchTerm: ["searchTerm", "setSearchTerm"], previewUri: "previewUri", previewFile: "previewFile", dmsObject: "dmsObject" }, outputs: { hasContentLoaded: "hasContentLoaded" }, host: { properties: { "class.open": "this.open" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true, static: true }], ngImport: i0, template: "<div [hidden]=\"!open\">\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\"\n [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\" (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <yvc-popout\n [popoutWindowConfig]=\"popoutWindowConfig\"\n [triggerPosition]=\"popoutTriggerPosition\" [triggerTooltip]=\"('eo.object.details.content.undock'| translate)\" [disabled]=\"undockDisabled\">\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"loader-overlay__mask\" *ngIf=\"loading\">\n <eo-loading-spinner class=\"iframe__loader\"></eo-loading-spinner>\n </div>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n </yvc-popout>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n", styles: [":host>div{height:100%}:host ::ng-deep .popoutWrapper{height:100%}:host ::ng-deep .popoutWrapper button.trigger{z-index:100}:host ::ng-deep .popoutWrapper button.trigger .yvc-icon{width:100%;height:100%}:host .empty-container{display:flex;justify-content:center;align-items:center;height:100%}:host .empty-container .nofile{width:128px;height:128px;opacity:.09}:host .preview-container{position:absolute;inset:0;overflow:hidden}:host .preview-container .slide{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;align-items:center;justify-content:center}:host .preview-container .slide .large-content{position:absolute;top:0;cursor:pointer;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;justify-content:center;width:100%;padding:var(--app-pane-padding);color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.5)}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{width:128px;height:128px;opacity:.2}:host .attachments{position:absolute;z-index:5;color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.6);right:calc(var(--app-pane-padding) / 2);bottom:calc(var(--app-pane-padding) * 3.2);display:flex;flex-flow:row;align-items:flex-end;border-radius:2px;max-width:calc(100% - 16px)}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding) / 2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;max-height:150px;padding:calc(var(--app-pane-padding) / 2);flex-flow:wrap}:host .attachments .attachments-list .attachment{border-radius:4px;background-color:rgba(var(--color-white-rgb),.1);padding:calc(var(--app-pane-padding) / 4);margin:calc(var(--app-pane-padding) / 8);cursor:pointer;border:1px solid rgba(var(--color-white-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);order:100;flex:1 1 100%}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{background-color:rgba(var(--color-primary-rgb),.9);align-items:center;bottom:calc(var(--app-pane-padding) / .3)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .iframe__loader{margin:auto}::ng-deep button.trigger{bottom:4%!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7$1.PopoutComponent, selector: "yvc-popout", inputs: ["triggerPosition", "triggerIconSVG", "triggerTooltip", "popoutWindowConfig", "disabled"], outputs: ["popOut", "popIn"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
8167
8198
|
};
|
|
8168
8199
|
MediaComponent = MediaComponent_1 = __decorate([
|
|
8169
8200
|
UntilDestroy()
|
|
@@ -8171,7 +8202,9 @@ MediaComponent = MediaComponent_1 = __decorate([
|
|
|
8171
8202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MediaComponent, decorators: [{
|
|
8172
8203
|
type: Component,
|
|
8173
8204
|
args: [{ selector: 'eo-media', providers: [ContentPreviewService], template: "<div [hidden]=\"!open\">\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\"\n [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\" (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <yvc-popout\n [popoutWindowConfig]=\"popoutWindowConfig\"\n [triggerPosition]=\"popoutTriggerPosition\" [triggerTooltip]=\"('eo.object.details.content.undock'| translate)\" [disabled]=\"undockDisabled\">\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"loader-overlay__mask\" *ngIf=\"loading\">\n <eo-loading-spinner class=\"iframe__loader\"></eo-loading-spinner>\n </div>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n </yvc-popout>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n", styles: [":host>div{height:100%}:host ::ng-deep .popoutWrapper{height:100%}:host ::ng-deep .popoutWrapper button.trigger{z-index:100}:host ::ng-deep .popoutWrapper button.trigger .yvc-icon{width:100%;height:100%}:host .empty-container{display:flex;justify-content:center;align-items:center;height:100%}:host .empty-container .nofile{width:128px;height:128px;opacity:.09}:host .preview-container{position:absolute;inset:0;overflow:hidden}:host .preview-container .slide{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;align-items:center;justify-content:center}:host .preview-container .slide .large-content{position:absolute;top:0;cursor:pointer;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;justify-content:center;width:100%;padding:var(--app-pane-padding);color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.5)}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{width:128px;height:128px;opacity:.2}:host .attachments{position:absolute;z-index:5;color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.6);right:calc(var(--app-pane-padding) / 2);bottom:calc(var(--app-pane-padding) * 3.2);display:flex;flex-flow:row;align-items:flex-end;border-radius:2px;max-width:calc(100% - 16px)}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding) / 2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;max-height:150px;padding:calc(var(--app-pane-padding) / 2);flex-flow:wrap}:host .attachments .attachments-list .attachment{border-radius:4px;background-color:rgba(var(--color-white-rgb),.1);padding:calc(var(--app-pane-padding) / 4);margin:calc(var(--app-pane-padding) / 8);cursor:pointer;border:1px solid rgba(var(--color-white-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);order:100;flex:1 1 100%}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{background-color:rgba(var(--color-primary-rgb),.9);align-items:center;bottom:calc(var(--app-pane-padding) / .3)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .iframe__loader{margin:auto}::ng-deep button.trigger{bottom:4%!important}\n"] }]
|
|
8174
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i0.Renderer2 }, { type: i1.SystemService }, { type: i1.Config }, { type: PluginsService }], propDecorators: {
|
|
8205
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i0.Renderer2 }, { type: i1.SystemService }, { type: i1.Config }, { type: PluginsService }], propDecorators: { hasContentLoaded: [{
|
|
8206
|
+
type: Output
|
|
8207
|
+
}], undockDisabled: [{
|
|
8175
8208
|
type: Input
|
|
8176
8209
|
}], enableCloseBtn: [{
|
|
8177
8210
|
type: Input
|
|
@@ -8564,7 +8597,7 @@ let FormElementTableComponent = class FormElementTableComponent {
|
|
|
8564
8597
|
let col = this.gridApi.getColumnDefinition(el);
|
|
8565
8598
|
Object.assign(col, {
|
|
8566
8599
|
headerName: el.label,
|
|
8567
|
-
|
|
8600
|
+
suppressHeaderMenuButton: true,
|
|
8568
8601
|
filter: false,
|
|
8569
8602
|
sortable: true,
|
|
8570
8603
|
resizable: true,
|
|
@@ -8972,7 +9005,7 @@ let FormElementTableComponent = class FormElementTableComponent {
|
|
|
8972
9005
|
useExisting: forwardRef(() => FormElementTableComponent),
|
|
8973
9006
|
multi: true,
|
|
8974
9007
|
}
|
|
8975
|
-
], viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }, { propertyName: "overlayGrid", first: true, predicate: ["overlayGrid"], descendants: true }, { propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"object-form-table-header\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_export.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon *ngIf=\"!_params.element.readonly\" class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_import.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.upload'| translate)\" (click)=\"file.click()\"></eo-icon>\n <input type=\"file\" accept=\".csv\" style=\"display:none;\" #file (change)=\"importCSV($event.target)\"\n (click)=\"$event.target.value = null\">\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" [width]=\"_params.situation !== 'SEARCH' ? '95vw' : 500\"\n [height]=\"height\" [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\"\n [hasPreviewFile]=\"hasPreviewFile\" [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n <yvc-split-view (layoutSettingsChange)=\"onLayoutSettingsChange($event)\">\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[0].size\" [visible]=\"_params.situation !== 'SEARCH'\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"object-form-table-header\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #overlayGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\" (cellClicked)=\"onCellClickedRowEdit($event)\"\n (mousedown)=\"onMouseDown($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[1].size\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions?.rowData?.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[2].size\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\" [dmsObject]=\"params.object\"></eo-media>\n </ng-template>\n </yvc-split-view>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"('eo.form.table.csv.import.report.title' | translate)\" [visible]=\"showImportReportDialog\"\n (hide)=\"cancelImportReport()\" [styleClass]=\"'import-report__dialog'\">\n <div class=\"body\">\n <h4 translate [translateParams]=\"{readRows: mappedRows.length}\">eo.form.table.csv.import.report.readRows</h4>\n <div *ngIf=\"mappingErrorFields.length !== 0\" class=\"flex-col\">\n <h4 translate>eo.form.table.csv.import.report.errors</h4>\n <table>\n <thead>\n <tr>\n <th translate>eo.form.table.csv.import.report.errors.row</th>\n <th translate>eo.form.table.csv.import.report.errors.csvColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.tableColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.value</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let error of mappingErrorFields; let i = index\">\n <tr>\n <td>{{error.row + 1}}</td>\n <td>{{error.uploadedName}}</td>\n <td>{{error.technicalName}}</td>\n <td>{{error.value}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"actions\">\n <button (click)=\"cancelImportReport()\" class=\"button-cancel\" translate>eo.cta.button.cancel</button>\n <button (click)=\"addImportValuesToTable()\" class=\"primary\" translate>eo.form.table.csv.import.report.import</button>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .object-form-table-header span{display:block;flex:1 1 auto}:host .object-form-table-header eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}::ng-deep .import-report__dialog{padding:8px;min-height:unset!important;overflow:hidden}::ng-deep .import-report__dialog .body{overflow:auto}::ng-deep .import-report__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .import-report__dialog td,::ng-deep .import-report__dialog th{border:1px solid #dddddd;text-align:left;padding:8px}::ng-deep .import-report__dialog .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .import-report__dialog .actions button{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
9008
|
+
], viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }, { propertyName: "overlayGrid", first: true, predicate: ["overlayGrid"], descendants: true }, { propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"object-form-table-header\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_export.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon *ngIf=\"!_params.element.readonly\" class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_import.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.upload'| translate)\" (click)=\"file.click()\"></eo-icon>\n <input type=\"file\" accept=\".csv\" style=\"display:none;\" #file (change)=\"importCSV($event.target)\"\n (click)=\"$event.target.value = null\">\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" [width]=\"_params.situation !== 'SEARCH' ? '95vw' : 500\"\n [height]=\"height\" [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\"\n [hasPreviewFile]=\"hasPreviewFile\" [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n <yvc-split-view (layoutSettingsChange)=\"onLayoutSettingsChange($event)\">\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[0].size\" [visible]=\"_params.situation !== 'SEARCH'\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"object-form-table-header\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #overlayGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\" (cellClicked)=\"onCellClickedRowEdit($event)\"\n (mousedown)=\"onMouseDown($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[1].size\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions?.rowData?.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"layoutSettings.areas[2].size\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\" [dmsObject]=\"params.object\"></eo-media>\n </ng-template>\n </yvc-split-view>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"('eo.form.table.csv.import.report.title' | translate)\" [visible]=\"showImportReportDialog\"\n (hide)=\"cancelImportReport()\" [styleClass]=\"'import-report__dialog'\">\n <div class=\"body\">\n <h4 translate [translateParams]=\"{readRows: mappedRows.length}\">eo.form.table.csv.import.report.readRows</h4>\n <div *ngIf=\"mappingErrorFields.length !== 0\" class=\"flex-col\">\n <h4 translate>eo.form.table.csv.import.report.errors</h4>\n <table>\n <thead>\n <tr>\n <th translate>eo.form.table.csv.import.report.errors.row</th>\n <th translate>eo.form.table.csv.import.report.errors.csvColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.tableColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.value</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let error of mappingErrorFields; let i = index\">\n <tr>\n <td>{{error.row + 1}}</td>\n <td>{{error.uploadedName}}</td>\n <td>{{error.technicalName}}</td>\n <td>{{error.value}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"actions\">\n <button (click)=\"cancelImportReport()\" class=\"button-cancel\" translate>eo.cta.button.cancel</button>\n <button (click)=\"addImportValuesToTable()\" class=\"primary\" translate>eo.form.table.csv.import.report.import</button>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .object-form-table-header span{display:block;flex:1 1 auto}:host .object-form-table-header eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}::ng-deep .import-report__dialog{padding:8px;min-height:unset!important;overflow:hidden}::ng-deep .import-report__dialog .body{overflow:auto}::ng-deep .import-report__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .import-report__dialog td,::ng-deep .import-report__dialog th{border:1px solid #dddddd;text-align:left;padding:8px}::ng-deep .import-report__dialog .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .import-report__dialog .actions button{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"], outputs: ["hasContentLoaded"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
8976
9009
|
};
|
|
8977
9010
|
FormElementTableComponent = __decorate([
|
|
8978
9011
|
UntilDestroy()
|
|
@@ -9438,6 +9471,7 @@ class CustomActionsComponent extends DmsObjectTarget {
|
|
|
9438
9471
|
const executableFkt = new Function('scope, callback', this._action.isexecutable + '\n;//# sourceURL=' + this._action.id + '.isexecutable.js');
|
|
9439
9472
|
try {
|
|
9440
9473
|
executableFkt(scope, (isExecutable) => resolve(isExecutable));
|
|
9474
|
+
return resolve(true);
|
|
9441
9475
|
}
|
|
9442
9476
|
catch (error) {
|
|
9443
9477
|
this.toast.error(`${this.translate.instant('eo.action.menu.custom.error.message')}: ${error}`);
|
|
@@ -9502,7 +9536,7 @@ class SimpleWorkflowActionComponent extends DmsObjectTarget {
|
|
|
9502
9536
|
this.translate = translate;
|
|
9503
9537
|
this.bpmService = bpmService;
|
|
9504
9538
|
this.priority = 0;
|
|
9505
|
-
this.iconSrc = 'assets/_default/svg/
|
|
9539
|
+
this.iconSrc = 'assets/_default/svg/ic_bpm.svg';
|
|
9506
9540
|
this.group = 'further';
|
|
9507
9541
|
this.range = SelectionRange.SINGLE_SELECT;
|
|
9508
9542
|
}
|
|
@@ -10097,11 +10131,11 @@ class IndexdataSummaryEntryComponent {
|
|
|
10097
10131
|
this.value2 = this.showDiff && v?.val2;
|
|
10098
10132
|
}
|
|
10099
10133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: IndexdataSummaryEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: IndexdataSummaryEntryComponent, selector: "eo-indexdata-summary-entry", inputs: { label: "label", item: "item", value: "value", className: "className" }, outputs: { onValueClicked: "onValueClicked" }, ngImport: i0, template: "<div [class]=\"className || ''\" [ngClass]=\"classes(value1, value2)\" *ngIf=\"showDiff || !isEmpty(value1)\">\n <span class=\"label\">{{label}}</span>\n <span class=\"value inner first\" [innerHTML]=\"value1 | safeHtml\" (click)=\"onValueClicked.emit($event)\"></span>\n <span class=\"value inner second\" [innerHTML]=\"value2 | safeHtml\" (click)=\"onValueClicked.emit($event)\" *ngIf=\"showDiff\"></span>\n</div>", styles: [":host{display:block}:host .entry{margin:0 calc(var(--app-pane-padding) / -4) 2px;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .entry.diffActive{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .entry.diffActive .label{margin-right:var(--app-pane-padding)}[dir=rtl] :host .entry.diffActive .label{margin-left:var(--app-pane-padding);margin-right:var(--app-pane-padding)}:host .entry.diffActive .value{margin:0;padding:calc(var(--app-pane-padding) / 2);align-items:center;border:1px solid rgba(0,0,0,.1);background-color:#fff}:host .entry.diffActive .value.first{border-radius:2px 0 0 2px;padding-right:var(--app-pane-padding)}:host .entry.diffActive .value.second{border-radius:0 2px 2px 0;padding-left:var(--app-pane-padding)}:host .entry.diffActive .value:before{display:block;position:absolute;left:calc(var(--app-pane-padding) / 2 * -1);top:calc(50% - var(--app-pane-padding) / 2);width:var(--app-pane-padding);height:var(--app-pane-padding);background-color:var(--color-primary-3);background-position:center center;background-repeat:no-repeat;border-radius:2px}:host .entry.diffActive.new .value.first{display:none}:host .entry.diffActive.new .value.second{border-color:#9abd1e}:host .entry.diffActive.new .value.second:before{content:\"\";background-color:#9abd1e;background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjAyRTUzMTJFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjAyRTUzMTNFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDJFNTMxMEVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDJFNTMxMUVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIQjANwi8qWWJoT0rria5ufAgA7)}:host .entry.diffActive.modified .value.second{border-left:0}:host .entry.diffActive.modified .value.second:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBCNzE3QTRFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBCNzE3QTVFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEI3MTdBMkVGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEI3MTdBM0VGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIRDIKWwMjnmpETvmjbrbyrlRQAOw==)}:host .entry.diffActive.removed .value.first{border-color:#ed5564;padding-left:var(--app-pane-padding)}:host .entry.diffActive.removed .value.first:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFDMTY4MUZFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFDMTY4MjBFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQUMxNjgxREVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQUMxNjgxRUVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIMjI+pe+DvDISsWlQAADs=);background-color:#ed5564}:host .entry.diffActive.removed .value.second{display:none}:host .entry .label{flex-basis:30%;flex-shrink:0;background-color:var(--color-primary-3);color:var(--color-white);padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4);border-radius:2px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:normal}:host .baseparams-section .label,:host .storageinfo-subentry .label{background-color:var(--color-white);color:var(--text-color-caption)}:host .value{flex-basis:70%;position:relative;flex-grow:1;flex-shrink:1;border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4)}:host .value:not(.inner){white-space:pre-wrap}:host .value.version{cursor:pointer;color:inherit;text-decoration:none;margin:0 5px}:host .value.version:hover{color:var(--color-white)}:host .storageinfo-subentry{display:flex;margin-bottom:2px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
|
|
10134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: IndexdataSummaryEntryComponent, selector: "eo-indexdata-summary-entry", inputs: { label: "label", item: "item", value: "value", className: "className" }, outputs: { onValueClicked: "onValueClicked" }, ngImport: i0, template: "<div [class]=\"className || ''\" [ngClass]=\"classes(value1, value2)\" *ngIf=\"showDiff || !isEmpty(value1)\">\n <span class=\"label\">{{label}}</span>\n <span class=\"value inner first\" [innerHTML]=\"value1 | safeHtml\" (click)=\"onValueClicked.emit($event)\"></span>\n <span class=\"value inner second\" [innerHTML]=\"value2 | safeHtml\" (click)=\"onValueClicked.emit($event)\" *ngIf=\"showDiff\"></span>\n</div>", styles: [":host{display:block}:host .entry{margin:0 calc(var(--app-pane-padding) / -4) 2px;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .entry.diffActive{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .entry.diffActive .label{margin-right:var(--app-pane-padding);align-content:center}[dir=rtl] :host .entry.diffActive .label{margin-left:var(--app-pane-padding);margin-right:var(--app-pane-padding)}:host .entry.diffActive .value{margin:0;padding:calc(var(--app-pane-padding) / 2);align-items:center;border:1px solid rgba(0,0,0,.1);background-color:#fff}:host .entry.diffActive .value.first{border-radius:2px 0 0 2px;padding-right:var(--app-pane-padding)}:host .entry.diffActive .value.second{border-radius:0 2px 2px 0;padding-left:var(--app-pane-padding)}:host .entry.diffActive .value:before{display:block;position:absolute;left:calc(var(--app-pane-padding) / 2 * -1);top:calc(50% - var(--app-pane-padding) / 2);width:var(--app-pane-padding);height:var(--app-pane-padding);background-color:var(--color-primary-3);background-position:center center;background-repeat:no-repeat;border-radius:2px}:host .entry.diffActive.new .value.first{display:none}:host .entry.diffActive.new .value.second{border-color:#9abd1e}:host .entry.diffActive.new .value.second:before{content:\"\";background-color:#9abd1e;background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjAyRTUzMTJFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjAyRTUzMTNFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDJFNTMxMEVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDJFNTMxMUVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIQjANwi8qWWJoT0rria5ufAgA7)}:host .entry.diffActive.modified .value.second{border-left:0}:host .entry.diffActive.modified .value.second:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBCNzE3QTRFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBCNzE3QTVFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEI3MTdBMkVGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEI3MTdBM0VGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIRDIKWwMjnmpETvmjbrbyrlRQAOw==)}:host .entry.diffActive.removed .value.first{border-color:#ed5564;padding-left:var(--app-pane-padding)}:host .entry.diffActive.removed .value.first:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFDMTY4MUZFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFDMTY4MjBFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQUMxNjgxREVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQUMxNjgxRUVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIMjI+pe+DvDISsWlQAADs=);background-color:#ed5564}:host .entry.diffActive.removed .value.second{display:none}:host .entry .label{flex-basis:30%;flex-shrink:0;background-color:var(--color-primary-3);color:var(--color-white);padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4);border-radius:2px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:normal}:host .baseparams-section .label,:host .storageinfo-subentry .label{background-color:var(--color-white);color:var(--text-color-caption)}:host .value{flex-basis:70%;position:relative;flex-grow:1;flex-shrink:1;border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4)}:host .value:not(.inner){white-space:pre-wrap}:host .value.version{cursor:pointer;color:inherit;text-decoration:none;margin:0 5px}:host .value.version:hover{color:var(--color-white)}:host .storageinfo-subentry{display:flex;margin-bottom:2px}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
|
|
10101
10135
|
}
|
|
10102
10136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: IndexdataSummaryEntryComponent, decorators: [{
|
|
10103
10137
|
type: Component,
|
|
10104
|
-
args: [{ selector: 'eo-indexdata-summary-entry', template: "<div [class]=\"className || ''\" [ngClass]=\"classes(value1, value2)\" *ngIf=\"showDiff || !isEmpty(value1)\">\n <span class=\"label\">{{label}}</span>\n <span class=\"value inner first\" [innerHTML]=\"value1 | safeHtml\" (click)=\"onValueClicked.emit($event)\"></span>\n <span class=\"value inner second\" [innerHTML]=\"value2 | safeHtml\" (click)=\"onValueClicked.emit($event)\" *ngIf=\"showDiff\"></span>\n</div>", styles: [":host{display:block}:host .entry{margin:0 calc(var(--app-pane-padding) / -4) 2px;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .entry.diffActive{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .entry.diffActive .label{margin-right:var(--app-pane-padding)}[dir=rtl] :host .entry.diffActive .label{margin-left:var(--app-pane-padding);margin-right:var(--app-pane-padding)}:host .entry.diffActive .value{margin:0;padding:calc(var(--app-pane-padding) / 2);align-items:center;border:1px solid rgba(0,0,0,.1);background-color:#fff}:host .entry.diffActive .value.first{border-radius:2px 0 0 2px;padding-right:var(--app-pane-padding)}:host .entry.diffActive .value.second{border-radius:0 2px 2px 0;padding-left:var(--app-pane-padding)}:host .entry.diffActive .value:before{display:block;position:absolute;left:calc(var(--app-pane-padding) / 2 * -1);top:calc(50% - var(--app-pane-padding) / 2);width:var(--app-pane-padding);height:var(--app-pane-padding);background-color:var(--color-primary-3);background-position:center center;background-repeat:no-repeat;border-radius:2px}:host .entry.diffActive.new .value.first{display:none}:host .entry.diffActive.new .value.second{border-color:#9abd1e}:host .entry.diffActive.new .value.second:before{content:\"\";background-color:#9abd1e;background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjAyRTUzMTJFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjAyRTUzMTNFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDJFNTMxMEVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDJFNTMxMUVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIQjANwi8qWWJoT0rria5ufAgA7)}:host .entry.diffActive.modified .value.second{border-left:0}:host .entry.diffActive.modified .value.second:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBCNzE3QTRFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBCNzE3QTVFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEI3MTdBMkVGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEI3MTdBM0VGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIRDIKWwMjnmpETvmjbrbyrlRQAOw==)}:host .entry.diffActive.removed .value.first{border-color:#ed5564;padding-left:var(--app-pane-padding)}:host .entry.diffActive.removed .value.first:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFDMTY4MUZFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFDMTY4MjBFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQUMxNjgxREVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQUMxNjgxRUVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIMjI+pe+DvDISsWlQAADs=);background-color:#ed5564}:host .entry.diffActive.removed .value.second{display:none}:host .entry .label{flex-basis:30%;flex-shrink:0;background-color:var(--color-primary-3);color:var(--color-white);padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4);border-radius:2px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:normal}:host .baseparams-section .label,:host .storageinfo-subentry .label{background-color:var(--color-white);color:var(--text-color-caption)}:host .value{flex-basis:70%;position:relative;flex-grow:1;flex-shrink:1;border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4)}:host .value:not(.inner){white-space:pre-wrap}:host .value.version{cursor:pointer;color:inherit;text-decoration:none;margin:0 5px}:host .value.version:hover{color:var(--color-white)}:host .storageinfo-subentry{display:flex;margin-bottom:2px}\n"] }]
|
|
10138
|
+
args: [{ selector: 'eo-indexdata-summary-entry', template: "<div [class]=\"className || ''\" [ngClass]=\"classes(value1, value2)\" *ngIf=\"showDiff || !isEmpty(value1)\">\n <span class=\"label\">{{label}}</span>\n <span class=\"value inner first\" [innerHTML]=\"value1 | safeHtml\" (click)=\"onValueClicked.emit($event)\"></span>\n <span class=\"value inner second\" [innerHTML]=\"value2 | safeHtml\" (click)=\"onValueClicked.emit($event)\" *ngIf=\"showDiff\"></span>\n</div>", styles: [":host{display:block}:host .entry{margin:0 calc(var(--app-pane-padding) / -4) 2px;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}:host .entry.diffActive{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .entry.diffActive .label{margin-right:var(--app-pane-padding);align-content:center}[dir=rtl] :host .entry.diffActive .label{margin-left:var(--app-pane-padding);margin-right:var(--app-pane-padding)}:host .entry.diffActive .value{margin:0;padding:calc(var(--app-pane-padding) / 2);align-items:center;border:1px solid rgba(0,0,0,.1);background-color:#fff}:host .entry.diffActive .value.first{border-radius:2px 0 0 2px;padding-right:var(--app-pane-padding)}:host .entry.diffActive .value.second{border-radius:0 2px 2px 0;padding-left:var(--app-pane-padding)}:host .entry.diffActive .value:before{display:block;position:absolute;left:calc(var(--app-pane-padding) / 2 * -1);top:calc(50% - var(--app-pane-padding) / 2);width:var(--app-pane-padding);height:var(--app-pane-padding);background-color:var(--color-primary-3);background-position:center center;background-repeat:no-repeat;border-radius:2px}:host .entry.diffActive.new .value.first{display:none}:host .entry.diffActive.new .value.second{border-color:#9abd1e}:host .entry.diffActive.new .value.second:before{content:\"\";background-color:#9abd1e;background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjAyRTUzMTJFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjAyRTUzMTNFRkRGMTFFOUE5MDQ5N0UwQzE3RDA5MTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDJFNTMxMEVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDJFNTMxMUVGREYxMUU5QTkwNDk3RTBDMTdEMDkxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIQjANwi8qWWJoT0rria5ufAgA7)}:host .entry.diffActive.modified .value.second{border-left:0}:host .entry.diffActive.modified .value.second:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTBCNzE3QTRFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTBCNzE3QTVFRkRGMTFFOUI5MzdDMzM0OTM1MDRBRDAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMEI3MTdBMkVGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMEI3MTdBM0VGREYxMUU5QjkzN0MzMzQ5MzUwNEFEMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIRDIKWwMjnmpETvmjbrbyrlRQAOw==)}:host .entry.diffActive.removed .value.first{border-color:#ed5564;padding-left:var(--app-pane-padding)}:host .entry.diffActive.removed .value.first:before{content:\"\";background-image:url(data:image/gif;base64,R0lGODlhCgAIAIABAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFDMTY4MUZFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFDMTY4MjBFRkRGMTFFOUEwM0M4Qjc0NDlFMjhDMDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQUMxNjgxREVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQUMxNjgxRUVGREYxMUU5QTAzQzhCNzQ0OUUyOEMwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAAKAAgAAAIMjI+pe+DvDISsWlQAADs=);background-color:#ed5564}:host .entry.diffActive.removed .value.second{display:none}:host .entry .label{flex-basis:30%;flex-shrink:0;background-color:var(--color-primary-3);color:var(--color-white);padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4);border-radius:2px;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;white-space:normal}:host .baseparams-section .label,:host .storageinfo-subentry .label{background-color:var(--color-white);color:var(--text-color-caption)}:host .value{flex-basis:70%;position:relative;flex-grow:1;flex-shrink:1;border-radius:2px;padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 4)}:host .value:not(.inner){white-space:pre-wrap}:host .value.version{cursor:pointer;color:inherit;text-decoration:none;margin:0 5px}:host .value.version:hover{color:var(--color-white)}:host .storageinfo-subentry{display:flex;margin-bottom:2px}\n"] }]
|
|
10105
10139
|
}], propDecorators: { label: [{
|
|
10106
10140
|
type: Input
|
|
10107
10141
|
}], item: [{
|
|
@@ -10144,10 +10178,9 @@ let IndexdataSummaryComponent = class IndexdataSummaryComponent {
|
|
|
10144
10178
|
const coreValues = this.processIndexData(indexdata, 0, true)
|
|
10145
10179
|
.map(({ label, _value, qname, reference }) => ({ label, reference, _value: diffValue(_value, coreValues2[qname]._value) }))
|
|
10146
10180
|
.filter(v => v._value);
|
|
10147
|
-
const
|
|
10148
|
-
const
|
|
10149
|
-
|
|
10150
|
-
.filter(v => v._value);
|
|
10181
|
+
const indexDataArrayDetails = this.getIndexDataArrayDetails(indexdata);
|
|
10182
|
+
const indexData2ArrayDetails = this.getIndexDataArrayDetails(indexdata2);
|
|
10183
|
+
const dataValues = this.extractDataValuesWithDifferences(indexDataArrayDetails, indexData2ArrayDetails);
|
|
10151
10184
|
this.coreValues = coreValues;
|
|
10152
10185
|
this.dataValues = dataValues;
|
|
10153
10186
|
this.moreInfoAcc = !!dataValues.length;
|
|
@@ -10189,6 +10222,140 @@ let IndexdataSummaryComponent = class IndexdataSummaryComponent {
|
|
|
10189
10222
|
this.emptyState = false;
|
|
10190
10223
|
this.enableVersions = true;
|
|
10191
10224
|
this.isChangesTab = false;
|
|
10225
|
+
/**
|
|
10226
|
+
* Compares two values deeply to determine if they are equivalent.
|
|
10227
|
+
*
|
|
10228
|
+
* This function performs a deep comparison between two values to determine if they are equivalent.
|
|
10229
|
+
* It compares objects recursively, including their enumerable properties.
|
|
10230
|
+
*
|
|
10231
|
+
* @param {any} val1 - The first value to compare.
|
|
10232
|
+
* @param {any} val2 - The second value to compare.
|
|
10233
|
+
* @returns {boolean} - Returns `true` if the values are deeply equal, otherwise `false`.
|
|
10234
|
+
*/
|
|
10235
|
+
this.compareContentValueEquality = (val1, val2) => {
|
|
10236
|
+
if (val1 === val2)
|
|
10237
|
+
return true;
|
|
10238
|
+
if (typeof val1 !== 'object' || typeof val2 !== 'object' || val1 == null || val2 == null)
|
|
10239
|
+
return false;
|
|
10240
|
+
const val1keys = Object.keys(val1);
|
|
10241
|
+
const val2keys = Object.keys(val2);
|
|
10242
|
+
if (val1keys.length !== val2keys.length)
|
|
10243
|
+
return false;
|
|
10244
|
+
for (const key of val1keys) {
|
|
10245
|
+
if (!val2keys.includes(key) || !this.compareContentValueEquality(val1[key], val2[key]))
|
|
10246
|
+
return false;
|
|
10247
|
+
}
|
|
10248
|
+
return true;
|
|
10249
|
+
};
|
|
10250
|
+
/**
|
|
10251
|
+
* Compares two values and returns a summary of their differences.
|
|
10252
|
+
* If the values are arrays, it compares their lengths and, if equal, their contents.
|
|
10253
|
+
* For non-array values, it checks for equality or if either is considered "empty" by a utility function.
|
|
10254
|
+
*
|
|
10255
|
+
* @param val1 The first value to compare.
|
|
10256
|
+
* @param val2 The second value to compare.
|
|
10257
|
+
* @returns An object with `val1` and `val2` properties representing the differences, or `null` if no differences are found.
|
|
10258
|
+
* For arrays, the differences are the count of differing items or the difference in lengths.
|
|
10259
|
+
* For other values, it returns the values themselves if they differ, or an empty string for "empty" values.
|
|
10260
|
+
* Returns `null` if the values are equal or both "empty".
|
|
10261
|
+
*/
|
|
10262
|
+
this.getDataValueDifferences = (val1, val2) => {
|
|
10263
|
+
if (Array.isArray(val1) && Array.isArray(val2)) {
|
|
10264
|
+
const length1 = val1.length;
|
|
10265
|
+
const length2 = val2.length;
|
|
10266
|
+
if (length1 !== length2) {
|
|
10267
|
+
return { val1: length1.toString(), val2: length2.toString() };
|
|
10268
|
+
}
|
|
10269
|
+
// Count content differences when lengths are the same
|
|
10270
|
+
let differences = 0;
|
|
10271
|
+
for (let i = 0; i < length1; i++) {
|
|
10272
|
+
if (!this.compareContentValueEquality(val1[i], val2[i])) {
|
|
10273
|
+
differences++;
|
|
10274
|
+
}
|
|
10275
|
+
}
|
|
10276
|
+
if (differences > 0) {
|
|
10277
|
+
return { val1: differences.toString(), val2: differences.toString() };
|
|
10278
|
+
}
|
|
10279
|
+
else {
|
|
10280
|
+
return null;
|
|
10281
|
+
}
|
|
10282
|
+
}
|
|
10283
|
+
const isEmptyVal1 = UtilitiesService.isEmpty(val1);
|
|
10284
|
+
const isEmptyVal2 = UtilitiesService.isEmpty(val2);
|
|
10285
|
+
if (isEmptyVal1 && isEmptyVal2) {
|
|
10286
|
+
return null;
|
|
10287
|
+
}
|
|
10288
|
+
if (val1 !== val2 || isEmptyVal1 || isEmptyVal2) {
|
|
10289
|
+
return { val1: isEmptyVal1 ? "" : val1, val2: isEmptyVal2 ? "" : val2 };
|
|
10290
|
+
}
|
|
10291
|
+
return null;
|
|
10292
|
+
};
|
|
10293
|
+
/**
|
|
10294
|
+
* Extracts properties from an object that are arrays and returns their details.
|
|
10295
|
+
*
|
|
10296
|
+
* @param {Object} data - The object to analyze.
|
|
10297
|
+
* @returns {Array} An array of objects, each representing a property of the input object
|
|
10298
|
+
* that is an array. Each object includes the property name (`label`), the number of elements
|
|
10299
|
+
* in the array (`length`), the array content itself (`content`), and the type of the array (`type`).
|
|
10300
|
+
*/
|
|
10301
|
+
this.getIndexDataArrayDetails = (indexData) => {
|
|
10302
|
+
const data = indexData.data;
|
|
10303
|
+
const formElements = indexData.form.elements;
|
|
10304
|
+
// Helper function to find the type of an element by its label
|
|
10305
|
+
const findTypeAndLabelByName = (elements, label) => {
|
|
10306
|
+
for (const element of elements) {
|
|
10307
|
+
if (element.name === label) {
|
|
10308
|
+
return { type: element.type, label: element.label };
|
|
10309
|
+
}
|
|
10310
|
+
if (element.elements && element.elements.length > 0) {
|
|
10311
|
+
const typeLabelInfo = findTypeAndLabelByName(element.elements, label);
|
|
10312
|
+
if (typeLabelInfo) {
|
|
10313
|
+
return typeLabelInfo;
|
|
10314
|
+
}
|
|
10315
|
+
}
|
|
10316
|
+
}
|
|
10317
|
+
return null;
|
|
10318
|
+
};
|
|
10319
|
+
return Object.keys(data)
|
|
10320
|
+
.filter((key) => Array.isArray(data[key]))
|
|
10321
|
+
.map((key) => {
|
|
10322
|
+
const { type, label } = findTypeAndLabelByName(formElements, key);
|
|
10323
|
+
return {
|
|
10324
|
+
label,
|
|
10325
|
+
length: data[key].length,
|
|
10326
|
+
content: data[key],
|
|
10327
|
+
type,
|
|
10328
|
+
};
|
|
10329
|
+
});
|
|
10330
|
+
};
|
|
10331
|
+
/**
|
|
10332
|
+
* Compares the content of two sets of index data array details and extracts the differences.
|
|
10333
|
+
*
|
|
10334
|
+
* This function maps through the first set of index data array details, finds the matching
|
|
10335
|
+
* content from the second set by label, and then calculates the differences between them.
|
|
10336
|
+
* It returns an array of objects with labels and the calculated differences, filtering out
|
|
10337
|
+
* any entries without a difference.
|
|
10338
|
+
*
|
|
10339
|
+
* @param {IndexDataArrayDetail[]} indexDataArrayDetails - The first set of index data array details.
|
|
10340
|
+
* @param {IndexDataArrayDetail[]} indexData2ArrayDetails - The second set of index data array details.
|
|
10341
|
+
* @returns {Array<{label: string, _value: any}>} An array of objects containing labels and their differences.
|
|
10342
|
+
*/
|
|
10343
|
+
this.extractDataValuesWithDifferences = (indexDataArrayDetails, indexData2ArrayDetails) => {
|
|
10344
|
+
return indexDataArrayDetails.map(({ label, type, content }) => {
|
|
10345
|
+
const matchingProp = indexData2ArrayDetails.find(prop => prop.label === label);
|
|
10346
|
+
const content2 = matchingProp ? matchingProp.content : [];
|
|
10347
|
+
const newValue = this.getDataValueDifferences(content, content2);
|
|
10348
|
+
if (type === "TABLE" && newValue && newValue.val1 && newValue.val2) {
|
|
10349
|
+
newValue.val1 = "";
|
|
10350
|
+
newValue.val2 = this.translate.instant('eo.indexdata.summary.table.change');
|
|
10351
|
+
}
|
|
10352
|
+
return {
|
|
10353
|
+
label,
|
|
10354
|
+
type,
|
|
10355
|
+
_value: newValue,
|
|
10356
|
+
};
|
|
10357
|
+
}).filter((v) => v._value);
|
|
10358
|
+
};
|
|
10192
10359
|
}
|
|
10193
10360
|
onValueClick(event, item = {}) {
|
|
10194
10361
|
if (item.reference || item.version) {
|
|
@@ -11055,681 +11222,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
11055
11222
|
}]
|
|
11056
11223
|
}] });
|
|
11057
11224
|
|
|
11058
|
-
class BatchRemover {
|
|
11059
|
-
constructor() {
|
|
11060
|
-
this.allSets = {};
|
|
11061
|
-
this.allParents = [];
|
|
11062
|
-
}
|
|
11063
|
-
removeFromChildrenAfterGroup(parent, child) {
|
|
11064
|
-
const set = this.getSet(parent);
|
|
11065
|
-
set.removeFromChildrenAfterGroup[child.id] = true;
|
|
11066
|
-
}
|
|
11067
|
-
isRemoveFromAllLeafChildren(parent, child) {
|
|
11068
|
-
const set = this.getSet(parent);
|
|
11069
|
-
return !!set.removeFromAllLeafChildren[child.id];
|
|
11070
|
-
}
|
|
11071
|
-
preventRemoveFromAllLeafChildren(parent, child) {
|
|
11072
|
-
const set = this.getSet(parent);
|
|
11073
|
-
delete set.removeFromAllLeafChildren[child.id];
|
|
11074
|
-
}
|
|
11075
|
-
removeFromAllLeafChildren(parent, child) {
|
|
11076
|
-
const set = this.getSet(parent);
|
|
11077
|
-
set.removeFromAllLeafChildren[child.id] = true;
|
|
11078
|
-
}
|
|
11079
|
-
getSet(parent) {
|
|
11080
|
-
if (!this.allSets[parent.id]) {
|
|
11081
|
-
this.allSets[parent.id] = {
|
|
11082
|
-
removeFromAllLeafChildren: {},
|
|
11083
|
-
removeFromChildrenAfterGroup: {}
|
|
11084
|
-
};
|
|
11085
|
-
this.allParents.push(parent);
|
|
11086
|
-
}
|
|
11087
|
-
return this.allSets[parent.id];
|
|
11088
|
-
}
|
|
11089
|
-
getAllParents() {
|
|
11090
|
-
return this.allParents;
|
|
11091
|
-
}
|
|
11092
|
-
flush() {
|
|
11093
|
-
this.allParents.forEach(parent => {
|
|
11094
|
-
const nodeDetails = this.allSets[parent.id];
|
|
11095
|
-
parent.childrenAfterGroup = parent.childrenAfterGroup.filter(child => !nodeDetails.removeFromChildrenAfterGroup[child.id]);
|
|
11096
|
-
parent.allLeafChildren = parent.allLeafChildren.filter(child => !nodeDetails.removeFromAllLeafChildren[child.id]);
|
|
11097
|
-
parent.updateHasChildren();
|
|
11098
|
-
if (parent.sibling) {
|
|
11099
|
-
parent.sibling.childrenAfterGroup = parent.childrenAfterGroup;
|
|
11100
|
-
parent.sibling.allLeafChildren = parent.allLeafChildren;
|
|
11101
|
-
}
|
|
11102
|
-
});
|
|
11103
|
-
this.allSets = {};
|
|
11104
|
-
this.allParents.length = 0;
|
|
11105
|
-
}
|
|
11106
|
-
}
|
|
11107
|
-
|
|
11108
|
-
let GroupStage = class GroupStage extends BeanStub {
|
|
11109
|
-
execute(params) {
|
|
11110
|
-
const details = this.createGroupingDetails(params);
|
|
11111
|
-
if (details.transactions) {
|
|
11112
|
-
this.handleTransaction(details);
|
|
11113
|
-
}
|
|
11114
|
-
else {
|
|
11115
|
-
const afterColsChanged = params.afterColumnsChanged === true;
|
|
11116
|
-
this.shotgunResetEverything(details, afterColsChanged);
|
|
11117
|
-
}
|
|
11118
|
-
if (!details.usingTreeData) {
|
|
11119
|
-
// we don't do group sorting for tree data
|
|
11120
|
-
this.positionLeafsAndGroups(params.changedPath);
|
|
11121
|
-
this.orderGroups(details);
|
|
11122
|
-
}
|
|
11123
|
-
this.selectableService.updateSelectableAfterGrouping();
|
|
11124
|
-
}
|
|
11125
|
-
positionLeafsAndGroups(changedPath) {
|
|
11126
|
-
changedPath.forEachChangedNodeDepthFirst(group => {
|
|
11127
|
-
if (group.childrenAfterGroup) {
|
|
11128
|
-
const leafNodes = [];
|
|
11129
|
-
const groupNodes = [];
|
|
11130
|
-
let unbalancedNode;
|
|
11131
|
-
group.childrenAfterGroup.forEach(row => {
|
|
11132
|
-
if (!row.childrenAfterGroup?.length) {
|
|
11133
|
-
leafNodes.push(row);
|
|
11134
|
-
}
|
|
11135
|
-
else {
|
|
11136
|
-
if (row.key === '' && !unbalancedNode) {
|
|
11137
|
-
unbalancedNode = row;
|
|
11138
|
-
}
|
|
11139
|
-
else {
|
|
11140
|
-
groupNodes.push(row);
|
|
11141
|
-
}
|
|
11142
|
-
}
|
|
11143
|
-
});
|
|
11144
|
-
if (unbalancedNode) {
|
|
11145
|
-
groupNodes.push(unbalancedNode);
|
|
11146
|
-
}
|
|
11147
|
-
group.childrenAfterGroup = [...leafNodes, ...groupNodes];
|
|
11148
|
-
}
|
|
11149
|
-
}, false);
|
|
11150
|
-
}
|
|
11151
|
-
createGroupingDetails(params) {
|
|
11152
|
-
const { rowNode, changedPath, rowNodeTransactions, rowNodeOrder } = params;
|
|
11153
|
-
const usingTreeData = this.gos.get('treeData');
|
|
11154
|
-
const groupedCols = usingTreeData ? null : this.columnModel.getRowGroupColumns();
|
|
11155
|
-
const details = {
|
|
11156
|
-
// someone complained that the parent attribute was causing some change detection
|
|
11157
|
-
// to break in an angular add-on. Taking the parent out breaks a cyclic dependency, hence this flag got introduced.
|
|
11158
|
-
includeParents: !this.gos.get('suppressParentsInRowNodes'),
|
|
11159
|
-
expandByDefault: this.gos.get('groupDefaultExpanded'),
|
|
11160
|
-
groupedCols: groupedCols,
|
|
11161
|
-
rootNode: rowNode,
|
|
11162
|
-
pivotMode: this.columnModel.isPivotMode(),
|
|
11163
|
-
groupedColCount: usingTreeData || !groupedCols ? 0 : groupedCols.length,
|
|
11164
|
-
rowNodeOrder: rowNodeOrder,
|
|
11165
|
-
transactions: rowNodeTransactions,
|
|
11166
|
-
// if no transaction, then it's shotgun, changed path would be 'not active' at this point anyway
|
|
11167
|
-
changedPath: changedPath,
|
|
11168
|
-
groupAllowUnbalanced: this.gos.get('groupAllowUnbalanced'),
|
|
11169
|
-
isGroupOpenByDefault: this.gos.getCallback('isGroupOpenByDefault'),
|
|
11170
|
-
initialGroupOrderComparator: this.gos.getCallback('initialGroupOrderComparator'),
|
|
11171
|
-
usingTreeData: usingTreeData,
|
|
11172
|
-
suppressGroupMaintainValueType: this.gos.get('suppressGroupMaintainValueType'),
|
|
11173
|
-
getDataPath: usingTreeData ? this.gos.get('getDataPath') : undefined,
|
|
11174
|
-
keyCreators: groupedCols?.map(column => column.getColDef().keyCreator) ?? []
|
|
11175
|
-
};
|
|
11176
|
-
return details;
|
|
11177
|
-
}
|
|
11178
|
-
handleTransaction(details) {
|
|
11179
|
-
details.transactions.forEach(tran => {
|
|
11180
|
-
// we don't allow batch remover for tree data as tree data uses Filler Nodes,
|
|
11181
|
-
// and creating/deleting filler nodes needs to be done alongside the node deleting
|
|
11182
|
-
// and moving. if we want to Batch Remover working with tree data then would need
|
|
11183
|
-
// to consider how Filler Nodes would be impacted (it's possible that it can be easily
|
|
11184
|
-
// modified to work, however for now I don't have the brain energy to work it all out).
|
|
11185
|
-
const batchRemover = !details.usingTreeData ? new BatchRemover() : undefined;
|
|
11186
|
-
// the order here of [add, remove, update] needs to be the same as in ClientSideNodeManager,
|
|
11187
|
-
// as the order is important when a record with the same id is added and removed in the same
|
|
11188
|
-
// transaction.
|
|
11189
|
-
if (_.existsAndNotEmpty(tran.remove)) {
|
|
11190
|
-
this.removeNodes(tran.remove, details, batchRemover);
|
|
11191
|
-
}
|
|
11192
|
-
if (_.existsAndNotEmpty(tran.update)) {
|
|
11193
|
-
this.moveNodesInWrongPath(tran.update, details, batchRemover);
|
|
11194
|
-
}
|
|
11195
|
-
if (_.existsAndNotEmpty(tran.add)) {
|
|
11196
|
-
this.insertNodes(tran.add, details, false);
|
|
11197
|
-
}
|
|
11198
|
-
// must flush here, and not allow another transaction to be applied,
|
|
11199
|
-
// as each transaction must finish leaving the data in a consistent state.
|
|
11200
|
-
if (batchRemover) {
|
|
11201
|
-
const parentsWithChildrenRemoved = batchRemover.getAllParents().slice();
|
|
11202
|
-
batchRemover.flush();
|
|
11203
|
-
this.removeEmptyGroups(parentsWithChildrenRemoved, details);
|
|
11204
|
-
}
|
|
11205
|
-
});
|
|
11206
|
-
if (details.rowNodeOrder) {
|
|
11207
|
-
this.sortChildren(details);
|
|
11208
|
-
}
|
|
11209
|
-
}
|
|
11210
|
-
// this is used when doing delta updates, eg Redux, keeps nodes in right order
|
|
11211
|
-
sortChildren(details) {
|
|
11212
|
-
details.changedPath.forEachChangedNodeDepthFirst(node => {
|
|
11213
|
-
if (!node.childrenAfterGroup) {
|
|
11214
|
-
return;
|
|
11215
|
-
}
|
|
11216
|
-
const didSort = _.sortRowNodesByOrder(node.childrenAfterGroup, details.rowNodeOrder);
|
|
11217
|
-
if (didSort) {
|
|
11218
|
-
details.changedPath.addParentNode(node);
|
|
11219
|
-
}
|
|
11220
|
-
}, false, true);
|
|
11221
|
-
}
|
|
11222
|
-
orderGroups(details) {
|
|
11223
|
-
const comparator = details.initialGroupOrderComparator;
|
|
11224
|
-
if (_.exists(comparator)) {
|
|
11225
|
-
recursiveSort(details.rootNode);
|
|
11226
|
-
}
|
|
11227
|
-
function recursiveSort(rowNode) {
|
|
11228
|
-
const doSort = _.exists(rowNode.childrenAfterGroup) &&
|
|
11229
|
-
// we only want to sort groups, so we do not sort leafs (a leaf group has leafs as children)
|
|
11230
|
-
!rowNode.leafGroup;
|
|
11231
|
-
if (doSort) {
|
|
11232
|
-
rowNode.childrenAfterGroup.sort((nodeA, nodeB) => comparator({ nodeA, nodeB }));
|
|
11233
|
-
rowNode.childrenAfterGroup.forEach((childNode) => recursiveSort(childNode));
|
|
11234
|
-
}
|
|
11235
|
-
}
|
|
11236
|
-
}
|
|
11237
|
-
getExistingPathForNode(node, details) {
|
|
11238
|
-
const res = [];
|
|
11239
|
-
// when doing tree data, the node is part of the path,
|
|
11240
|
-
// but when doing grid grouping, the node is not part of the path so we start with the parent.
|
|
11241
|
-
let pointer = details.usingTreeData ? node : node.parent;
|
|
11242
|
-
while (pointer && pointer !== details.rootNode) {
|
|
11243
|
-
res.push({
|
|
11244
|
-
key: pointer.key,
|
|
11245
|
-
rowGroupColumn: pointer.rowGroupColumn,
|
|
11246
|
-
field: pointer.field
|
|
11247
|
-
});
|
|
11248
|
-
pointer = pointer.parent;
|
|
11249
|
-
}
|
|
11250
|
-
res.reverse();
|
|
11251
|
-
return res;
|
|
11252
|
-
}
|
|
11253
|
-
moveNodesInWrongPath(childNodes, details, batchRemover) {
|
|
11254
|
-
childNodes.forEach(childNode => {
|
|
11255
|
-
// we add node, even if parent has not changed, as the data could have
|
|
11256
|
-
// changed, hence aggregations will be wrong
|
|
11257
|
-
if (details.changedPath.isActive()) {
|
|
11258
|
-
details.changedPath.addParentNode(childNode.parent);
|
|
11259
|
-
}
|
|
11260
|
-
const infoToKeyMapper = (item) => item.key;
|
|
11261
|
-
const oldPath = this.getExistingPathForNode(childNode, details).map(infoToKeyMapper);
|
|
11262
|
-
const newPath = this.getGroupInfo(childNode, details).map(infoToKeyMapper);
|
|
11263
|
-
const nodeInCorrectPath = _.areEqual(oldPath, newPath);
|
|
11264
|
-
if (!nodeInCorrectPath) {
|
|
11265
|
-
this.moveNode(childNode, details, batchRemover);
|
|
11266
|
-
}
|
|
11267
|
-
});
|
|
11268
|
-
}
|
|
11269
|
-
moveNode(childNode, details, batchRemover) {
|
|
11270
|
-
this.removeNodesInStages([childNode], details, batchRemover);
|
|
11271
|
-
this.insertOneNode(childNode, details, true, batchRemover);
|
|
11272
|
-
// hack - if we didn't do this, then renaming a tree item (ie changing rowNode.key) wouldn't get
|
|
11273
|
-
// refreshed into the gui.
|
|
11274
|
-
// this is needed to kick off the event that rowComp listens to for refresh. this in turn
|
|
11275
|
-
// then will get each cell in the row to refresh - which is what we need as we don't know which
|
|
11276
|
-
// columns will be displaying the rowNode.key info.
|
|
11277
|
-
childNode.setData(childNode.data);
|
|
11278
|
-
// we add both old and new parents to changed path, as both will need to be refreshed.
|
|
11279
|
-
// we already added the old parent (in calling method), so just add the new parent here
|
|
11280
|
-
if (details.changedPath.isActive()) {
|
|
11281
|
-
const newParent = childNode.parent;
|
|
11282
|
-
details.changedPath.addParentNode(newParent);
|
|
11283
|
-
}
|
|
11284
|
-
}
|
|
11285
|
-
removeNodes(leafRowNodes, details, batchRemover) {
|
|
11286
|
-
this.removeNodesInStages(leafRowNodes, details, batchRemover);
|
|
11287
|
-
if (details.changedPath.isActive()) {
|
|
11288
|
-
leafRowNodes.forEach(rowNode => details.changedPath.addParentNode(rowNode.parent));
|
|
11289
|
-
}
|
|
11290
|
-
}
|
|
11291
|
-
removeNodesInStages(leafRowNodes, details, batchRemover) {
|
|
11292
|
-
this.removeNodesFromParents(leafRowNodes, details, batchRemover);
|
|
11293
|
-
if (details.usingTreeData) {
|
|
11294
|
-
this.postRemoveCreateFillerNodes(leafRowNodes, details);
|
|
11295
|
-
// When not TreeData, then removeEmptyGroups is called just before the BatchRemover is flushed.
|
|
11296
|
-
// However for TreeData, there is no BatchRemover, so we have to call removeEmptyGroups here.
|
|
11297
|
-
const nodeParents = leafRowNodes.map(n => n.parent);
|
|
11298
|
-
this.removeEmptyGroups(nodeParents, details);
|
|
11299
|
-
}
|
|
11300
|
-
}
|
|
11301
|
-
forEachParentGroup(details, group, callback) {
|
|
11302
|
-
let pointer = group;
|
|
11303
|
-
while (pointer && pointer !== details.rootNode) {
|
|
11304
|
-
callback(pointer);
|
|
11305
|
-
pointer = pointer.parent;
|
|
11306
|
-
}
|
|
11307
|
-
}
|
|
11308
|
-
removeNodesFromParents(nodesToRemove, details, provided) {
|
|
11309
|
-
// this method can be called with BatchRemover as optional. if it is missed, we created a local version
|
|
11310
|
-
// and flush it at the end. if one is provided, we add to the provided one and it gets flushed elsewhere.
|
|
11311
|
-
const batchRemoverIsLocal = provided == null;
|
|
11312
|
-
const batchRemoverToUse = provided ? provided : new BatchRemover();
|
|
11313
|
-
nodesToRemove.forEach(nodeToRemove => {
|
|
11314
|
-
this.removeFromParent(nodeToRemove, batchRemoverToUse);
|
|
11315
|
-
// remove from allLeafChildren. we clear down all parents EXCEPT the Root Node, as
|
|
11316
|
-
// the ClientSideNodeManager is responsible for the Root Node.
|
|
11317
|
-
this.forEachParentGroup(details, nodeToRemove.parent, parentNode => {
|
|
11318
|
-
batchRemoverToUse.removeFromAllLeafChildren(parentNode, nodeToRemove);
|
|
11319
|
-
});
|
|
11320
|
-
});
|
|
11321
|
-
if (batchRemoverIsLocal) {
|
|
11322
|
-
batchRemoverToUse.flush();
|
|
11323
|
-
}
|
|
11324
|
-
}
|
|
11325
|
-
postRemoveCreateFillerNodes(nodesToRemove, details) {
|
|
11326
|
-
nodesToRemove.forEach(nodeToRemove => {
|
|
11327
|
-
// if not group, and children are present, need to move children to a group.
|
|
11328
|
-
// otherwise if no children, we can just remove without replacing.
|
|
11329
|
-
const replaceWithGroup = nodeToRemove.hasChildren();
|
|
11330
|
-
if (replaceWithGroup) {
|
|
11331
|
-
const oldPath = this.getExistingPathForNode(nodeToRemove, details);
|
|
11332
|
-
// because we just removed the userGroup, this will always return new support group
|
|
11333
|
-
const newGroupNode = this.findParentForNode(nodeToRemove, oldPath, details);
|
|
11334
|
-
// these properties are the ones that will be incorrect in the newly created group,
|
|
11335
|
-
// so copy them from the old childNode
|
|
11336
|
-
newGroupNode.expanded = nodeToRemove.expanded;
|
|
11337
|
-
newGroupNode.allLeafChildren = nodeToRemove.allLeafChildren;
|
|
11338
|
-
newGroupNode.childrenAfterGroup = nodeToRemove.childrenAfterGroup;
|
|
11339
|
-
newGroupNode.childrenMapped = nodeToRemove.childrenMapped;
|
|
11340
|
-
newGroupNode.updateHasChildren();
|
|
11341
|
-
newGroupNode.childrenAfterGroup.forEach(rowNode => rowNode.parent = newGroupNode);
|
|
11342
|
-
}
|
|
11343
|
-
});
|
|
11344
|
-
}
|
|
11345
|
-
removeEmptyGroups(possibleEmptyGroups, details) {
|
|
11346
|
-
// we do this multiple times, as when we remove groups, that means the parent of just removed
|
|
11347
|
-
// group can then be empty. to get around this, if we remove, then we check everything again for
|
|
11348
|
-
// newly emptied groups. the max number of times this will execute is the depth of the group tree.
|
|
11349
|
-
let checkAgain = true;
|
|
11350
|
-
const groupShouldBeRemoved = (rowNode) => {
|
|
11351
|
-
// because of the while loop below, it's possible we already moved the node,
|
|
11352
|
-
// so double check before trying to remove again.
|
|
11353
|
-
const mapKey = this.getChildrenMappedKey(rowNode.key, rowNode.rowGroupColumn);
|
|
11354
|
-
const parentRowNode = rowNode.parent;
|
|
11355
|
-
const groupAlreadyRemoved = (parentRowNode && parentRowNode.childrenMapped) ?
|
|
11356
|
-
!parentRowNode.childrenMapped[mapKey] : true;
|
|
11357
|
-
if (groupAlreadyRemoved) {
|
|
11358
|
-
// if not linked, then group was already removed
|
|
11359
|
-
return false;
|
|
11360
|
-
}
|
|
11361
|
-
// if still not removed, then we remove if this group is empty
|
|
11362
|
-
return !!rowNode.isEmptyRowGroupNode();
|
|
11363
|
-
};
|
|
11364
|
-
while (checkAgain) {
|
|
11365
|
-
checkAgain = false;
|
|
11366
|
-
const batchRemover = new BatchRemover();
|
|
11367
|
-
possibleEmptyGroups.forEach(possibleEmptyGroup => {
|
|
11368
|
-
// remove empty groups
|
|
11369
|
-
this.forEachParentGroup(details, possibleEmptyGroup, rowNode => {
|
|
11370
|
-
if (groupShouldBeRemoved(rowNode)) {
|
|
11371
|
-
checkAgain = true;
|
|
11372
|
-
this.removeFromParent(rowNode, batchRemover);
|
|
11373
|
-
// we remove selection on filler nodes here, as the selection would not be removed
|
|
11374
|
-
// from the RowNodeManager, as filler nodes don't exist on the RowNodeManager
|
|
11375
|
-
rowNode.setSelectedParams({ newValue: false, source: 'rowGroupChanged' });
|
|
11376
|
-
}
|
|
11377
|
-
});
|
|
11378
|
-
});
|
|
11379
|
-
batchRemover.flush();
|
|
11380
|
-
}
|
|
11381
|
-
}
|
|
11382
|
-
// removes the node from the parent by:
|
|
11383
|
-
// a) removing from childrenAfterGroup (using batchRemover if present, otherwise immediately)
|
|
11384
|
-
// b) removing from childrenMapped (immediately)
|
|
11385
|
-
// c) setRowTop(null) - as the rowRenderer uses this to know the RowNode is no longer needed
|
|
11386
|
-
// d) setRowIndex(null) - as the rowNode will no longer be displayed.
|
|
11387
|
-
removeFromParent(child, batchRemover) {
|
|
11388
|
-
if (child.parent) {
|
|
11389
|
-
if (batchRemover) {
|
|
11390
|
-
batchRemover.removeFromChildrenAfterGroup(child.parent, child);
|
|
11391
|
-
}
|
|
11392
|
-
else {
|
|
11393
|
-
_.removeFromArray(child.parent.childrenAfterGroup, child);
|
|
11394
|
-
child.parent.updateHasChildren();
|
|
11395
|
-
}
|
|
11396
|
-
}
|
|
11397
|
-
const mapKey = this.getChildrenMappedKey(child.key, child.rowGroupColumn);
|
|
11398
|
-
if (child.parent && child.parent.childrenMapped) {
|
|
11399
|
-
child.parent.childrenMapped[mapKey] = undefined;
|
|
11400
|
-
}
|
|
11401
|
-
// this is important for transition, see rowComp removeFirstPassFuncs. when doing animation and
|
|
11402
|
-
// remove, if rowTop is still present, the rowComp thinks it's just moved position.
|
|
11403
|
-
child.setRowTop(null);
|
|
11404
|
-
child.setRowIndex(null);
|
|
11405
|
-
}
|
|
11406
|
-
addToParent(child, parent) {
|
|
11407
|
-
const mapKey = this.getChildrenMappedKey(child.key, child.rowGroupColumn);
|
|
11408
|
-
if (parent) {
|
|
11409
|
-
const children = parent.childrenMapped != null;
|
|
11410
|
-
if (children) {
|
|
11411
|
-
parent.childrenMapped[mapKey] = child;
|
|
11412
|
-
}
|
|
11413
|
-
parent.childrenAfterGroup.push(child);
|
|
11414
|
-
parent.updateHasChildren();
|
|
11415
|
-
}
|
|
11416
|
-
}
|
|
11417
|
-
areGroupColsEqual(d1, d2) {
|
|
11418
|
-
if (d1 == null || d2 == null || d1.pivotMode !== d2.pivotMode) {
|
|
11419
|
-
return false;
|
|
11420
|
-
}
|
|
11421
|
-
return _.areEqual(d1.groupedCols, d2.groupedCols) && _.areEqual(d1.keyCreators, d2.keyCreators);
|
|
11422
|
-
}
|
|
11423
|
-
checkAllGroupDataAfterColsChanged(details) {
|
|
11424
|
-
const recurse = (rowNodes) => {
|
|
11425
|
-
if (!rowNodes) {
|
|
11426
|
-
return;
|
|
11427
|
-
}
|
|
11428
|
-
rowNodes.forEach(rowNode => {
|
|
11429
|
-
const isLeafNode = !details.usingTreeData && !rowNode.group;
|
|
11430
|
-
if (isLeafNode) {
|
|
11431
|
-
return;
|
|
11432
|
-
}
|
|
11433
|
-
const groupInfo = {
|
|
11434
|
-
field: rowNode.field,
|
|
11435
|
-
key: rowNode.key,
|
|
11436
|
-
rowGroupColumn: rowNode.rowGroupColumn,
|
|
11437
|
-
leafNode: rowNode.allLeafChildren[0],
|
|
11438
|
-
};
|
|
11439
|
-
this.setGroupData(rowNode, groupInfo, details);
|
|
11440
|
-
recurse(rowNode.childrenAfterGroup);
|
|
11441
|
-
});
|
|
11442
|
-
};
|
|
11443
|
-
recurse(details.rootNode.childrenAfterGroup);
|
|
11444
|
-
}
|
|
11445
|
-
shotgunResetEverything(details, afterColumnsChanged) {
|
|
11446
|
-
if (this.noChangeInGroupingColumns(details, afterColumnsChanged)) {
|
|
11447
|
-
return;
|
|
11448
|
-
}
|
|
11449
|
-
// groups are about to get disposed, so need to deselect any that are selected
|
|
11450
|
-
this.selectionService.filterFromSelection((node) => node && !node.group);
|
|
11451
|
-
const { rootNode, groupedCols } = details;
|
|
11452
|
-
// because we are not creating the root node each time, we have the logic
|
|
11453
|
-
// here to change leafGroup once.
|
|
11454
|
-
// we set .leafGroup to false for tree data, as .leafGroup is only used when pivoting, and pivoting
|
|
11455
|
-
// isn't allowed with treeData, so the grid never actually use .leafGroup when doing treeData.
|
|
11456
|
-
rootNode.leafGroup = details.usingTreeData ? false : groupedCols.length === 0;
|
|
11457
|
-
// we are doing everything from scratch, so reset childrenAfterGroup and childrenMapped from the rootNode
|
|
11458
|
-
rootNode.childrenAfterGroup = [];
|
|
11459
|
-
rootNode.childrenMapped = {};
|
|
11460
|
-
rootNode.updateHasChildren();
|
|
11461
|
-
const sibling = rootNode.sibling;
|
|
11462
|
-
if (sibling) {
|
|
11463
|
-
sibling.childrenAfterGroup = rootNode.childrenAfterGroup;
|
|
11464
|
-
sibling.childrenMapped = rootNode.childrenMapped;
|
|
11465
|
-
}
|
|
11466
|
-
this.insertNodes(rootNode.allLeafChildren, details, false);
|
|
11467
|
-
}
|
|
11468
|
-
noChangeInGroupingColumns(details, afterColumnsChanged) {
|
|
11469
|
-
let noFurtherProcessingNeeded = false;
|
|
11470
|
-
const groupDisplayColumns = this.columnModel.getGroupDisplayColumns();
|
|
11471
|
-
const newGroupDisplayColIds = groupDisplayColumns ?
|
|
11472
|
-
groupDisplayColumns.map(c => c.getId()).join('-') : '';
|
|
11473
|
-
if (afterColumnsChanged) {
|
|
11474
|
-
// we only need to redo grouping if doing normal grouping (ie not tree data)
|
|
11475
|
-
// and the group cols have changed.
|
|
11476
|
-
noFurtherProcessingNeeded = details.usingTreeData || this.areGroupColsEqual(details, this.oldGroupingDetails);
|
|
11477
|
-
// if the group display cols have changed, then we need to update rowNode.groupData
|
|
11478
|
-
// (regardless of tree data or row grouping)
|
|
11479
|
-
if (this.oldGroupDisplayColIds !== newGroupDisplayColIds) {
|
|
11480
|
-
this.checkAllGroupDataAfterColsChanged(details);
|
|
11481
|
-
}
|
|
11482
|
-
}
|
|
11483
|
-
this.oldGroupingDetails = details;
|
|
11484
|
-
this.oldGroupDisplayColIds = newGroupDisplayColIds;
|
|
11485
|
-
return noFurtherProcessingNeeded;
|
|
11486
|
-
}
|
|
11487
|
-
insertNodes(newRowNodes, details, isMove) {
|
|
11488
|
-
newRowNodes.forEach(rowNode => {
|
|
11489
|
-
this.insertOneNode(rowNode, details, isMove);
|
|
11490
|
-
if (details.changedPath.isActive()) {
|
|
11491
|
-
details.changedPath.addParentNode(rowNode.parent);
|
|
11492
|
-
}
|
|
11493
|
-
});
|
|
11494
|
-
}
|
|
11495
|
-
insertOneNode(childNode, details, isMove, batchRemover) {
|
|
11496
|
-
const path = this.getGroupInfo(childNode, details);
|
|
11497
|
-
const parentGroup = this.findParentForNode(childNode, path, details, batchRemover);
|
|
11498
|
-
if (!parentGroup.group) {
|
|
11499
|
-
console.warn(`AG Grid: duplicate group keys for row data, keys should be unique`, [parentGroup.data, childNode.data]);
|
|
11500
|
-
}
|
|
11501
|
-
if (details.usingTreeData) {
|
|
11502
|
-
this.swapGroupWithUserNode(parentGroup, childNode, isMove);
|
|
11503
|
-
}
|
|
11504
|
-
else {
|
|
11505
|
-
childNode.parent = parentGroup;
|
|
11506
|
-
childNode.level = path.length;
|
|
11507
|
-
parentGroup.childrenAfterGroup.push(childNode);
|
|
11508
|
-
parentGroup.updateHasChildren();
|
|
11509
|
-
}
|
|
11510
|
-
}
|
|
11511
|
-
findParentForNode(childNode, path, details, batchRemover) {
|
|
11512
|
-
let nextNode = details.rootNode;
|
|
11513
|
-
path.forEach((groupInfo, level) => {
|
|
11514
|
-
nextNode = this.getOrCreateNextNode(nextNode, groupInfo, level, details);
|
|
11515
|
-
// node gets added to all group nodes.
|
|
11516
|
-
// note: we do not add to rootNode here, as the rootNode is the master list of rowNodes
|
|
11517
|
-
if (!batchRemover?.isRemoveFromAllLeafChildren(nextNode, childNode)) {
|
|
11518
|
-
nextNode.allLeafChildren.push(childNode);
|
|
11519
|
-
}
|
|
11520
|
-
else {
|
|
11521
|
-
// if this node is about to be removed, prevent that
|
|
11522
|
-
batchRemover?.preventRemoveFromAllLeafChildren(nextNode, childNode);
|
|
11523
|
-
}
|
|
11524
|
-
});
|
|
11525
|
-
return nextNode;
|
|
11526
|
-
}
|
|
11527
|
-
swapGroupWithUserNode(fillerGroup, userGroup, isMove) {
|
|
11528
|
-
userGroup.parent = fillerGroup.parent;
|
|
11529
|
-
userGroup.key = fillerGroup.key;
|
|
11530
|
-
userGroup.field = fillerGroup.field;
|
|
11531
|
-
userGroup.groupData = fillerGroup.groupData;
|
|
11532
|
-
userGroup.level = fillerGroup.level;
|
|
11533
|
-
// AG-3441 - preserve the existing expanded status of the node if we're moving it, so that
|
|
11534
|
-
// you can drag a sub tree from one parent to another without changing its expansion
|
|
11535
|
-
if (!isMove) {
|
|
11536
|
-
userGroup.expanded = fillerGroup.expanded;
|
|
11537
|
-
}
|
|
11538
|
-
// we set .leafGroup to false for tree data, as .leafGroup is only used when pivoting, and pivoting
|
|
11539
|
-
// isn't allowed with treeData, so the grid never actually use .leafGroup when doing treeData.
|
|
11540
|
-
userGroup.leafGroup = fillerGroup.leafGroup;
|
|
11541
|
-
// always null for userGroups, as row grouping is not allowed when doing tree data
|
|
11542
|
-
userGroup.rowGroupIndex = fillerGroup.rowGroupIndex;
|
|
11543
|
-
userGroup.allLeafChildren = fillerGroup.allLeafChildren;
|
|
11544
|
-
userGroup.childrenAfterGroup = fillerGroup.childrenAfterGroup;
|
|
11545
|
-
userGroup.childrenMapped = fillerGroup.childrenMapped;
|
|
11546
|
-
userGroup.sibling = fillerGroup.sibling;
|
|
11547
|
-
userGroup.updateHasChildren();
|
|
11548
|
-
this.removeFromParent(fillerGroup);
|
|
11549
|
-
userGroup.childrenAfterGroup.forEach((rowNode) => rowNode.parent = userGroup);
|
|
11550
|
-
this.addToParent(userGroup, fillerGroup.parent);
|
|
11551
|
-
}
|
|
11552
|
-
getOrCreateNextNode(parentGroup, groupInfo, level, details) {
|
|
11553
|
-
const key = this.getChildrenMappedKey(groupInfo.key, groupInfo.rowGroupColumn);
|
|
11554
|
-
let nextNode = parentGroup.childrenMapped ? parentGroup.childrenMapped[key] : undefined;
|
|
11555
|
-
if (!nextNode) {
|
|
11556
|
-
nextNode = this.createGroup(groupInfo, parentGroup, level, details);
|
|
11557
|
-
// attach the new group to the parent
|
|
11558
|
-
this.addToParent(nextNode, parentGroup);
|
|
11559
|
-
}
|
|
11560
|
-
return nextNode;
|
|
11561
|
-
}
|
|
11562
|
-
createGroup(groupInfo, parent, level, details) {
|
|
11563
|
-
const groupNode = new RowNode(this.beans);
|
|
11564
|
-
groupNode.group = true;
|
|
11565
|
-
groupNode.field = groupInfo.field;
|
|
11566
|
-
groupNode.rowGroupColumn = groupInfo.rowGroupColumn;
|
|
11567
|
-
this.setGroupData(groupNode, groupInfo, details);
|
|
11568
|
-
groupNode.key = groupInfo.key;
|
|
11569
|
-
groupNode.id = this.createGroupId(groupNode, parent, details.usingTreeData, level);
|
|
11570
|
-
groupNode.level = level;
|
|
11571
|
-
groupNode.leafGroup = details.usingTreeData ? false : level === (details.groupedColCount - 1);
|
|
11572
|
-
groupNode.allLeafChildren = [];
|
|
11573
|
-
// why is this done here? we are not updating the children count as we go,
|
|
11574
|
-
// i suspect this is updated in the filter stage
|
|
11575
|
-
groupNode.setAllChildrenCount(0);
|
|
11576
|
-
groupNode.rowGroupIndex = details.usingTreeData ? null : level;
|
|
11577
|
-
groupNode.childrenAfterGroup = [];
|
|
11578
|
-
groupNode.childrenMapped = {};
|
|
11579
|
-
groupNode.updateHasChildren();
|
|
11580
|
-
groupNode.parent = details.includeParents ? parent : null;
|
|
11581
|
-
this.setExpandedInitialValue(details, groupNode);
|
|
11582
|
-
return groupNode;
|
|
11583
|
-
}
|
|
11584
|
-
createGroupId(node, parent, usingTreeData, level) {
|
|
11585
|
-
let createGroupId;
|
|
11586
|
-
if (usingTreeData) {
|
|
11587
|
-
createGroupId = (node, parent, level) => {
|
|
11588
|
-
if (level < 0) {
|
|
11589
|
-
return null;
|
|
11590
|
-
} // root node
|
|
11591
|
-
const parentId = parent ? createGroupId(parent, parent.parent, level - 1) : null;
|
|
11592
|
-
return `${parentId == null ? '' : parentId + '-'}${level}-${node.key}`;
|
|
11593
|
-
};
|
|
11594
|
-
}
|
|
11595
|
-
else {
|
|
11596
|
-
createGroupId = (node, parent) => {
|
|
11597
|
-
if (!node.rowGroupColumn) {
|
|
11598
|
-
return null;
|
|
11599
|
-
} // root node
|
|
11600
|
-
const parentId = parent ? createGroupId(parent, parent.parent, 0) : null;
|
|
11601
|
-
return `${parentId == null ? '' : parentId + '-'}${node.rowGroupColumn.getColId()}-${node.key}`;
|
|
11602
|
-
};
|
|
11603
|
-
}
|
|
11604
|
-
// we put 'row-group-' before the group id, so it doesn't clash with standard row id's. we also use 't-' and 'b-'
|
|
11605
|
-
// for top pinned and bottom pinned rows.
|
|
11606
|
-
return RowNode.ID_PREFIX_ROW_GROUP + createGroupId(node, parent, level);
|
|
11607
|
-
}
|
|
11608
|
-
setGroupData(groupNode, groupInfo, details) {
|
|
11609
|
-
groupNode.groupData = {};
|
|
11610
|
-
const groupDisplayCols = this.columnModel.getGroupDisplayColumns();
|
|
11611
|
-
groupDisplayCols.forEach(col => {
|
|
11612
|
-
// newGroup.rowGroupColumn=null when working off GroupInfo, and we always display the group in the group column
|
|
11613
|
-
// if rowGroupColumn is present, then it's grid row grouping and we only include if configuration says so
|
|
11614
|
-
const isTreeData = details.usingTreeData;
|
|
11615
|
-
if (isTreeData) {
|
|
11616
|
-
groupNode.groupData[col.getColId()] = groupInfo.key;
|
|
11617
|
-
return;
|
|
11618
|
-
}
|
|
11619
|
-
const groupColumn = groupNode.rowGroupColumn;
|
|
11620
|
-
const isRowGroupDisplayed = groupColumn !== null && col.isRowGroupDisplayed(groupColumn.getId());
|
|
11621
|
-
if (isRowGroupDisplayed) {
|
|
11622
|
-
if (details.suppressGroupMaintainValueType) {
|
|
11623
|
-
groupNode.groupData[col.getColId()] = groupInfo.key;
|
|
11624
|
-
}
|
|
11625
|
-
else {
|
|
11626
|
-
// if maintain group value type, get the value from any leaf node.
|
|
11627
|
-
groupNode.groupData[col.getColId()] = this.valueService.getValue(groupColumn, groupInfo.leafNode);
|
|
11628
|
-
}
|
|
11629
|
-
}
|
|
11630
|
-
});
|
|
11631
|
-
}
|
|
11632
|
-
getChildrenMappedKey(key, rowGroupColumn) {
|
|
11633
|
-
if (rowGroupColumn) {
|
|
11634
|
-
// grouping by columns
|
|
11635
|
-
return rowGroupColumn.getId() + '-' + key;
|
|
11636
|
-
}
|
|
11637
|
-
// tree data - we don't have rowGroupColumns
|
|
11638
|
-
return key;
|
|
11639
|
-
}
|
|
11640
|
-
setExpandedInitialValue(details, groupNode) {
|
|
11641
|
-
// if pivoting the leaf group is never expanded as we do not show leaf rows
|
|
11642
|
-
if (details.pivotMode && groupNode.leafGroup) {
|
|
11643
|
-
groupNode.expanded = false;
|
|
11644
|
-
return;
|
|
11645
|
-
}
|
|
11646
|
-
// use callback if exists
|
|
11647
|
-
const userCallback = details.isGroupOpenByDefault;
|
|
11648
|
-
if (userCallback) {
|
|
11649
|
-
const params = {
|
|
11650
|
-
rowNode: groupNode,
|
|
11651
|
-
field: groupNode.field,
|
|
11652
|
-
key: groupNode.key,
|
|
11653
|
-
level: groupNode.level,
|
|
11654
|
-
rowGroupColumn: groupNode.rowGroupColumn
|
|
11655
|
-
};
|
|
11656
|
-
groupNode.expanded = userCallback(params) == true;
|
|
11657
|
-
return;
|
|
11658
|
-
}
|
|
11659
|
-
// use expandByDefault if exists
|
|
11660
|
-
const { expandByDefault } = details;
|
|
11661
|
-
if (details.expandByDefault === -1) {
|
|
11662
|
-
groupNode.expanded = true;
|
|
11663
|
-
return;
|
|
11664
|
-
}
|
|
11665
|
-
// otherwise
|
|
11666
|
-
groupNode.expanded = groupNode.level < expandByDefault;
|
|
11667
|
-
}
|
|
11668
|
-
getGroupInfo(rowNode, details) {
|
|
11669
|
-
if (details.usingTreeData) {
|
|
11670
|
-
return this.getGroupInfoFromCallback(rowNode, details);
|
|
11671
|
-
}
|
|
11672
|
-
return this.getGroupInfoFromGroupColumns(rowNode, details);
|
|
11673
|
-
}
|
|
11674
|
-
getGroupInfoFromCallback(rowNode, details) {
|
|
11675
|
-
const keys = details.getDataPath ? details.getDataPath(rowNode.data) : null;
|
|
11676
|
-
if (keys === null || keys === undefined || keys.length === 0) {
|
|
11677
|
-
_.warnOnce(`getDataPath() should not return an empty path for data ${rowNode.data}`);
|
|
11678
|
-
}
|
|
11679
|
-
const groupInfoMapper = (key) => ({ key, field: null, rowGroupColumn: null });
|
|
11680
|
-
return keys ? keys.map(groupInfoMapper) : [];
|
|
11681
|
-
}
|
|
11682
|
-
getGroupInfoFromGroupColumns(rowNode, details) {
|
|
11683
|
-
const res = [];
|
|
11684
|
-
details.groupedCols.forEach(groupCol => {
|
|
11685
|
-
let key = this.valueService.getKeyForNode(groupCol, rowNode);
|
|
11686
|
-
let keyExists = key !== null && key !== undefined && key !== '';
|
|
11687
|
-
// unbalanced tree and pivot mode don't work together - not because of the grid, it doesn't make
|
|
11688
|
-
// mathematical sense as you are building up a cube. so if pivot mode, we put in a blank key where missing.
|
|
11689
|
-
// this keeps the tree balanced and hence can be represented as a group.
|
|
11690
|
-
const createGroupForEmpty = details.pivotMode || !details.groupAllowUnbalanced;
|
|
11691
|
-
if (createGroupForEmpty && !keyExists) {
|
|
11692
|
-
key = '';
|
|
11693
|
-
keyExists = true;
|
|
11694
|
-
}
|
|
11695
|
-
if (keyExists) {
|
|
11696
|
-
const item = {
|
|
11697
|
-
key: key,
|
|
11698
|
-
field: groupCol.getColDef().field,
|
|
11699
|
-
rowGroupColumn: groupCol,
|
|
11700
|
-
leafNode: rowNode,
|
|
11701
|
-
};
|
|
11702
|
-
res.push(item);
|
|
11703
|
-
}
|
|
11704
|
-
});
|
|
11705
|
-
return res;
|
|
11706
|
-
}
|
|
11707
|
-
};
|
|
11708
|
-
__decorate([
|
|
11709
|
-
Autowired('columnModel')
|
|
11710
|
-
], GroupStage.prototype, "columnModel", void 0);
|
|
11711
|
-
__decorate([
|
|
11712
|
-
Autowired('selectableService')
|
|
11713
|
-
], GroupStage.prototype, "selectableService", void 0);
|
|
11714
|
-
__decorate([
|
|
11715
|
-
Autowired('valueService')
|
|
11716
|
-
], GroupStage.prototype, "valueService", void 0);
|
|
11717
|
-
__decorate([
|
|
11718
|
-
Autowired('beans')
|
|
11719
|
-
], GroupStage.prototype, "beans", void 0);
|
|
11720
|
-
__decorate([
|
|
11721
|
-
Autowired('selectionService')
|
|
11722
|
-
], GroupStage.prototype, "selectionService", void 0);
|
|
11723
|
-
GroupStage = __decorate([
|
|
11724
|
-
Bean('groupStage')
|
|
11725
|
-
], GroupStage);
|
|
11726
|
-
|
|
11727
|
-
var RowGroupingModule = {
|
|
11728
|
-
version: '31.3.2',
|
|
11729
|
-
moduleName: ModuleNames.RowGroupingModule,
|
|
11730
|
-
beans: [GroupStage]
|
|
11731
|
-
};
|
|
11732
|
-
|
|
11733
11225
|
class CodesystemFilterComponent extends CodesystemComponent {
|
|
11734
11226
|
constructor(systemService, translate, eventService) {
|
|
11735
11227
|
super(systemService);
|
|
@@ -12213,7 +11705,8 @@ let GridComponent = class GridComponent {
|
|
|
12213
11705
|
this.gridApi = gridApi;
|
|
12214
11706
|
this.router = router;
|
|
12215
11707
|
this.pendingChanges = pendingChanges;
|
|
12216
|
-
this.modules = [ClientSideRowModelModule
|
|
11708
|
+
this.modules = [ClientSideRowModelModule];
|
|
11709
|
+
this.scrollPosition = 0;
|
|
12217
11710
|
this.components = {
|
|
12218
11711
|
agDateInput: DatetimeFilterComponent,
|
|
12219
11712
|
OrganizationFilterComponent: OrganizationFilterComponent,
|
|
@@ -12228,7 +11721,7 @@ let GridComponent = class GridComponent {
|
|
|
12228
11721
|
filter: false,
|
|
12229
11722
|
sortable: false,
|
|
12230
11723
|
resizable: false,
|
|
12231
|
-
|
|
11724
|
+
suppressHeaderMenuButton: true,
|
|
12232
11725
|
suppressMovable: true,
|
|
12233
11726
|
suppressNavigable: true,
|
|
12234
11727
|
suppressPaste: true,
|
|
@@ -12274,7 +11767,16 @@ let GridComponent = class GridComponent {
|
|
|
12274
11767
|
let value = translate.instant(gridKey, variableValues);
|
|
12275
11768
|
return ~value.indexOf(gridKey) ? defaultValue : value;
|
|
12276
11769
|
},
|
|
12277
|
-
components: this.components
|
|
11770
|
+
components: this.components,
|
|
11771
|
+
/**
|
|
11772
|
+
* Triggers horizontal scroll reset after sorting with a delay.
|
|
11773
|
+
*/
|
|
11774
|
+
postSortRows: () => {
|
|
11775
|
+
this.calculateDebouncer.pipe(delay(750))
|
|
11776
|
+
.subscribe(() => {
|
|
11777
|
+
this.setHorizontalScrollPosition();
|
|
11778
|
+
});
|
|
11779
|
+
}
|
|
12278
11780
|
};
|
|
12279
11781
|
this.loadingMessage();
|
|
12280
11782
|
this.getUser();
|
|
@@ -12385,7 +11887,7 @@ let GridComponent = class GridComponent {
|
|
|
12385
11887
|
return this.updateFocus();
|
|
12386
11888
|
}
|
|
12387
11889
|
if ($event.rowIndex !== null) {
|
|
12388
|
-
$event.focusedNode = this.api.
|
|
11890
|
+
$event.focusedNode = this.api.getDisplayedRowAtIndex($event.rowIndex);
|
|
12389
11891
|
if ($event.focusedNode && !$event.focusedNode.group && $event.focusedNode.data) {
|
|
12390
11892
|
this.focusedRowID = $event.focusedNode.id;
|
|
12391
11893
|
this.eoGridFocusChanged.emit($event.focusedNode.data);
|
|
@@ -12425,6 +11927,22 @@ let GridComponent = class GridComponent {
|
|
|
12425
11927
|
this.api.sizeColumnsToFit();
|
|
12426
11928
|
}
|
|
12427
11929
|
}
|
|
11930
|
+
/*
|
|
11931
|
+
* This method is called when the grid is sorted.
|
|
11932
|
+
*/
|
|
11933
|
+
onSortChanged(event) {
|
|
11934
|
+
this.scrollPosition = event.api.getHorizontalPixelRange().left;
|
|
11935
|
+
}
|
|
11936
|
+
/**
|
|
11937
|
+
* Scrolls the grid horizontally to a predefined initial position.
|
|
11938
|
+
* This method is called when the grid is sorted.
|
|
11939
|
+
*/
|
|
11940
|
+
setHorizontalScrollPosition() {
|
|
11941
|
+
const gridBody = document.querySelector('.ag-body-horizontal-scroll-viewport');
|
|
11942
|
+
if (gridBody) {
|
|
11943
|
+
gridBody.scrollLeft = this.scrollPosition;
|
|
11944
|
+
}
|
|
11945
|
+
}
|
|
12428
11946
|
onQuickFilterChanged($event) {
|
|
12429
11947
|
this.api.setQuickFilter($event.target.value);
|
|
12430
11948
|
}
|
|
@@ -12432,12 +11950,12 @@ let GridComponent = class GridComponent {
|
|
|
12432
11950
|
if (!this.api) {
|
|
12433
11951
|
return;
|
|
12434
11952
|
}
|
|
12435
|
-
const rowNode = typeof row === 'number' ? !this.api?.isDestroyed() && this.api.
|
|
11953
|
+
const rowNode = typeof row === 'number' ? !this.api?.isDestroyed() && this.api.getDisplayedRowAtIndex(row) : this.api.getRowNode(row);
|
|
12436
11954
|
let index = rowNode ? rowNode.rowIndex : 0;
|
|
12437
11955
|
if (rowNode && rowNode.data) {
|
|
12438
11956
|
if (selection) {
|
|
12439
11957
|
selection.forEach((rowIndex, i) => {
|
|
12440
|
-
this.api.
|
|
11958
|
+
this.api.getDisplayedRowAtIndex(rowIndex).setSelected(true, i === 0);
|
|
12441
11959
|
});
|
|
12442
11960
|
this.gridOptions.context.selection = null; //reset initial selection
|
|
12443
11961
|
}
|
|
@@ -12532,14 +12050,14 @@ let GridComponent = class GridComponent {
|
|
|
12532
12050
|
return !this._gridCount.rowCount;
|
|
12533
12051
|
}
|
|
12534
12052
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: GridComponent, deps: [{ token: i1.TranslateService }, { token: i1.UserService }, { token: GridService }, { token: i2$1.Router }, { token: PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12535
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: GridComponent, selector: "eo-grid", inputs: { selectFirst: "selectFirst", selectionLimit: "selectionLimit", sizeToFit: "sizeToFit", fullWidth: "fullWidth", showHeader: "showHeader", showFooter: "showFooter", loaderContent: "loaderContent", options: "options", gridOptions: "gridOptions" }, outputs: { eoGridCountChanged: "eoGridCountChanged", eoGridSelectionChanged: "eoGridSelectionChanged", eoGridFocusChanged: "eoGridFocusChanged", eoGridCellClick: "eoGridCellClick", eoGridDoubleClick: "eoGridDoubleClick", eoGridContextMenuClick: "eoGridContextMenuClick", eoGridColumnResized: "eoGridColumnResized" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }], ngImport: i0, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
12053
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: GridComponent, selector: "eo-grid", inputs: { selectFirst: "selectFirst", selectionLimit: "selectionLimit", sizeToFit: "sizeToFit", fullWidth: "fullWidth", showHeader: "showHeader", showFooter: "showFooter", loaderContent: "loaderContent", options: "options", gridOptions: "gridOptions" }, outputs: { eoGridCountChanged: "eoGridCountChanged", eoGridSelectionChanged: "eoGridSelectionChanged", eoGridFocusChanged: "eoGridFocusChanged", eoGridCellClick: "eoGridCellClick", eoGridDoubleClick: "eoGridDoubleClick", eoGridContextMenuClick: "eoGridContextMenuClick", eoGridColumnResized: "eoGridColumnResized" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }], ngImport: i0, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\"\n (sortChanged)=\"onSortChanged($event)\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
12536
12054
|
};
|
|
12537
12055
|
GridComponent = __decorate([
|
|
12538
12056
|
UntilDestroy()
|
|
12539
12057
|
], GridComponent);
|
|
12540
12058
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: GridComponent, decorators: [{
|
|
12541
12059
|
type: Component,
|
|
12542
|
-
args: [{ selector: 'eo-grid', encapsulation: ViewEncapsulation.None, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"] }]
|
|
12060
|
+
args: [{ selector: 'eo-grid', encapsulation: ViewEncapsulation.None, template: "<div class=\"eo-grid-empty\" [hidden]=\"!(isEmpty || isEmptyRows)\">\n <ng-content select=\".empty\"></ng-content>\n</div>\n<div class=\"eo-grid-header\" *ngIf=\"showHeader\" [hidden]=\"isEmpty\">\n <ng-content select=\".header\"></ng-content>\n</div>\n<ag-grid-angular #agGrid class=\"ag-theme-balham\" [modules]=\"modules\"\n [hidden]=\"isEmpty\"\n [ngClass]=\"{'hide-header': showHeader, 'enable-footer': showFooter, 'full-width': fullWidth}\"\n [gridOptions]=\"gridOptions\"\n (modelUpdated)=\"onModelUpdated()\"\n (cellFocused)=\"onCellFocused($event)\"\n (cellContextMenu)=\"onContextMenuClicked($event)\"\n (contextmenu)=\"$event.stopPropagation();$event.preventDefault()\"\n (mousedown)=\"onMouseDown($event)\"\n (cellClicked)=\"onCellClicked($event)\"\n (cellDoubleClicked)=\"onCellDoubleClicked($event)\"\n (selectionChanged)=\"onSelectionChanged($event)\"\n (columnResized)=\"onColumnResized($event)\"\n (gridReady)=\"onReady()\"\n (sortChanged)=\"onSortChanged($event)\">\n</ag-grid-angular>\n<div class=\"eo-grid-footer\" *ngIf=\"showFooter\" [hidden]=\"isEmpty\">\n <ng-content select=\".footer\"></ng-content>\n</div>\n", styles: [":host-context(.dark) .eo-grid-empty{color:var(--color-white)}eo-grid{position:absolute;inset:0;overflow:hidden;color:var(--text-color-caption);--header-height: 30px;--footer-height: 40px}eo-grid #center{overflow-x:hidden}eo-grid .eo-grid-empty,eo-grid .eo-grid-footer,eo-grid .eo-grid-header{position:absolute;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;z-index:1;width:100%;box-sizing:border-box;align-items:center;height:var(--header-height);padding:0 calc(var(--app-pane-padding) / 4 * 3);border-bottom:1px solid var(--panel-header-border-bottom-color)}eo-grid .eo-grid-empty .empty,eo-grid .eo-grid-footer .empty,eo-grid .eo-grid-header .empty{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;align-items:center;font-style:italic;justify-content:space-around;background-color:rgba(var(--color-black-rgb),0);border-radius:2px;-webkit-border-radius:2px;height:auto;padding:5px}eo-grid .eo-grid-empty .header,eo-grid .eo-grid-empty .footer,eo-grid .eo-grid-footer .header,eo-grid .eo-grid-footer .footer,eo-grid .eo-grid-header .header,eo-grid .eo-grid-header .footer{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;justify-content:flex-end}eo-grid .eo-grid-empty .header>*,eo-grid .eo-grid-empty .footer>*,eo-grid .eo-grid-footer .header>*,eo-grid .eo-grid-footer .footer>*,eo-grid .eo-grid-header .header>*,eo-grid .eo-grid-header .footer>*{margin:0 calc(var(--app-pane-padding) / 4)}eo-grid .eo-grid-empty{border:none;top:var(--header-height);height:calc(100% - var(--footer-height) - var(--header-height))}eo-grid .eo-grid-footer{bottom:0;height:var(--footer-height);border-top:1px solid var(--panel-header-border-bottom-color)}eo-grid ag-grid-angular.ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box;font-size:13px}eo-grid ag-grid-angular.ag-theme-balham #center{overflow-x:hidden}eo-grid ag-grid-angular.ag-theme-balham.enable-footer{bottom:var(--footer-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width{top:var(--header-height)}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-center-cols-container,eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-body-container{width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;width:100%!important}eo-grid ag-grid-angular.ag-theme-balham.full-width .ag-cell>span{width:100%}eo-grid ag-grid-angular.ag-theme-balham.hide-header .ag-header{display:none;height:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell-menu-button .ag-icon-menu{height:30px}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell{line-height:30px;padding-left:var(--app-pane-padding);padding-right:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell:after{margin-top:0;height:100%;border-right:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-header{background-color:#0000;border-bottom:1px solid var(--list-item-border-color)}eo-grid ag-grid-angular.ag-theme-balham .ag-tab-header .ag-tab.ag-tab-selected{border-bottom:2px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-menu-button{float:left}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell{border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-column-drop-cell .ag-column-drag{margin-top:0}eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{position:absolute;right:0;top:0;bottom:0;width:var(--app-pane-padding);content:\" \";background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgb(255,255,255) 100%);background:linear-gradient(to right,#0000,#fff)}eo-grid ag-grid-angular.ag-theme-balham .ag-row{border:none;background:var(--color-white);-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-row-hover.ag-row-selected:before{background:var(--list-item-hover-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-cell[col-id=__selectionField],eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-cell[col-id=__selectionField]{border:0!important;padding:0!important;width:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-focus:not(.ag-row-group):before{content:\"\";height:100%;width:3px!important;position:absolute;background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-focus:not(.ag-row-group):before{right:0}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected:not(.ag-row-group):before{background:var(--color-primary)}eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-right-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before,eo-grid ag-grid-angular.ag-theme-balham .ag-pinned-left-cols-container .ag-row-selected.ag-row-focus:not(.ag-row-group):before{background:linear-gradient(0deg,rgb(255,255,255) 0%,rgb(255,255,255) 5%,var(--color-accent) 5%,var(--color-accent) 95%,rgb(255,255,255) 95%,rgb(255,255,255) 100%)}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected:before{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected{border:none;background:var(--list-item-selected-background)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-row-selected .chip:last-of-type:after{background:#0000;background:-moz-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--list-item-selected-background) 100%)}eo-grid ag-grid-angular.ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-range-selected{background:var(--list-item-selected-background)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell,eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{border:1px solid;border-color:#0000!important;border-bottom-color:var(--list-item-border-color)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell-focus[col-id=__custom]{background-color:transparent}eo-grid ag-grid-angular.ag-theme-balham .ag-cell{display:flex;align-items:center;font-size:var(--font-body);line-height:1.7em;-webkit-user-select:none;user-select:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell svg{pointer-events:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.ag-cell-value{white-space:nowrap;text-overflow:ellipsis}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a{text-decoration:none;color:var(--text-color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link{color:var(--text-color-body)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a.link:hover{color:var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell a:hover{text-decoration:underline}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.res-ico,eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-boolean{justify-content:center}eo-grid ag-grid-angular.ag-theme-balham .ag-cell.col-number{justify-content:flex-end}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type{opacity:.5;height:24px;width:24px;vertical-align:bottom}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .object-type-label{padding:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button{width:100%;padding:4px var(--app-pane-padding);white-space:nowrap;color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);margin:0!important;border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-apply-panel button:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-apply-panel button:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-cell .ag-filter-select[ref=eOptions2],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-condition[ref=eJoinOperatorPanel],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-body[ref=eCondition2Body],eo-grid ag-grid-angular.ag-theme-balham .ag-filter .ag-filter-select[ref=eOptions2]{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled{padding:0;color:var(--text-color-caption);height:20px;width:20px;border-color:rgba(var(--color-black-rgb),0);background:rgba(var(--color-black-rgb),.06);border-radius:2px;-webkit-border-radius:2px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:hover,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled:focus{background:var(--color-accent);color:var(--color-white)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell button.ui-button:enabled eo-icon,eo-grid ag-grid-angular.ag-theme-balham .ag-filter button.ui-button:enabled eo-icon{height:var(--app-pane-padding);width:var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input{font-family:inherit;width:100%;-webkit-user-select:all;user-select:all;border:0!important;border-bottom:1px solid!important;border-bottom-color:rgba(var(--color-black-rgb),.1)!important;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell input:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter input:focus{border-bottom-color:var(--color-accent)!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .yvc-datepicker input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .yvc-datepicker input{padding:0!important;height:auto!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{font-family:inherit;border:none;height:2em;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-black-rgb),.1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22%3E%3Cpath d%3D%22M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z%22%2F%3E%3C%2Fsvg%3E\") no-repeat;background-position-x:right;background-position-y:center;background-size:var(--app-pane-padding)}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{background-position-x:right;none:left}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell select,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter select{none:right;background-position-x:left}eo-grid ag-grid-angular.ag-theme-balham .ag-cell select:focus,eo-grid ag-grid-angular.ag-theme-balham .ag-filter select:focus{border-bottom:1px solid var(--color-accent)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-list-filter,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-list-filter{display:block;padding-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom{display:block;margin:0 calc(var(--app-pane-padding) / 4)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker{width:100%}eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-cell eo-datetime-custom yvc-datepicker yvc-date-input,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input-text,eo-grid ag-grid-angular.ag-theme-balham .ag-filter eo-datetime-custom yvc-datepicker yvc-date-input{flex:1}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization{margin-top:calc(var(--app-pane-padding) / 4);position:relative}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{position:absolute;top:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{right:0}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization button{left:0}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list .ui-autocomplete-panel,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization .ui-autocomplete-panel{position:relative;top:3px!important}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container{flex-flow:column;border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{margin:2px calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-datepicker ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token,eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-organization ul.ui-autocomplete-multiple-container .ui-autocomplete-input-token{padding:0}[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=ltr] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{right:8px}[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-cell .eo-codesystem button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-dynamic-list button,[dir=rtl] eo-grid ag-grid-angular.ag-theme-balham .ag-filter .eo-codesystem button{left:8px}eo-grid ag-grid-angular.ag-theme-balham .ag-cell .object-type-label,eo-grid ag-grid-angular.ag-theme-balham .ag-group-cell>svg.checkbox{display:none}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-cell{padding:0 var(--app-pane-padding)}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell-label{text-align:right}eo-grid ag-grid-angular.ag-theme-balham .ag-header-cell.contextfolder .ag-header-cell-text:before{content:\"*\";display:inline-block;padding:0 calc(var(--app-pane-padding) / 4);background:var(--color-primary-3);border-radius:2px;-webkit-border-radius:2px;color:var(--color-white);line-height:14px}eo-grid ag-grid-angular.ag-theme-balham .ag-root-wrapper{border:none}eo-grid ag-grid-angular.ag-theme-balham .ag-rtl .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-left:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-ltr .ag-header-cell.contextfolder .ag-header-cell-text:before{margin-right:calc(var(--app-pane-padding) / 2)}eo-grid ag-grid-angular.ag-theme-balham .ag-group-value{vertical-align:middle}eo-grid .multiCell span{display:flex;flex-direction:row}\n"] }]
|
|
12543
12061
|
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.UserService }, { type: GridService }, { type: i2$1.Router }, { type: PendingChangesService }], propDecorators: { agGrid: [{
|
|
12544
12062
|
type: ViewChild,
|
|
12545
12063
|
args: ['agGrid']
|
|
@@ -13007,11 +12525,11 @@ class TextFilterComponent extends AbstractFilterComponent {
|
|
|
13007
12525
|
}
|
|
13008
12526
|
}
|
|
13009
12527
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TextFilterComponent, deps: [{ token: ListSettingsService }, { token: i1.LocalStorageService }, { token: i1.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13010
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: TextFilterComponent, selector: "eo-text-filter", inputs: { title: "title", placeholder: "placeholder", enableSave: "enableSave", filterParams: "filterParams", matchFields: "matchFields" }, usesInheritance: true, ngImport: i0, template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n", styles: [".title{margin-top:.5em;font-weight:700}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon.disable-save-filter{cursor:default;color:var(--color-primary-3)}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
12528
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: TextFilterComponent, selector: "eo-text-filter", inputs: { title: "title", placeholder: "placeholder", enableSave: "enableSave", filterParams: "filterParams", matchFields: "matchFields" }, usesInheritance: true, ngImport: i0, template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" [tabindex]=\"(!value || savedFilters.includes(value)) ? '-1' : '0'\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n (keydown.enter)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n", styles: [".title{margin-top:.5em;font-weight:700}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon:focus,.save-filter-icon:hover{color:var(--color-accent)!important}.save-filter-icon.disable-save-filter{cursor:default;color:var(--color-primary-3)}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
13011
12529
|
}
|
|
13012
12530
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: TextFilterComponent, decorators: [{
|
|
13013
12531
|
type: Component,
|
|
13014
|
-
args: [{ selector: 'eo-text-filter', template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n", styles: [".title{margin-top:.5em;font-weight:700}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon.disable-save-filter{cursor:default;color:var(--color-primary-3)}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}\n"] }]
|
|
12532
|
+
args: [{ selector: 'eo-text-filter', template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n</header>\n<div class=\"flex-row\">\n <eo-form-input>\n <input (ngModelChange)=\"onChange($event)\" [ngModel]=\"value\" class=\"form-control\"\n placeholder=\"{{ placeholder | translate}}\" (focus)=\"focus()\" (focusout)=\"focusout()\">\n </eo-form-input>\n <eo-icon class=\"save-filter-icon\" [tabindex]=\"(!value || savedFilters.includes(value)) ? '-1' : '0'\" *ngIf=\"enableSave\" [ngClass]=\"{'disable-save-filter': !value || savedFilters.includes(value)}\"\n (click)=\"saveFilter(value)\"\n (keydown.enter)=\"saveFilter(value)\"\n [iconTitle]=\"'eo.filter.save' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n</div>\n<div *ngIf=\"enableSave && savedFilters && savedFilters.length !== 0\">\n <h4 class=\"filter__title saved-filters-title\" translate>eo.filter.save.title</h4>\n <div class=\"saved-filters-container\">\n <div class=\"saved-filter flex-row\" *ngFor=\"let savedFilter of savedFilters\">\n <span class=\"saved-filter-text\" (click)=\"onChange(savedFilter, value)\">{{savedFilter}}</span>\n <eo-icon class=\"remove-filter-icon\" (click)=\"removeFilter(savedFilter)\"\n [iconTitle]=\"'eo.filter.delete' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </div>\n </div>\n</div>\n", styles: [".title{margin-top:.5em;font-weight:700}input{border:none}.form-control::-ms-clear{display:none}.save-filter-icon{cursor:pointer}.save-filter-icon:focus,.save-filter-icon:hover{color:var(--color-accent)!important}.save-filter-icon.disable-save-filter{cursor:default;color:var(--color-primary-3)}.remove-filter-icon{cursor:pointer;margin-left:auto}.saved-filter-text{cursor:pointer;margin-left:5px}.saved-filter{text-decoration:underline}.saved-filters-title{margin-top:1em}.saved-filters-container{max-height:200px;overflow:auto}\n"] }]
|
|
13015
12533
|
}], ctorParameters: () => [{ type: ListSettingsService }, { type: i1.LocalStorageService }, { type: i1.UserService }], propDecorators: { title: [{
|
|
13016
12534
|
type: Input
|
|
13017
12535
|
}], placeholder: [{
|
|
@@ -17159,7 +16677,21 @@ let AppSearchComponent = class AppSearchComponent {
|
|
|
17159
16677
|
}
|
|
17160
16678
|
moveObjectTypeGroup(groupLabel, direction) {
|
|
17161
16679
|
let index = this.objectTypeGroups.findIndex(group => groupLabel === group.label);
|
|
17162
|
-
let newIndex
|
|
16680
|
+
let newIndex;
|
|
16681
|
+
if (direction === 'left') {
|
|
16682
|
+
newIndex = index - 1;
|
|
16683
|
+
}
|
|
16684
|
+
else if (direction === 'right') {
|
|
16685
|
+
newIndex = index + 1;
|
|
16686
|
+
}
|
|
16687
|
+
else if (direction === 'first') {
|
|
16688
|
+
newIndex = 0;
|
|
16689
|
+
}
|
|
16690
|
+
else if (direction === 'last') {
|
|
16691
|
+
newIndex = this.objectTypeGroups.length - 1;
|
|
16692
|
+
if (index === newIndex)
|
|
16693
|
+
return;
|
|
16694
|
+
}
|
|
17163
16695
|
while (index < 0) {
|
|
17164
16696
|
index += this.objectTypeGroups.length;
|
|
17165
16697
|
}
|
|
@@ -17239,14 +16771,14 @@ let AppSearchComponent = class AppSearchComponent {
|
|
|
17239
16771
|
this.queryStateSubscription.unsubscribe();
|
|
17240
16772
|
}
|
|
17241
16773
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchComponent, deps: [{ token: AppSearchService }, { token: i2$2.YvcOverlayService }, { token: i1.SearchService }, { token: i1.SystemService }, { token: i1.NotificationsService }, { token: i1.TranslateService }, { token: i2$1.Router }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.StoredQueriesService }, { token: i1.CapabilitiesService }, { token: i1.UserService }, { token: i1.Logger }, { token: i1.LocalStorageService }, { token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17242
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppSearchComponent, selector: "eo-app-search", outputs: { onExecuteSearch: "onExecuteSearch" }, viewQueries: [{ propertyName: "tplSearch", first: true, predicate: ["tplSearch"], descendants: true, read: TemplateRef }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "expertInput", first: true, predicate: ["xpinput"], descendants: true }, { propertyName: "indexdataForm", first: true, predicate: ["idxform"], descendants: true }, { propertyName: "contextForm", first: true, predicate: ["ctxform"], descendants: true }], ngImport: i0, template: "<!-- <eo-dialog [visible]=\"true\" [styleClass]=\"'eo-app-search-dialog'\" [align]=\"'start'\" [minWidth]=\"'80vw'\"\n [minHeight]=\"'100vh'\" (hide)=\"closeSearchMenu($event)\"> -->\n<!-- <yvc-dialog [options]=\"{lightDismiss: true}\" [template]=\"tplSearch\" (closed)=\"closeSearchMenu()\"></yvc-dialog> -->\n<ng-template #tplSearch>\n\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\n\n <div class=\"head\">\n\n <div class=\"search\">\n <form (submit)=\"executeSearch()\">\n <div class=\"title\" translate>eo.search</div>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n\n <div class=\"search-box\" [formGroup]=\"termForm\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput formControlName=\"term\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" (keydown.enter)=\"executeSearch()\" (paste)=\"autocompletePaste($event)\">\n </yvc-autocomplete>\n\n <ng-template #expertInput>\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\n </ng-template>\n\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\n <!--<span translate>eo.search.mode.expert</span>-->\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\n <ng-template #close>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\n </ng-template>\n </button>\n\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\n (click)=\"resetExpertModeInput()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\n </button>\n\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </div>\n </form>\n </div>\n\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\n <ng-template #spinner>\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\n </ng-template>\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu()\"></eo-icon>\n\n </div>\n\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\n\n <yvc-tabs (tabChange)=\"onTabChange($event)\">\n\n <!-- object type select -->\n <ng-template [yvcTab]=\"{id: 'restrictType', label: 'eo.search.restrict.type' | translate}\">\n\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\n *ngIf=\"objectTypeGroups && !idxSearch\">\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups; let i = index\">\n <div class=\"group-header\">\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\n <div class=\"move-icons\">\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-icon\" (click)=\"moveObjectTypeGroup(group.label, 'left')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_left.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-icon\" (click)=\"moveObjectTypeGroup(group.label, 'right')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_right.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of group.types\"\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\n\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"item\" (click)=\"selectObjectType(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) +\n ')' : ''}}</div>\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\n <h2>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\n (click)=\"exitIndexdataSearch()\"></eo-icon>\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\n </h2>\n\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\n\n <div class=\"context-select\">\n <div translate>eo.search.objecttype.form.context</div>\n <div class=\"spacer\"></div>\n\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\n [selected]=\"currentContextFolderName === ctx.name\"\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\n </eo-context-search>\n </div>\n\n <section class=\"context form\">\n <eo-object-form class=\"dark\" #ctxform\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </section>\n </div>\n\n\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\n (statusChanged)=\"onIndexDataChanged($event)\" (onFormReady)=\"idxform.focusForm()\">\n </eo-object-form>\n </section>\n </div>\n </ng-template>\n\n <!-- created tab -->\n <ng-template [yvcTab]=\"{id: 'restrictCreated', label: 'eo.search.restrict.creation' | translate }\">\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #createdForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-creator\">\n <h3 translate>eo.search.agg.creator</h3>\n <form #creatorForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictModification', label: 'eo.search.restrict.modification' | translate}\">\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #modifiedForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-modifier\">\n <h3 translate>eo.search.agg.modifier</h3>\n <form #modifierForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\n [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictFile', label: 'eo.search.restrict.file' | translate}\">\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-mimetype-group\">\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"checkbox\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filesize\">\n <h3 translate>eo.search.restrict.filesize</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filename\">\n <h3 translate>eo.search.restrict.filename</h3>\n <form #filenameForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n </yvc-tabs>\n\n <!-- summary of the current search filters -->\n <div class=\"summary-panel\">\n\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\n <div class=\"spaceInbetwen\">\n <div class=\"savedSearchIcon\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n </div>\n <div class=\"store\">\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\n </div>\n </div>\n </div>\n\n <ng-template #reghead>\n <div class=\"headline\" translate>eo.search.aside.summary</div>\n </ng-template>\n\n <section class=\"query-types\">\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\n <div class=\"filter\">\n <div class=\"label\">{{query.term}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\n <div class=\"filter\" *ngFor=\"let type of query.types\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\n </div>\n </div>\n\n <ng-template #filterTemplate let-filter let-translate>\n <ng-container *ngIf=\"filter.innerValue.length\">\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\n <div class=\"label\">{{filter.label[i] | async}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\n </div>\n </ng-container>\n </ng-template>\n\n <div class=\"section section-creation\"\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue?.length || filtersModel[PARAMS.CREATOR].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.creation</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\n </div>\n\n <div class=\"section section-modification\"\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue?.length || filtersModel[PARAMS.MODIFIER].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.modification</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\n </div>\n\n <div class=\"section section-mimetypegroup\"\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\n <div class=\"title\" translate>eo.search.restrict.file</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\n </div>\n </section>\n\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\n\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-container>\n\n <ng-template #regactions>\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-template>\n\n\n </div>\n\n <ng-template #emptySearch>\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\n </ng-template>\n\n </div>\n\n\n </div>\n\n <!-- expert mode body panel containing explanations -->\n <ng-template #expert>\n <div class=\"body expert\">\n\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\n\n <!--\n <h2><span translate>eo.search.mode.expert</span></h2>\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\n\n <div class=\"base-params fields\">\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"system-types fields\">\n\n <div class=\"column column-group\">\n <h2 translate>eo.search.mode.expert.support.group</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\n (click)=\"xpSelectGroup(group)\">\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\n <h2 translate>eo.search.mode.expert.support.type</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\n (click)=\"xpSelectType(type)\">\n <div>{{type.label}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\n <h2 translate>eo.search.mode.expert.support.field</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n </div>\n\n -->\n </div>\n </ng-template>\n </div>\n <!-- </eo-dialog> -->\n</ng-template>\n", styles: ["eo-app-search dialog{height:100vh;margin:0!important;max-height:100vh;max-block-size:100%!important;min-width:500px;width:80%}@media screen and (max-width: 500px){.eo-app-search-dialog{width:100%!important;min-width:inherit}}.eo-app-search-dialog .eo-dialog-content{overflow:inherit;max-height:100%}.eo-app-search-dialog .eo-dialog-header{display:none}.eo-app-search.rtl .head .close{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-min-width: 500px;--search-box-max-width: 600px;--search-summary-width: 350px;width:80vw;height:100vh;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.eo-app-search .head{background:var(--color-primary-2);flex:0 0 auto;color:var(--color-white);position:relative;display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding) / 2);z-index:2;min-width:fill-available;min-width:-webkit-fill-available;min-width:-moz-available}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);min-height:1em;line-height:1em}@media screen and (max-width: 480px){.eo-app-search .head .search .title{font-size:var(--font-title)}}.eo-app-search .head .search .query-scope{margin:calc(var(--app-pane-padding) * 2) 0 0 0;min-width:var(--search-min-width);max-width:var(--search-box-max-width)}.eo-app-search .head .search .search-box{margin-bottom:var(--app-pane-padding);display:flex;flex-flow:row nowrap;align-items:stretch;background:var(--color-white);max-width:var(--search-box-max-width);box-shadow:0 2px 2px rgba(var(--color-black-rgb),.2)}@media screen and (max-width: 480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box yvc-autocomplete{flex:1 1 auto;background:transparent;outline:0;border:0}.eo-app-search .head .search .search-box yvc-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title)}.eo-app-search .head .search .search-box input::-ms-clear{display:none}.eo-app-search .head .search .search-box button[type=submit]{background:var(--color-accent);color:var(--color-white);border:0;padding:0 var(--app-pane-padding);font-size:var(--font-subhead)}.eo-app-search .head .search .search-box button.expert-mode{padding:0 calc(var(--app-pane-padding) / 2);background:transparent;border:0;color:var(--text-color-hint);display:flex;align-items:center}.eo-app-search .head .search .search-box button.expert-mode:focus{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;width:0;padding:0;transition:all .2s ease-in-out}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;width:40px;padding:0 8px}.eo-app-search .head .search .search-box button.expert-mode span{display:none;padding:calc(var(--app-pane-padding) / 4);white-space:nowrap;animation:eoFadeIn var(--app-default-transition-duration)}.eo-app-search .head .search .search-box button.expert-mode:hover{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode:hover span{display:block}.eo-app-search .head .result{position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) * 2.5);z-index:1;font-size:7em;line-height:1em;opacity:.1}@media screen and (max-width: 900px){.eo-app-search .head .result{font-size:3em;right:calc(var(--app-pane-padding) * 3);top:var(--app-pane-padding)}}.eo-app-search .head .search-aggregator__loader{z-index:11;position:absolute;right:13%;top:30%;-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}@media screen and (max-width: 900px){.eo-app-search .head .search-aggregator__loader{top:5%}}.eo-app-search .head .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);z-index:2}.eo-app-search .body{background:rgba(var(--color-white-rgb),.2);flex:1 1 auto;position:relative}@media screen and (max-width: 1000px){.eo-app-search .body .summary-panel{bottom:0;right:0!important;left:0!important;top:auto!important;width:auto!important;display:flex;flex-flow:row nowrap}.eo-app-search .body .summary-panel .headline:not(.stored-query),.eo-app-search .body .summary-panel .section{display:none}.eo-app-search .body .summary-panel .headline.stored-query{margin-bottom:0;display:flex;align-items:center;padding:0 var(--app-pane-padding)}.eo-app-search .body .summary-panel .headline.stored-query .pre{display:none}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-subhead)!important}.eo-app-search .body .summary-panel .actions{flex:1 1 auto}.eo-app-search .body yvc-tabs>section[role=tabpanel]{padding-right:0!important;padding-left:0!important}}.eo-app-search .body>yvc-tabs{position:absolute;inset:0}.eo-app-search .body>yvc-tabs>header{--text-color-body: #fff;--text-color-hint: rgba(255,255,255,.7);background:var(--color-primary-2)}.eo-app-search .body>yvc-tabs>section[role=tabpanel]{padding:calc(var(--app-pane-padding) - var(--app-pane-padding) / 2) calc(var(--app-pane-padding) * 2 + var(--search-summary-width)) 0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);width:var(--search-summary-width);position:absolute;top:calc(var(--app-pane-padding) + var(--eo-tab-nav-height));right:var(--app-pane-padding);box-sizing:border-box}.eo-app-search .body .summary-panel .query-types{overflow:auto;max-height:calc(100vh - 290px)}.eo-app-search .body .summary-panel .headline{line-height:1em;font-size:var(--font-subhead);font-weight:var(--font-weight-light);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .summary-panel .headline .spaceInbetwen{display:flex;align-items:center}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon{display:block;padding:calc(var(--app-pane-padding) / 4) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon eo-icon{--eoSvgIcon-size: 44px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store{display:block;min-height:0;min-width:0;padding-left:12px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .pre{padding:calc(var(--app-pane-padding) / 2) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .stored-query-name{font-size:var(--font-title);padding:calc(var(--app-pane-padding) / 2) 0;line-height:1.2em}.eo-app-search .body .summary-panel .headline.stored-query{background:var(--color-primary-3);color:var(--color-white);font-size:var(--font-body)}.eo-app-search .body .summary-panel .empty-search{padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .section{padding:calc(var(--app-pane-padding) / 2);max-height:calc(100vh - 280px);overflow-y:auto}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);padding-bottom:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .filter{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;background:rgba(var(--color-white-rgb),.6);margin-top:4px;align-items:center}.eo-app-search .body .summary-panel .filter .label{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;padding:0 0 0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .summary-panel .filter eo-icon{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 4);box-sizing:border-box;cursor:pointer;color:var(--text-color-hint)}.eo-app-search .body .summary-panel .filter eo-icon:hover{color:var(--text-color-caption)}.eo-app-search .body .summary-panel .actions{display:flex;justify-content:flex-end;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2 - 2px)}.eo-app-search .body .summary-panel .actions button{margin:0 2px;line-height:1em;font-size:var(--font-hint)}.eo-app-search .body .ui-tabview .ui-tabview-panel{padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .ui-tabview .ui-tabview-panel h2{margin:0 0 calc(var(--app-pane-padding) * 1.5) 0;padding:0;font-weight:var(--font-weight-light);font-size:var(--font-title);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container{display:flex;flex-flow:row wrap;align-items:stretch}.eo-app-search .body .rest-box-container .rest-box{margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2);background:var(--color-white);flex:1 1 auto}.eo-app-search .body .rest-box-container .rest-box h3{margin:0 0 var(--app-pane-padding) 0;padding:0;font-size:var(--font-caption);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item{display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);color:var(--text-color-body)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected{background:var(--color-primary-3);color:var(--color-white)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover{background:var(--list-item-hover-background)}.eo-app-search .body .rest-box-container .rest-box .label{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .rest-box-container .rest-box .count{font-size:var(--font-caption);min-width:30px;text-align:right;font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .group-header .move-icons{display:none}.eo-app-search .body .object-types .group .type{display:flex;flex-flow:row nowrap;align-items:center;padding:1px 0}.eo-app-search .body .object-types .group .type.context{font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .type.folder .item eo-icon{background:rgba(var(--color-black-rgb),.15)}.eo-app-search .body .object-types .group .type.folder .item:hover eo-icon{background:rgba(var(--color-white-rgb),.3)}.eo-app-search .body .object-types .group .type.abstract .item{color:var(--text-color-caption)}.eo-app-search .body .object-types .group .type.abstract .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .group .type .item{display:flex;flex:1 1 auto;border-radius:2px;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);cursor:default;color:var(--text-color-body)}.eo-app-search .body .object-types .group .type .item eo-icon{color:var(--text-color-caption);width:16px;height:16px;box-sizing:content-box;padding:2px;border-radius:2px;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.eo-app-search .body .object-types .group:hover .group-header{display:flex;justify-content:space-between}.eo-app-search .body .object-types .group:hover .group-header .move-icons{display:flex}.eo-app-search .body .object-types .group:hover .group-header .move-left-icon,.eo-app-search .body .object-types .group:hover .group-header .move-right-icon{cursor:pointer;color:var(--text-color-caption)}.eo-app-search .body .object-types .type .item{cursor:pointer}.eo-app-search .body .object-types .type .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .type .item:hover eo-icon{color:var(--panel-background)}.eo-app-search .body .indexdata-search{padding:calc(var(--app-pane-padding) / 2) 0 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .indexdata-search h2{display:flex;flex-flow:row;align-items:center}.eo-app-search .body .indexdata-search h2 eo-icon{margin:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .indexdata-search h2 span{padding:0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .indexdata-search .context{margin-bottom:var(--app-pane-padding)}.eo-app-search .body .indexdata-search .context .context-select{display:flex;align-items:center;flex-flow:row wrap;padding-bottom:1px}.eo-app-search .body .indexdata-search .context .context-select .spacer{width:var(--app-pane-padding)}.eo-app-search .body .indexdata-search eo-object-form{border:1px solid rgba(var(--color-black-rgb),.1)}.eo-app-search .body .indexdata-search eo-object-form.dark{display:block;background-color:var(--color-primary-2)}.eo-app-search.rtl{left:0;right:0;animation:appSearchAppearRTL var(--app-default-transition-duration)}.eo-app-search.rtl .head .result,.eo-app-search.rtl .body .summary-panel{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body yvc-tabs{padding-right:0;padding-left:calc(var(--app-pane-padding) * 2 + var(--search-summary-width));padding-bottom:0;padding-top:0}.eo-app-search.expert .head .result{display:none}.eo-app-search.expert .head .search .search-box{max-width:100%}.eo-app-search.expert .head .search .search-box button.expert-mode{color:var(--color-accent)}.eo-app-search.expert .body{background:var(--color-primary-2);color:var(--color-white);display:flex;flex-flow:column}.eo-app-search.expert .body h2{flex:0 0 auto;padding:0;margin:var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}.eo-app-search.expert .body h2 span{padding:calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:4px solid var(--color-accent)}.eo-app-search.expert .body .intro{flex:0 0 auto;padding:var(--app-pane-padding)}.eo-app-search.expert .body .empty{flex:0 0 auto;padding:0 var(--app-pane-padding)}.eo-app-search.expert .body .empty span{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px;background:var(--color-error);color:var(--color-white)}.eo-app-search.expert .body .fields h2{margin:calc(var(--app-pane-padding) / 2);flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-white-rgb),.3)}.eo-app-search.expert .body .fields .item{padding:calc(var(--app-pane-padding) / 2);cursor:pointer;border-radius:2px;background:rgba(var(--color-white-rgb),.06);margin-bottom:4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item:hover,.eo-app-search.expert .body .fields .item.selected{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{font-weight:var(--font-weight-bold);display:flex;justify-content:space-between}.eo-app-search.expert .body .fields .item .label .type{font-size:var(--font-hint);opacity:.5}.eo-app-search.expert .body .fields .item .data{opacity:.75}.eo-app-search.expert .body .base-params{padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .base-params .items{display:flex;flex-flow:row wrap;padding:calc(var(--app-pane-padding) / 4)}.eo-app-search.expert .body .base-params .items .item{margin:calc(var(--app-pane-padding) / 4)}.eo-app-search.expert .body .system-types{flex:1 1 auto;display:flex;flex-flow:row;justify-content:flex-start;align-items:stretch;padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .system-types .column{flex:0 0 33%;box-sizing:border-box;display:flex;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{padding:calc(var(--app-pane-padding) / 2);flex:1 1 auto;overflow-y:auto}.eo-app-search.expert .body .system-types .column .items::-webkit-scrollbar-thumb{background-color:rgba(var(--color-white-rgb),.1)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox,.eo-app-search .body .rest-box-container .rest-box .type .checkbox{width:20px;height:20px;cursor:pointer;border:1px solid var(--text-color-hint);border-radius:2px;margin:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type .checkbox svg{opacity:0}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover{border-color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover svg,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover svg{fill:var(--text-color-body);opacity:.3}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox{background:var(--color-primary-3);border-color:var(--color-primary-3)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox svg{fill:var(--color-white)!important;opacity:1}.eo-app-search .body .rest-box-container .rest-box .rest-item.saved .count,.eo-app-search .body .rest-box-container .rest-box .type.saved .count{font-weight:var(--font-weight-normal)}@keyframes appSearchAppear{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: QueryScopeSelectComponent, selector: "eo-query-scope-select", inputs: ["selection"], outputs: ["select"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ContextSearchComponent, selector: "eo-context-search", inputs: ["ctx", "query", "idxSearch", "selected", "disabled"], outputs: ["setContext"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDecimalPipe, name: "localeDecimal" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
16774
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppSearchComponent, selector: "eo-app-search", outputs: { onExecuteSearch: "onExecuteSearch" }, viewQueries: [{ propertyName: "tplSearch", first: true, predicate: ["tplSearch"], descendants: true, read: TemplateRef }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "expertInput", first: true, predicate: ["xpinput"], descendants: true }, { propertyName: "indexdataForm", first: true, predicate: ["idxform"], descendants: true }, { propertyName: "contextForm", first: true, predicate: ["ctxform"], descendants: true }], ngImport: i0, template: "<!-- <eo-dialog [visible]=\"true\" [styleClass]=\"'eo-app-search-dialog'\" [align]=\"'start'\" [minWidth]=\"'80vw'\"\n [minHeight]=\"'100vh'\" (hide)=\"closeSearchMenu($event)\"> -->\n<!-- <yvc-dialog [options]=\"{lightDismiss: true}\" [template]=\"tplSearch\" (closed)=\"closeSearchMenu()\"></yvc-dialog> -->\n<ng-template #tplSearch>\n\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\n\n <div class=\"head\">\n\n <div class=\"search\">\n <form (submit)=\"executeSearch()\">\n <div class=\"title\" translate>eo.search</div>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n\n <div class=\"search-box\" [formGroup]=\"termForm\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput formControlName=\"term\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" (keydown.enter)=\"executeSearch()\" (paste)=\"autocompletePaste($event)\">\n </yvc-autocomplete>\n\n <ng-template #expertInput>\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\n </ng-template>\n\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\n <!--<span translate>eo.search.mode.expert</span>-->\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\n <ng-template #close>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\n </ng-template>\n </button>\n\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\n (click)=\"resetExpertModeInput()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\n </button>\n\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </div>\n </form>\n </div>\n\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\n <ng-template #spinner>\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\n </ng-template>\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu()\"></eo-icon>\n\n </div>\n\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\n\n <yvc-tabs (tabChange)=\"onTabChange($event)\">\n\n <!-- object type select -->\n <ng-template [yvcTab]=\"{id: 'restrictType', label: 'eo.search.restrict.type' | translate}\">\n\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\n *ngIf=\"objectTypeGroups && !idxSearch\">\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups; let i = index\">\n <div class=\"group-header\">\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\n <div class=\"move-icons\">\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-first\" (click)=\"moveObjectTypeGroup(group.label, 'first')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_last.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-icon\" (click)=\"moveObjectTypeGroup(group.label, 'left')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_left.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-icon\" (click)=\"moveObjectTypeGroup(group.label, 'right')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_right.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-last\" (click)=\"moveObjectTypeGroup(group.label, 'last')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_last.svg'\"></eo-icon>\n\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of group.types\"\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\n\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"item\" (click)=\"selectObjectType(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) +\n ')' : ''}}</div>\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\n <h2>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\n (click)=\"exitIndexdataSearch()\"></eo-icon>\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\n </h2>\n\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\n\n <div class=\"context-select\">\n <div translate>eo.search.objecttype.form.context</div>\n <div class=\"spacer\"></div>\n\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\n [selected]=\"currentContextFolderName === ctx.name\"\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\n </eo-context-search>\n </div>\n\n <section class=\"context form\">\n <eo-object-form class=\"dark\" #ctxform\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </section>\n </div>\n\n\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\n (statusChanged)=\"onIndexDataChanged($event)\" (onFormReady)=\"idxform.focusForm()\">\n </eo-object-form>\n </section>\n </div>\n </ng-template>\n\n <!-- created tab -->\n <ng-template [yvcTab]=\"{id: 'restrictCreated', label: 'eo.search.restrict.creation' | translate }\">\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #createdForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-creator\">\n <h3 translate>eo.search.agg.creator</h3>\n <form #creatorForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictModification', label: 'eo.search.restrict.modification' | translate}\">\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #modifiedForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-modifier\">\n <h3 translate>eo.search.agg.modifier</h3>\n <form #modifierForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\n [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictFile', label: 'eo.search.restrict.file' | translate}\">\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-mimetype-group\">\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"checkbox\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filesize\">\n <h3 translate>eo.search.restrict.filesize</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filename\">\n <h3 translate>eo.search.restrict.filename</h3>\n <form #filenameForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n </yvc-tabs>\n\n <!-- summary of the current search filters -->\n <div class=\"summary-panel\">\n\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\n <div class=\"spaceInbetwen\">\n <div class=\"savedSearchIcon\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n </div>\n <div class=\"store\">\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\n </div>\n </div>\n </div>\n\n <ng-template #reghead>\n <div class=\"headline\" translate>eo.search.aside.summary</div>\n </ng-template>\n\n <section class=\"query-types\">\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\n <div class=\"filter\">\n <div class=\"label\">{{query.term}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\n <div class=\"filter\" *ngFor=\"let type of query.types\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\n </div>\n </div>\n\n <ng-template #filterTemplate let-filter let-translate>\n <ng-container *ngIf=\"filter.innerValue.length\">\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\n <div class=\"label\">{{filter.label[i] | async}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\n </div>\n </ng-container>\n </ng-template>\n\n <div class=\"section section-creation\"\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue?.length || filtersModel[PARAMS.CREATOR].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.creation</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\n </div>\n\n <div class=\"section section-modification\"\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue?.length || filtersModel[PARAMS.MODIFIER].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.modification</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\n </div>\n\n <div class=\"section section-mimetypegroup\"\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\n <div class=\"title\" translate>eo.search.restrict.file</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\n </div>\n </section>\n\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\n\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-container>\n\n <ng-template #regactions>\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-template>\n\n\n </div>\n\n <ng-template #emptySearch>\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\n </ng-template>\n\n </div>\n\n\n </div>\n\n <!-- expert mode body panel containing explanations -->\n <ng-template #expert>\n <div class=\"body expert\">\n\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\n\n <!--\n <h2><span translate>eo.search.mode.expert</span></h2>\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\n\n <div class=\"base-params fields\">\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"system-types fields\">\n\n <div class=\"column column-group\">\n <h2 translate>eo.search.mode.expert.support.group</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\n (click)=\"xpSelectGroup(group)\">\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\n <h2 translate>eo.search.mode.expert.support.type</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\n (click)=\"xpSelectType(type)\">\n <div>{{type.label}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\n <h2 translate>eo.search.mode.expert.support.field</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n </div>\n\n -->\n </div>\n </ng-template>\n </div>\n <!-- </eo-dialog> -->\n</ng-template>\n", styles: ["eo-app-search dialog{height:100vh;margin:0!important;max-height:100vh;max-block-size:100%!important;min-width:500px;width:80%}@media screen and (max-width: 500px){.eo-app-search-dialog{width:100%!important;min-width:inherit}}.eo-app-search-dialog .eo-dialog-content{overflow:inherit;max-height:100%}.eo-app-search-dialog .eo-dialog-header{display:none}.eo-app-search.rtl .head .close{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-min-width: 500px;--search-box-max-width: 600px;--search-summary-width: 350px;width:80vw;height:100vh;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.eo-app-search .head{background:var(--color-primary-2);flex:0 0 auto;color:var(--color-white);position:relative;display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding) / 2);z-index:2;min-width:fill-available;min-width:-webkit-fill-available;min-width:-moz-available}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);min-height:1em;line-height:1em}@media screen and (max-width: 480px){.eo-app-search .head .search .title{font-size:var(--font-title)}}.eo-app-search .head .search .query-scope{margin:calc(var(--app-pane-padding) * 2) 0 0 0;min-width:var(--search-min-width);max-width:var(--search-box-max-width)}.eo-app-search .head .search .search-box{margin-bottom:var(--app-pane-padding);display:flex;flex-flow:row nowrap;align-items:stretch;background:var(--color-white);max-width:var(--search-box-max-width);box-shadow:0 2px 2px rgba(var(--color-black-rgb),.2)}@media screen and (max-width: 480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box yvc-autocomplete{flex:1 1 auto;background:transparent;outline:0;border:0}.eo-app-search .head .search .search-box yvc-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title)}.eo-app-search .head .search .search-box input::-ms-clear{display:none}.eo-app-search .head .search .search-box button[type=submit]{background:var(--color-accent);color:var(--color-white);border:0;padding:0 var(--app-pane-padding);font-size:var(--font-subhead)}.eo-app-search .head .search .search-box button.expert-mode{padding:0 calc(var(--app-pane-padding) / 2);background:transparent;border:0;color:var(--text-color-hint);display:flex;align-items:center}.eo-app-search .head .search .search-box button.expert-mode:focus{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;width:0;padding:0;transition:all .2s ease-in-out}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;width:40px;padding:0 8px}.eo-app-search .head .search .search-box button.expert-mode span{display:none;padding:calc(var(--app-pane-padding) / 4);white-space:nowrap;animation:eoFadeIn var(--app-default-transition-duration)}.eo-app-search .head .search .search-box button.expert-mode:hover{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode:hover span{display:block}.eo-app-search .head .result{position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) * 2.5);z-index:1;font-size:7em;line-height:1em;opacity:.1}@media screen and (max-width: 900px){.eo-app-search .head .result{font-size:3em;right:calc(var(--app-pane-padding) * 3);top:var(--app-pane-padding)}}.eo-app-search .head .search-aggregator__loader{z-index:11;position:absolute;right:13%;top:30%;-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}@media screen and (max-width: 900px){.eo-app-search .head .search-aggregator__loader{top:5%}}.eo-app-search .head .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);z-index:2}.eo-app-search .body{background:rgba(var(--color-white-rgb),.2);flex:1 1 auto;position:relative}@media screen and (max-width: 1000px){.eo-app-search .body .summary-panel{bottom:0;right:0!important;left:0!important;top:auto!important;width:auto!important;display:flex;flex-flow:row nowrap}.eo-app-search .body .summary-panel .headline:not(.stored-query),.eo-app-search .body .summary-panel .section{display:none}.eo-app-search .body .summary-panel .headline.stored-query{margin-bottom:0;display:flex;align-items:center;padding:0 var(--app-pane-padding)}.eo-app-search .body .summary-panel .headline.stored-query .pre{display:none}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-subhead)!important}.eo-app-search .body .summary-panel .actions{flex:1 1 auto}.eo-app-search .body yvc-tabs>section[role=tabpanel]{padding-right:0!important;padding-left:0!important}}.eo-app-search .body>yvc-tabs{position:absolute;inset:0}.eo-app-search .body>yvc-tabs>header{--text-color-body: #fff;--text-color-hint: rgba(255,255,255,.7);background:var(--color-primary-2)}.eo-app-search .body>yvc-tabs>section[role=tabpanel]{padding:calc(var(--app-pane-padding) - var(--app-pane-padding) / 2) calc(var(--app-pane-padding) * 2 + var(--search-summary-width)) 0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);width:var(--search-summary-width);position:absolute;top:calc(var(--app-pane-padding) + var(--eo-tab-nav-height));right:var(--app-pane-padding);box-sizing:border-box}.eo-app-search .body .summary-panel .query-types{overflow:auto;max-height:calc(100vh - 290px)}.eo-app-search .body .summary-panel .headline{line-height:1em;font-size:var(--font-subhead);font-weight:var(--font-weight-light);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .summary-panel .headline .spaceInbetwen{display:flex;align-items:center}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon{display:block;padding:calc(var(--app-pane-padding) / 4) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon eo-icon{--eoSvgIcon-size: 44px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store{display:block;min-height:0;min-width:0;padding-left:12px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .pre{padding:calc(var(--app-pane-padding) / 2) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .stored-query-name{font-size:var(--font-title);padding:calc(var(--app-pane-padding) / 2) 0;line-height:1.2em}.eo-app-search .body .summary-panel .headline.stored-query{background:var(--color-primary-3);color:var(--color-white);font-size:var(--font-body)}.eo-app-search .body .summary-panel .empty-search{padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .section{padding:calc(var(--app-pane-padding) / 2);max-height:calc(100vh - 280px);overflow-y:auto}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);padding-bottom:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .filter{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;background:rgba(var(--color-white-rgb),.6);margin-top:4px;align-items:center}.eo-app-search .body .summary-panel .filter .label{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;padding:0 0 0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .summary-panel .filter eo-icon{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 4);box-sizing:border-box;cursor:pointer;color:var(--text-color-hint)}.eo-app-search .body .summary-panel .filter eo-icon:hover{color:var(--text-color-caption)}.eo-app-search .body .summary-panel .actions{display:flex;justify-content:flex-end;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2 - 2px)}.eo-app-search .body .summary-panel .actions button{margin:0 2px;line-height:1em;font-size:var(--font-hint)}.eo-app-search .body .ui-tabview .ui-tabview-panel{padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .ui-tabview .ui-tabview-panel h2{margin:0 0 calc(var(--app-pane-padding) * 1.5) 0;padding:0;font-weight:var(--font-weight-light);font-size:var(--font-title);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container{display:flex;flex-flow:row wrap;align-items:stretch}.eo-app-search .body .rest-box-container .rest-box{margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2);background:var(--color-white);flex:1 1 auto}.eo-app-search .body .rest-box-container .rest-box h3{margin:0 0 var(--app-pane-padding) 0;padding:0;font-size:var(--font-caption);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item{display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);color:var(--text-color-body)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected{background:var(--color-primary-3);color:var(--color-white)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover{background:var(--list-item-hover-background)}.eo-app-search .body .rest-box-container .rest-box .label{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .rest-box-container .rest-box .count{font-size:var(--font-caption);min-width:30px;text-align:right;font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .group-header .move-icons{display:none}.eo-app-search .body .object-types .group .type{display:flex;flex-flow:row nowrap;align-items:center;padding:1px 0}.eo-app-search .body .object-types .group .type.context{font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .type.folder .item eo-icon{background:rgba(var(--color-black-rgb),.15)}.eo-app-search .body .object-types .group .type.folder .item:hover eo-icon{background:rgba(var(--color-white-rgb),.3)}.eo-app-search .body .object-types .group .type.abstract .item{color:var(--text-color-caption)}.eo-app-search .body .object-types .group .type.abstract .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .group .type .item{display:flex;flex:1 1 auto;border-radius:2px;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);cursor:default;color:var(--text-color-body)}.eo-app-search .body .object-types .group .type .item eo-icon{color:var(--text-color-caption);width:16px;height:16px;box-sizing:content-box;padding:2px;border-radius:2px;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.eo-app-search .body .object-types .group:hover .group-header{display:flex;justify-content:space-between}.eo-app-search .body .object-types .group:hover .group-header .move-icons{display:flex}.eo-app-search .body .object-types .group:hover .group-header .move-left-icon,.eo-app-search .body .object-types .group:hover .group-header .move-right-icon,.eo-app-search .body .object-types .group:hover .group-header .move-left-first,.eo-app-search .body .object-types .group:hover .group-header .move-right-last{cursor:pointer;color:var(--text-color-caption)}.eo-app-search .body .object-types .group:hover .group-header .move-left-first{transform:rotate(180deg)}.eo-app-search .body .object-types .type .item{cursor:pointer}.eo-app-search .body .object-types .type .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .type .item:hover eo-icon{color:var(--panel-background)}.eo-app-search .body .indexdata-search{padding:calc(var(--app-pane-padding) / 2) 0 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .indexdata-search h2{display:flex;flex-flow:row;align-items:center}.eo-app-search .body .indexdata-search h2 eo-icon{margin:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .indexdata-search h2 span{padding:0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .indexdata-search .context{margin-bottom:var(--app-pane-padding)}.eo-app-search .body .indexdata-search .context .context-select{display:flex;align-items:center;flex-flow:row wrap;padding-bottom:1px}.eo-app-search .body .indexdata-search .context .context-select .spacer{width:var(--app-pane-padding)}.eo-app-search .body .indexdata-search eo-object-form{border:1px solid rgba(var(--color-black-rgb),.1)}.eo-app-search .body .indexdata-search eo-object-form.dark{display:block;background-color:var(--color-primary-2)}.eo-app-search.rtl{left:0;right:0;animation:appSearchAppearRTL var(--app-default-transition-duration)}.eo-app-search.rtl .head .result,.eo-app-search.rtl .body .summary-panel{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body yvc-tabs{padding-right:0;padding-left:calc(var(--app-pane-padding) * 2 + var(--search-summary-width));padding-bottom:0;padding-top:0}.eo-app-search.expert .head .result{display:none}.eo-app-search.expert .head .search .search-box{max-width:100%}.eo-app-search.expert .head .search .search-box button.expert-mode{color:var(--color-accent)}.eo-app-search.expert .body{background:var(--color-primary-2);color:var(--color-white);display:flex;flex-flow:column}.eo-app-search.expert .body h2{flex:0 0 auto;padding:0;margin:var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}.eo-app-search.expert .body h2 span{padding:calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:4px solid var(--color-accent)}.eo-app-search.expert .body .intro{flex:0 0 auto;padding:var(--app-pane-padding)}.eo-app-search.expert .body .empty{flex:0 0 auto;padding:0 var(--app-pane-padding)}.eo-app-search.expert .body .empty span{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px;background:var(--color-error);color:var(--color-white)}.eo-app-search.expert .body .fields h2{margin:calc(var(--app-pane-padding) / 2);flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-white-rgb),.3)}.eo-app-search.expert .body .fields .item{padding:calc(var(--app-pane-padding) / 2);cursor:pointer;border-radius:2px;background:rgba(var(--color-white-rgb),.06);margin-bottom:4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item:hover,.eo-app-search.expert .body .fields .item.selected{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{font-weight:var(--font-weight-bold);display:flex;justify-content:space-between}.eo-app-search.expert .body .fields .item .label .type{font-size:var(--font-hint);opacity:.5}.eo-app-search.expert .body .fields .item .data{opacity:.75}.eo-app-search.expert .body .base-params{padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .base-params .items{display:flex;flex-flow:row wrap;padding:calc(var(--app-pane-padding) / 4)}.eo-app-search.expert .body .base-params .items .item{margin:calc(var(--app-pane-padding) / 4)}.eo-app-search.expert .body .system-types{flex:1 1 auto;display:flex;flex-flow:row;justify-content:flex-start;align-items:stretch;padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .system-types .column{flex:0 0 33%;box-sizing:border-box;display:flex;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{padding:calc(var(--app-pane-padding) / 2);flex:1 1 auto;overflow-y:auto}.eo-app-search.expert .body .system-types .column .items::-webkit-scrollbar-thumb{background-color:rgba(var(--color-white-rgb),.1)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox,.eo-app-search .body .rest-box-container .rest-box .type .checkbox{width:20px;height:20px;cursor:pointer;border:1px solid var(--text-color-hint);border-radius:2px;margin:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type .checkbox svg{opacity:0}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover{border-color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover svg,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover svg{fill:var(--text-color-body);opacity:.3}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox{background:var(--color-primary-3);border-color:var(--color-primary-3)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox svg{fill:var(--color-white)!important;opacity:1}.eo-app-search .body .rest-box-container .rest-box .rest-item.saved .count,.eo-app-search .body .rest-box-container .rest-box .type.saved .count{font-weight:var(--font-weight-normal)}@keyframes appSearchAppear{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: QueryScopeSelectComponent, selector: "eo-query-scope-select", inputs: ["selection"], outputs: ["select"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: DatetimeRangeComponent, selector: "eo-datetime-range", inputs: ["withTime", "pickerTitle", "operator"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ContextSearchComponent, selector: "eo-context-search", inputs: ["ctx", "query", "idxSearch", "selected", "disabled"], outputs: ["setContext"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDecimalPipe, name: "localeDecimal" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17243
16775
|
};
|
|
17244
16776
|
AppSearchComponent = __decorate([
|
|
17245
16777
|
UntilDestroy()
|
|
17246
16778
|
], AppSearchComponent);
|
|
17247
16779
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppSearchComponent, decorators: [{
|
|
17248
16780
|
type: Component,
|
|
17249
|
-
args: [{ selector: 'eo-app-search', encapsulation: ViewEncapsulation.None, template: "<!-- <eo-dialog [visible]=\"true\" [styleClass]=\"'eo-app-search-dialog'\" [align]=\"'start'\" [minWidth]=\"'80vw'\"\n [minHeight]=\"'100vh'\" (hide)=\"closeSearchMenu($event)\"> -->\n<!-- <yvc-dialog [options]=\"{lightDismiss: true}\" [template]=\"tplSearch\" (closed)=\"closeSearchMenu()\"></yvc-dialog> -->\n<ng-template #tplSearch>\n\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\n\n <div class=\"head\">\n\n <div class=\"search\">\n <form (submit)=\"executeSearch()\">\n <div class=\"title\" translate>eo.search</div>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n\n <div class=\"search-box\" [formGroup]=\"termForm\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput formControlName=\"term\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" (keydown.enter)=\"executeSearch()\" (paste)=\"autocompletePaste($event)\">\n </yvc-autocomplete>\n\n <ng-template #expertInput>\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\n </ng-template>\n\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\n <!--<span translate>eo.search.mode.expert</span>-->\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\n <ng-template #close>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\n </ng-template>\n </button>\n\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\n (click)=\"resetExpertModeInput()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\n </button>\n\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </div>\n </form>\n </div>\n\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\n <ng-template #spinner>\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\n </ng-template>\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu()\"></eo-icon>\n\n </div>\n\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\n\n <yvc-tabs (tabChange)=\"onTabChange($event)\">\n\n <!-- object type select -->\n <ng-template [yvcTab]=\"{id: 'restrictType', label: 'eo.search.restrict.type' | translate}\">\n\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\n *ngIf=\"objectTypeGroups && !idxSearch\">\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups; let i = index\">\n <div class=\"group-header\">\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\n <div class=\"move-icons\">\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-icon\" (click)=\"moveObjectTypeGroup(group.label, 'left')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_left.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-icon\" (click)=\"moveObjectTypeGroup(group.label, 'right')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_right.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of group.types\"\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\n\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"item\" (click)=\"selectObjectType(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) +\n ')' : ''}}</div>\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\n <h2>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\n (click)=\"exitIndexdataSearch()\"></eo-icon>\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\n </h2>\n\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\n\n <div class=\"context-select\">\n <div translate>eo.search.objecttype.form.context</div>\n <div class=\"spacer\"></div>\n\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\n [selected]=\"currentContextFolderName === ctx.name\"\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\n </eo-context-search>\n </div>\n\n <section class=\"context form\">\n <eo-object-form class=\"dark\" #ctxform\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </section>\n </div>\n\n\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\n (statusChanged)=\"onIndexDataChanged($event)\" (onFormReady)=\"idxform.focusForm()\">\n </eo-object-form>\n </section>\n </div>\n </ng-template>\n\n <!-- created tab -->\n <ng-template [yvcTab]=\"{id: 'restrictCreated', label: 'eo.search.restrict.creation' | translate }\">\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #createdForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-creator\">\n <h3 translate>eo.search.agg.creator</h3>\n <form #creatorForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictModification', label: 'eo.search.restrict.modification' | translate}\">\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #modifiedForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-modifier\">\n <h3 translate>eo.search.agg.modifier</h3>\n <form #modifierForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\n [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictFile', label: 'eo.search.restrict.file' | translate}\">\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-mimetype-group\">\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"checkbox\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filesize\">\n <h3 translate>eo.search.restrict.filesize</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filename\">\n <h3 translate>eo.search.restrict.filename</h3>\n <form #filenameForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n </yvc-tabs>\n\n <!-- summary of the current search filters -->\n <div class=\"summary-panel\">\n\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\n <div class=\"spaceInbetwen\">\n <div class=\"savedSearchIcon\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n </div>\n <div class=\"store\">\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\n </div>\n </div>\n </div>\n\n <ng-template #reghead>\n <div class=\"headline\" translate>eo.search.aside.summary</div>\n </ng-template>\n\n <section class=\"query-types\">\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\n <div class=\"filter\">\n <div class=\"label\">{{query.term}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\n <div class=\"filter\" *ngFor=\"let type of query.types\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\n </div>\n </div>\n\n <ng-template #filterTemplate let-filter let-translate>\n <ng-container *ngIf=\"filter.innerValue.length\">\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\n <div class=\"label\">{{filter.label[i] | async}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\n </div>\n </ng-container>\n </ng-template>\n\n <div class=\"section section-creation\"\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue?.length || filtersModel[PARAMS.CREATOR].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.creation</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\n </div>\n\n <div class=\"section section-modification\"\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue?.length || filtersModel[PARAMS.MODIFIER].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.modification</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\n </div>\n\n <div class=\"section section-mimetypegroup\"\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\n <div class=\"title\" translate>eo.search.restrict.file</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\n </div>\n </section>\n\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\n\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-container>\n\n <ng-template #regactions>\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-template>\n\n\n </div>\n\n <ng-template #emptySearch>\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\n </ng-template>\n\n </div>\n\n\n </div>\n\n <!-- expert mode body panel containing explanations -->\n <ng-template #expert>\n <div class=\"body expert\">\n\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\n\n <!--\n <h2><span translate>eo.search.mode.expert</span></h2>\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\n\n <div class=\"base-params fields\">\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"system-types fields\">\n\n <div class=\"column column-group\">\n <h2 translate>eo.search.mode.expert.support.group</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\n (click)=\"xpSelectGroup(group)\">\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\n <h2 translate>eo.search.mode.expert.support.type</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\n (click)=\"xpSelectType(type)\">\n <div>{{type.label}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\n <h2 translate>eo.search.mode.expert.support.field</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n </div>\n\n -->\n </div>\n </ng-template>\n </div>\n <!-- </eo-dialog> -->\n</ng-template>\n", styles: ["eo-app-search dialog{height:100vh;margin:0!important;max-height:100vh;max-block-size:100%!important;min-width:500px;width:80%}@media screen and (max-width: 500px){.eo-app-search-dialog{width:100%!important;min-width:inherit}}.eo-app-search-dialog .eo-dialog-content{overflow:inherit;max-height:100%}.eo-app-search-dialog .eo-dialog-header{display:none}.eo-app-search.rtl .head .close{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-min-width: 500px;--search-box-max-width: 600px;--search-summary-width: 350px;width:80vw;height:100vh;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.eo-app-search .head{background:var(--color-primary-2);flex:0 0 auto;color:var(--color-white);position:relative;display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding) / 2);z-index:2;min-width:fill-available;min-width:-webkit-fill-available;min-width:-moz-available}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);min-height:1em;line-height:1em}@media screen and (max-width: 480px){.eo-app-search .head .search .title{font-size:var(--font-title)}}.eo-app-search .head .search .query-scope{margin:calc(var(--app-pane-padding) * 2) 0 0 0;min-width:var(--search-min-width);max-width:var(--search-box-max-width)}.eo-app-search .head .search .search-box{margin-bottom:var(--app-pane-padding);display:flex;flex-flow:row nowrap;align-items:stretch;background:var(--color-white);max-width:var(--search-box-max-width);box-shadow:0 2px 2px rgba(var(--color-black-rgb),.2)}@media screen and (max-width: 480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box yvc-autocomplete{flex:1 1 auto;background:transparent;outline:0;border:0}.eo-app-search .head .search .search-box yvc-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title)}.eo-app-search .head .search .search-box input::-ms-clear{display:none}.eo-app-search .head .search .search-box button[type=submit]{background:var(--color-accent);color:var(--color-white);border:0;padding:0 var(--app-pane-padding);font-size:var(--font-subhead)}.eo-app-search .head .search .search-box button.expert-mode{padding:0 calc(var(--app-pane-padding) / 2);background:transparent;border:0;color:var(--text-color-hint);display:flex;align-items:center}.eo-app-search .head .search .search-box button.expert-mode:focus{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;width:0;padding:0;transition:all .2s ease-in-out}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;width:40px;padding:0 8px}.eo-app-search .head .search .search-box button.expert-mode span{display:none;padding:calc(var(--app-pane-padding) / 4);white-space:nowrap;animation:eoFadeIn var(--app-default-transition-duration)}.eo-app-search .head .search .search-box button.expert-mode:hover{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode:hover span{display:block}.eo-app-search .head .result{position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) * 2.5);z-index:1;font-size:7em;line-height:1em;opacity:.1}@media screen and (max-width: 900px){.eo-app-search .head .result{font-size:3em;right:calc(var(--app-pane-padding) * 3);top:var(--app-pane-padding)}}.eo-app-search .head .search-aggregator__loader{z-index:11;position:absolute;right:13%;top:30%;-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}@media screen and (max-width: 900px){.eo-app-search .head .search-aggregator__loader{top:5%}}.eo-app-search .head .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);z-index:2}.eo-app-search .body{background:rgba(var(--color-white-rgb),.2);flex:1 1 auto;position:relative}@media screen and (max-width: 1000px){.eo-app-search .body .summary-panel{bottom:0;right:0!important;left:0!important;top:auto!important;width:auto!important;display:flex;flex-flow:row nowrap}.eo-app-search .body .summary-panel .headline:not(.stored-query),.eo-app-search .body .summary-panel .section{display:none}.eo-app-search .body .summary-panel .headline.stored-query{margin-bottom:0;display:flex;align-items:center;padding:0 var(--app-pane-padding)}.eo-app-search .body .summary-panel .headline.stored-query .pre{display:none}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-subhead)!important}.eo-app-search .body .summary-panel .actions{flex:1 1 auto}.eo-app-search .body yvc-tabs>section[role=tabpanel]{padding-right:0!important;padding-left:0!important}}.eo-app-search .body>yvc-tabs{position:absolute;inset:0}.eo-app-search .body>yvc-tabs>header{--text-color-body: #fff;--text-color-hint: rgba(255,255,255,.7);background:var(--color-primary-2)}.eo-app-search .body>yvc-tabs>section[role=tabpanel]{padding:calc(var(--app-pane-padding) - var(--app-pane-padding) / 2) calc(var(--app-pane-padding) * 2 + var(--search-summary-width)) 0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);width:var(--search-summary-width);position:absolute;top:calc(var(--app-pane-padding) + var(--eo-tab-nav-height));right:var(--app-pane-padding);box-sizing:border-box}.eo-app-search .body .summary-panel .query-types{overflow:auto;max-height:calc(100vh - 290px)}.eo-app-search .body .summary-panel .headline{line-height:1em;font-size:var(--font-subhead);font-weight:var(--font-weight-light);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .summary-panel .headline .spaceInbetwen{display:flex;align-items:center}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon{display:block;padding:calc(var(--app-pane-padding) / 4) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon eo-icon{--eoSvgIcon-size: 44px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store{display:block;min-height:0;min-width:0;padding-left:12px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .pre{padding:calc(var(--app-pane-padding) / 2) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .stored-query-name{font-size:var(--font-title);padding:calc(var(--app-pane-padding) / 2) 0;line-height:1.2em}.eo-app-search .body .summary-panel .headline.stored-query{background:var(--color-primary-3);color:var(--color-white);font-size:var(--font-body)}.eo-app-search .body .summary-panel .empty-search{padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .section{padding:calc(var(--app-pane-padding) / 2);max-height:calc(100vh - 280px);overflow-y:auto}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);padding-bottom:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .filter{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;background:rgba(var(--color-white-rgb),.6);margin-top:4px;align-items:center}.eo-app-search .body .summary-panel .filter .label{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;padding:0 0 0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .summary-panel .filter eo-icon{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 4);box-sizing:border-box;cursor:pointer;color:var(--text-color-hint)}.eo-app-search .body .summary-panel .filter eo-icon:hover{color:var(--text-color-caption)}.eo-app-search .body .summary-panel .actions{display:flex;justify-content:flex-end;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2 - 2px)}.eo-app-search .body .summary-panel .actions button{margin:0 2px;line-height:1em;font-size:var(--font-hint)}.eo-app-search .body .ui-tabview .ui-tabview-panel{padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .ui-tabview .ui-tabview-panel h2{margin:0 0 calc(var(--app-pane-padding) * 1.5) 0;padding:0;font-weight:var(--font-weight-light);font-size:var(--font-title);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container{display:flex;flex-flow:row wrap;align-items:stretch}.eo-app-search .body .rest-box-container .rest-box{margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2);background:var(--color-white);flex:1 1 auto}.eo-app-search .body .rest-box-container .rest-box h3{margin:0 0 var(--app-pane-padding) 0;padding:0;font-size:var(--font-caption);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item{display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);color:var(--text-color-body)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected{background:var(--color-primary-3);color:var(--color-white)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover{background:var(--list-item-hover-background)}.eo-app-search .body .rest-box-container .rest-box .label{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .rest-box-container .rest-box .count{font-size:var(--font-caption);min-width:30px;text-align:right;font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .group-header .move-icons{display:none}.eo-app-search .body .object-types .group .type{display:flex;flex-flow:row nowrap;align-items:center;padding:1px 0}.eo-app-search .body .object-types .group .type.context{font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .type.folder .item eo-icon{background:rgba(var(--color-black-rgb),.15)}.eo-app-search .body .object-types .group .type.folder .item:hover eo-icon{background:rgba(var(--color-white-rgb),.3)}.eo-app-search .body .object-types .group .type.abstract .item{color:var(--text-color-caption)}.eo-app-search .body .object-types .group .type.abstract .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .group .type .item{display:flex;flex:1 1 auto;border-radius:2px;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);cursor:default;color:var(--text-color-body)}.eo-app-search .body .object-types .group .type .item eo-icon{color:var(--text-color-caption);width:16px;height:16px;box-sizing:content-box;padding:2px;border-radius:2px;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.eo-app-search .body .object-types .group:hover .group-header{display:flex;justify-content:space-between}.eo-app-search .body .object-types .group:hover .group-header .move-icons{display:flex}.eo-app-search .body .object-types .group:hover .group-header .move-left-icon,.eo-app-search .body .object-types .group:hover .group-header .move-right-icon{cursor:pointer;color:var(--text-color-caption)}.eo-app-search .body .object-types .type .item{cursor:pointer}.eo-app-search .body .object-types .type .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .type .item:hover eo-icon{color:var(--panel-background)}.eo-app-search .body .indexdata-search{padding:calc(var(--app-pane-padding) / 2) 0 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .indexdata-search h2{display:flex;flex-flow:row;align-items:center}.eo-app-search .body .indexdata-search h2 eo-icon{margin:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .indexdata-search h2 span{padding:0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .indexdata-search .context{margin-bottom:var(--app-pane-padding)}.eo-app-search .body .indexdata-search .context .context-select{display:flex;align-items:center;flex-flow:row wrap;padding-bottom:1px}.eo-app-search .body .indexdata-search .context .context-select .spacer{width:var(--app-pane-padding)}.eo-app-search .body .indexdata-search eo-object-form{border:1px solid rgba(var(--color-black-rgb),.1)}.eo-app-search .body .indexdata-search eo-object-form.dark{display:block;background-color:var(--color-primary-2)}.eo-app-search.rtl{left:0;right:0;animation:appSearchAppearRTL var(--app-default-transition-duration)}.eo-app-search.rtl .head .result,.eo-app-search.rtl .body .summary-panel{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body yvc-tabs{padding-right:0;padding-left:calc(var(--app-pane-padding) * 2 + var(--search-summary-width));padding-bottom:0;padding-top:0}.eo-app-search.expert .head .result{display:none}.eo-app-search.expert .head .search .search-box{max-width:100%}.eo-app-search.expert .head .search .search-box button.expert-mode{color:var(--color-accent)}.eo-app-search.expert .body{background:var(--color-primary-2);color:var(--color-white);display:flex;flex-flow:column}.eo-app-search.expert .body h2{flex:0 0 auto;padding:0;margin:var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}.eo-app-search.expert .body h2 span{padding:calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:4px solid var(--color-accent)}.eo-app-search.expert .body .intro{flex:0 0 auto;padding:var(--app-pane-padding)}.eo-app-search.expert .body .empty{flex:0 0 auto;padding:0 var(--app-pane-padding)}.eo-app-search.expert .body .empty span{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px;background:var(--color-error);color:var(--color-white)}.eo-app-search.expert .body .fields h2{margin:calc(var(--app-pane-padding) / 2);flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-white-rgb),.3)}.eo-app-search.expert .body .fields .item{padding:calc(var(--app-pane-padding) / 2);cursor:pointer;border-radius:2px;background:rgba(var(--color-white-rgb),.06);margin-bottom:4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item:hover,.eo-app-search.expert .body .fields .item.selected{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{font-weight:var(--font-weight-bold);display:flex;justify-content:space-between}.eo-app-search.expert .body .fields .item .label .type{font-size:var(--font-hint);opacity:.5}.eo-app-search.expert .body .fields .item .data{opacity:.75}.eo-app-search.expert .body .base-params{padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .base-params .items{display:flex;flex-flow:row wrap;padding:calc(var(--app-pane-padding) / 4)}.eo-app-search.expert .body .base-params .items .item{margin:calc(var(--app-pane-padding) / 4)}.eo-app-search.expert .body .system-types{flex:1 1 auto;display:flex;flex-flow:row;justify-content:flex-start;align-items:stretch;padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .system-types .column{flex:0 0 33%;box-sizing:border-box;display:flex;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{padding:calc(var(--app-pane-padding) / 2);flex:1 1 auto;overflow-y:auto}.eo-app-search.expert .body .system-types .column .items::-webkit-scrollbar-thumb{background-color:rgba(var(--color-white-rgb),.1)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox,.eo-app-search .body .rest-box-container .rest-box .type .checkbox{width:20px;height:20px;cursor:pointer;border:1px solid var(--text-color-hint);border-radius:2px;margin:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type .checkbox svg{opacity:0}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover{border-color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover svg,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover svg{fill:var(--text-color-body);opacity:.3}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox{background:var(--color-primary-3);border-color:var(--color-primary-3)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox svg{fill:var(--color-white)!important;opacity:1}.eo-app-search .body .rest-box-container .rest-box .rest-item.saved .count,.eo-app-search .body .rest-box-container .rest-box .type.saved .count{font-weight:var(--font-weight-normal)}@keyframes appSearchAppear{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}\n"] }]
|
|
16781
|
+
args: [{ selector: 'eo-app-search', encapsulation: ViewEncapsulation.None, template: "<!-- <eo-dialog [visible]=\"true\" [styleClass]=\"'eo-app-search-dialog'\" [align]=\"'start'\" [minWidth]=\"'80vw'\"\n [minHeight]=\"'100vh'\" (hide)=\"closeSearchMenu($event)\"> -->\n<!-- <yvc-dialog [options]=\"{lightDismiss: true}\" [template]=\"tplSearch\" (closed)=\"closeSearchMenu()\"></yvc-dialog> -->\n<ng-template #tplSearch>\n\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\n\n <div class=\"head\">\n\n <div class=\"search\">\n <form (submit)=\"executeSearch()\">\n <div class=\"title\" translate>eo.search</div>\n\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n\n <div class=\"search-box\" [formGroup]=\"termForm\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput formControlName=\"term\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" (keydown.enter)=\"executeSearch()\" (paste)=\"autocompletePaste($event)\">\n </yvc-autocomplete>\n\n <ng-template #expertInput>\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\n </ng-template>\n\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\n <!--<span translate>eo.search.mode.expert</span>-->\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\n <ng-template #close>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\n </ng-template>\n </button>\n\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\n (click)=\"resetExpertModeInput()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\n </button>\n\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </div>\n </form>\n </div>\n\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\n <ng-template #spinner>\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\n </ng-template>\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu()\"></eo-icon>\n\n </div>\n\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\n\n <yvc-tabs (tabChange)=\"onTabChange($event)\">\n\n <!-- object type select -->\n <ng-template [yvcTab]=\"{id: 'restrictType', label: 'eo.search.restrict.type' | translate}\">\n\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\n *ngIf=\"objectTypeGroups && !idxSearch\">\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups; let i = index\">\n <div class=\"group-header\">\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\n <div class=\"move-icons\">\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-first\" (click)=\"moveObjectTypeGroup(group.label, 'first')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_last.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== 0\" class=\"move-left-icon\" (click)=\"moveObjectTypeGroup(group.label, 'left')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_left.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-icon\" (click)=\"moveObjectTypeGroup(group.label, 'right')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_right.svg'\"></eo-icon>\n <eo-icon *ngIf=\"i !== objectTypeGroups.length - 1\" class=\"move-right-last\" (click)=\"moveObjectTypeGroup(group.label, 'last')\" [iconSrc]=\"'assets/_default/svg/ic_arrow_last.svg'\"></eo-icon>\n\n </div>\n </div>\n <div class=\"type\" *ngFor=\"let type of group.types\"\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\n\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"item\" (click)=\"selectObjectType(type)\">\n <eo-icon [objectType]=\"type\"></eo-icon>\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) +\n ')' : ''}}</div>\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\n <h2>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\n (click)=\"exitIndexdataSearch()\"></eo-icon>\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\n </h2>\n\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\n\n <div class=\"context-select\">\n <div translate>eo.search.objecttype.form.context</div>\n <div class=\"spacer\"></div>\n\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\n [selected]=\"currentContextFolderName === ctx.name\"\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\n </eo-context-search>\n </div>\n\n <section class=\"context form\">\n <eo-object-form class=\"dark\" #ctxform\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-object-form>\n </section>\n </div>\n\n\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\n (statusChanged)=\"onIndexDataChanged($event)\" (onFormReady)=\"idxform.focusForm()\">\n </eo-object-form>\n </section>\n </div>\n </ng-template>\n\n <!-- created tab -->\n <ng-template [yvcTab]=\"{id: 'restrictCreated', label: 'eo.search.restrict.creation' | translate }\">\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #createdForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-creator\">\n <h3 translate>eo.search.agg.creator</h3>\n <form #creatorForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictModification', label: 'eo.search.restrict.modification' | translate}\">\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-timespan\">\n <h3 translate>eo.search.agg.time.span</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-timespan-custom\">\n <h3 translate>eo.search.agg.time.span.custom</h3>\n <form #modifiedForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\n </eo-datetime-range>\n </eo-form-input>\n </form>\n </div>\n\n <div class=\"rest-box box-modifier\">\n <h3 translate>eo.search.agg.modifier</h3>\n <form #modifierForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\n [situation]=\"'SEARCH'\"\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'restrictFile', label: 'eo.search.restrict.file' | translate}\">\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\n\n <div class=\"rest-box box-mimetype-group\">\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"checkbox\">\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </svg>\n </div>\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filesize\">\n <h3 translate>eo.search.restrict.filesize</h3>\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\n <div class=\"label\">{{agg.label}}</div>\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\n </div>\n </div>\n\n <div class=\"rest-box box-filename\">\n <h3 translate>eo.search.restrict.filename</h3>\n <form #filenameForm=\"ngForm\">\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\n </eo-form-input>\n </form>\n </div>\n </div>\n </ng-template>\n </yvc-tabs>\n\n <!-- summary of the current search filters -->\n <div class=\"summary-panel\">\n\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\n <div class=\"spaceInbetwen\">\n <div class=\"savedSearchIcon\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n </div>\n <div class=\"store\">\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\n </div>\n </div>\n </div>\n\n <ng-template #reghead>\n <div class=\"headline\" translate>eo.search.aside.summary</div>\n </ng-template>\n\n <section class=\"query-types\">\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\n <div class=\"filter\">\n <div class=\"label\">{{query.term}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\n <div class=\"filter\" *ngFor=\"let type of query.types\">\n <div class=\"label\">{{type.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\n </div>\n </div>\n\n <ng-template #filterTemplate let-filter let-translate>\n <ng-container *ngIf=\"filter.innerValue.length\">\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\n <div class=\"label\">{{filter.label[i] | async}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\n </div>\n </ng-container>\n </ng-template>\n\n <div class=\"section section-creation\"\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue?.length || filtersModel[PARAMS.CREATOR].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.creation</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\n </div>\n\n <div class=\"section section-modification\"\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue?.length || filtersModel[PARAMS.MODIFIER].innerValue?.length\">\n <div class=\"title\" translate>eo.search.restrict.modification</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\n </div>\n\n <div class=\"section section-mimetypegroup\"\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\n <div class=\"title\" translate>eo.search.restrict.file</div>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\n </div>\n </section>\n\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\n\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-container>\n\n <ng-template #regactions>\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\n translate>eo.search.submit</button>\n </ng-template>\n\n\n </div>\n\n <ng-template #emptySearch>\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\n </ng-template>\n\n </div>\n\n\n </div>\n\n <!-- expert mode body panel containing explanations -->\n <ng-template #expert>\n <div class=\"body expert\">\n\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\n\n <!--\n <h2><span translate>eo.search.mode.expert</span></h2>\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\n\n <div class=\"base-params fields\">\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"system-types fields\">\n\n <div class=\"column column-group\">\n <h2 translate>eo.search.mode.expert.support.group</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\n (click)=\"xpSelectGroup(group)\">\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\n <h2 translate>eo.search.mode.expert.support.type</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\n (click)=\"xpSelectType(type)\">\n <div>{{type.label}}</div>\n </div>\n </div>\n </div>\n\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\n <h2 translate>eo.search.mode.expert.support.field</h2>\n <div class=\"items\">\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\n <div class=\"data\">{{el.data}}</div>\n </div>\n </div>\n </div>\n\n </div>\n\n -->\n </div>\n </ng-template>\n </div>\n <!-- </eo-dialog> -->\n</ng-template>\n", styles: ["eo-app-search dialog{height:100vh;margin:0!important;max-height:100vh;max-block-size:100%!important;min-width:500px;width:80%}@media screen and (max-width: 500px){.eo-app-search-dialog{width:100%!important;min-width:inherit}}.eo-app-search-dialog .eo-dialog-content{overflow:inherit;max-height:100%}.eo-app-search-dialog .eo-dialog-header{display:none}.eo-app-search.rtl .head .close{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body .indexdata-search h2 eo-icon{transform:rotate(180deg)}.eo-app-search{--search-min-width: 500px;--search-box-max-width: 600px;--search-summary-width: 350px;width:80vw;height:100vh;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.eo-app-search .head{background:var(--color-primary-2);flex:0 0 auto;color:var(--color-white);position:relative;display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .head .search{flex:1 1 auto;justify-content:space-between;margin:0 calc(var(--app-pane-padding) / 2);z-index:2;min-width:fill-available;min-width:-webkit-fill-available;min-width:-moz-available}.eo-app-search .head .search .title{font-size:var(--font-display);font-weight:var(--font-weight-light);min-height:1em;line-height:1em}@media screen and (max-width: 480px){.eo-app-search .head .search .title{font-size:var(--font-title)}}.eo-app-search .head .search .query-scope{margin:calc(var(--app-pane-padding) * 2) 0 0 0;min-width:var(--search-min-width);max-width:var(--search-box-max-width)}.eo-app-search .head .search .search-box{margin-bottom:var(--app-pane-padding);display:flex;flex-flow:row nowrap;align-items:stretch;background:var(--color-white);max-width:var(--search-box-max-width);box-shadow:0 2px 2px rgba(var(--color-black-rgb),.2)}@media screen and (max-width: 480px){.eo-app-search .head .search .search-box{margin-top:var(--app-pane-padding)}}.eo-app-search .head .search .search-box yvc-autocomplete{flex:1 1 auto;background:transparent;outline:0;border:0}.eo-app-search .head .search .search-box yvc-autocomplete span.ui-autocomplete{width:100%}.eo-app-search .head .search .search-box input{width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title)}.eo-app-search .head .search .search-box input::-ms-clear{display:none}.eo-app-search .head .search .search-box button[type=submit]{background:var(--color-accent);color:var(--color-white);border:0;padding:0 var(--app-pane-padding);font-size:var(--font-subhead)}.eo-app-search .head .search .search-box button.expert-mode{padding:0 calc(var(--app-pane-padding) / 2);background:transparent;border:0;color:var(--text-color-hint);display:flex;align-items:center}.eo-app-search .head .search .search-box button.expert-mode:focus{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode__reset{opacity:0;width:0;padding:0;transition:all .2s ease-in-out}.eo-app-search .head .search .search-box button.expert-mode__reset.active{opacity:1;width:40px;padding:0 8px}.eo-app-search .head .search .search-box button.expert-mode span{display:none;padding:calc(var(--app-pane-padding) / 4);white-space:nowrap;animation:eoFadeIn var(--app-default-transition-duration)}.eo-app-search .head .search .search-box button.expert-mode:hover{color:var(--color-accent)}.eo-app-search .head .search .search-box button.expert-mode:hover span{display:block}.eo-app-search .head .result{position:absolute;right:var(--app-pane-padding);top:calc(var(--app-pane-padding) * 2.5);z-index:1;font-size:7em;line-height:1em;opacity:.1}@media screen and (max-width: 900px){.eo-app-search .head .result{font-size:3em;right:calc(var(--app-pane-padding) * 3);top:var(--app-pane-padding)}}.eo-app-search .head .search-aggregator__loader{z-index:11;position:absolute;right:13%;top:30%;-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}@media screen and (max-width: 900px){.eo-app-search .head .search-aggregator__loader{top:5%}}.eo-app-search .head .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);z-index:2}.eo-app-search .body{background:rgba(var(--color-white-rgb),.2);flex:1 1 auto;position:relative}@media screen and (max-width: 1000px){.eo-app-search .body .summary-panel{bottom:0;right:0!important;left:0!important;top:auto!important;width:auto!important;display:flex;flex-flow:row nowrap}.eo-app-search .body .summary-panel .headline:not(.stored-query),.eo-app-search .body .summary-panel .section{display:none}.eo-app-search .body .summary-panel .headline.stored-query{margin-bottom:0;display:flex;align-items:center;padding:0 var(--app-pane-padding)}.eo-app-search .body .summary-panel .headline.stored-query .pre{display:none}.eo-app-search .body .summary-panel .headline.stored-query .stored-query-name{font-size:var(--font-subhead)!important}.eo-app-search .body .summary-panel .actions{flex:1 1 auto}.eo-app-search .body yvc-tabs>section[role=tabpanel]{padding-right:0!important;padding-left:0!important}}.eo-app-search .body>yvc-tabs{position:absolute;inset:0}.eo-app-search .body>yvc-tabs>header{--text-color-body: #fff;--text-color-hint: rgba(255,255,255,.7);background:var(--color-primary-2)}.eo-app-search .body>yvc-tabs>section[role=tabpanel]{padding:calc(var(--app-pane-padding) - var(--app-pane-padding) / 2) calc(var(--app-pane-padding) * 2 + var(--search-summary-width)) 0 calc(var(--app-pane-padding) - 2px)}.eo-app-search .body .summary-panel{background:rgba(var(--color-black-rgb),.06);width:var(--search-summary-width);position:absolute;top:calc(var(--app-pane-padding) + var(--eo-tab-nav-height));right:var(--app-pane-padding);box-sizing:border-box}.eo-app-search .body .summary-panel .query-types{overflow:auto;max-height:calc(100vh - 290px)}.eo-app-search .body .summary-panel .headline{line-height:1em;font-size:var(--font-subhead);font-weight:var(--font-weight-light);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .summary-panel .headline .spaceInbetwen{display:flex;align-items:center}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon{display:block;padding:calc(var(--app-pane-padding) / 4) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .savedSearchIcon eo-icon{--eoSvgIcon-size: 44px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store{display:block;min-height:0;min-width:0;padding-left:12px}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .pre{padding:calc(var(--app-pane-padding) / 2) 0}.eo-app-search .body .summary-panel .headline .spaceInbetwen .store .stored-query-name{font-size:var(--font-title);padding:calc(var(--app-pane-padding) / 2) 0;line-height:1.2em}.eo-app-search .body .summary-panel .headline.stored-query{background:var(--color-primary-3);color:var(--color-white);font-size:var(--font-body)}.eo-app-search .body .summary-panel .empty-search{padding:var(--app-pane-padding) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .section{padding:calc(var(--app-pane-padding) / 2);max-height:calc(100vh - 280px);overflow-y:auto}.eo-app-search .body .summary-panel .section .title{border-bottom:1px solid rgba(var(--color-black-rgb),.1);padding-bottom:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption)}.eo-app-search .body .summary-panel .filter{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;background:rgba(var(--color-white-rgb),.6);margin-top:4px;align-items:center}.eo-app-search .body .summary-panel .filter .label{display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;padding:0 0 0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .summary-panel .filter eo-icon{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 4);box-sizing:border-box;cursor:pointer;color:var(--text-color-hint)}.eo-app-search .body .summary-panel .filter eo-icon:hover{color:var(--text-color-caption)}.eo-app-search .body .summary-panel .actions{display:flex;justify-content:flex-end;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 2 - 2px)}.eo-app-search .body .summary-panel .actions button{margin:0 2px;line-height:1em;font-size:var(--font-hint)}.eo-app-search .body .ui-tabview .ui-tabview-panel{padding:calc(var(--app-pane-padding) / 2)}.eo-app-search .body .ui-tabview .ui-tabview-panel h2{margin:0 0 calc(var(--app-pane-padding) * 1.5) 0;padding:0;font-weight:var(--font-weight-light);font-size:var(--font-title);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container{display:flex;flex-flow:row wrap;align-items:stretch}.eo-app-search .body .rest-box-container .rest-box{margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 2);background:var(--color-white);flex:1 1 auto}.eo-app-search .body .rest-box-container .rest-box h3{margin:0 0 var(--app-pane-padding) 0;padding:0;font-size:var(--font-caption);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item{display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);color:var(--text-color-body)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected{background:var(--color-primary-3);color:var(--color-white)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover{background:var(--list-item-hover-background)}.eo-app-search .body .rest-box-container .rest-box .label{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .rest-box-container .rest-box .count{font-size:var(--font-caption);min-width:30px;text-align:right;font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .group-header .move-icons{display:none}.eo-app-search .body .object-types .group .type{display:flex;flex-flow:row nowrap;align-items:center;padding:1px 0}.eo-app-search .body .object-types .group .type.context{font-weight:var(--font-weight-bold)}.eo-app-search .body .object-types .group .type.folder .item eo-icon{background:rgba(var(--color-black-rgb),.15)}.eo-app-search .body .object-types .group .type.folder .item:hover eo-icon{background:rgba(var(--color-white-rgb),.3)}.eo-app-search .body .object-types .group .type.abstract .item{color:var(--text-color-caption)}.eo-app-search .body .object-types .group .type.abstract .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .group .type .item{display:flex;flex:1 1 auto;border-radius:2px;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 4);cursor:default;color:var(--text-color-body)}.eo-app-search .body .object-types .group .type .item eo-icon{color:var(--text-color-caption);width:16px;height:16px;box-sizing:content-box;padding:2px;border-radius:2px;transition:none;-webkit-transition:none;-moz-transition:none;-o-transition:none}.eo-app-search .body .object-types .group:hover .group-header{display:flex;justify-content:space-between}.eo-app-search .body .object-types .group:hover .group-header .move-icons{display:flex}.eo-app-search .body .object-types .group:hover .group-header .move-left-icon,.eo-app-search .body .object-types .group:hover .group-header .move-right-icon,.eo-app-search .body .object-types .group:hover .group-header .move-left-first,.eo-app-search .body .object-types .group:hover .group-header .move-right-last{cursor:pointer;color:var(--text-color-caption)}.eo-app-search .body .object-types .group:hover .group-header .move-left-first{transform:rotate(180deg)}.eo-app-search .body .object-types .type .item{cursor:pointer}.eo-app-search .body .object-types .type .item:hover{background:var(--color-primary-3);color:var(--panel-background)}.eo-app-search .body .object-types .type .item:hover eo-icon{color:var(--panel-background)}.eo-app-search .body .indexdata-search{padding:calc(var(--app-pane-padding) / 2) 0 0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .indexdata-search h2{display:flex;flex-flow:row;align-items:center}.eo-app-search .body .indexdata-search h2 eo-icon{margin:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .indexdata-search h2 span{padding:0 calc(var(--app-pane-padding) / 4)}.eo-app-search .body .indexdata-search .context{margin-bottom:var(--app-pane-padding)}.eo-app-search .body .indexdata-search .context .context-select{display:flex;align-items:center;flex-flow:row wrap;padding-bottom:1px}.eo-app-search .body .indexdata-search .context .context-select .spacer{width:var(--app-pane-padding)}.eo-app-search .body .indexdata-search eo-object-form{border:1px solid rgba(var(--color-black-rgb),.1)}.eo-app-search .body .indexdata-search eo-object-form.dark{display:block;background-color:var(--color-primary-2)}.eo-app-search.rtl{left:0;right:0;animation:appSearchAppearRTL var(--app-default-transition-duration)}.eo-app-search.rtl .head .result,.eo-app-search.rtl .body .summary-panel{right:auto;left:var(--app-pane-padding)}.eo-app-search.rtl .body yvc-tabs{padding-right:0;padding-left:calc(var(--app-pane-padding) * 2 + var(--search-summary-width));padding-bottom:0;padding-top:0}.eo-app-search.expert .head .result{display:none}.eo-app-search.expert .head .search .search-box{max-width:100%}.eo-app-search.expert .head .search .search-box button.expert-mode{color:var(--color-accent)}.eo-app-search.expert .body{background:var(--color-primary-2);color:var(--color-white);display:flex;flex-flow:column}.eo-app-search.expert .body h2{flex:0 0 auto;padding:0;margin:var(--app-pane-padding) 0;font-size:var(--font-title);font-weight:var(--font-weight-light)}.eo-app-search.expert .body h2 span{padding:calc(var(--app-pane-padding) / 2) 0 calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:4px solid var(--color-accent)}.eo-app-search.expert .body .intro{flex:0 0 auto;padding:var(--app-pane-padding)}.eo-app-search.expert .body .empty{flex:0 0 auto;padding:0 var(--app-pane-padding)}.eo-app-search.expert .body .empty span{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px;background:var(--color-error);color:var(--color-white)}.eo-app-search.expert .body .fields h2{margin:calc(var(--app-pane-padding) / 2);flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid rgba(var(--color-white-rgb),.3)}.eo-app-search.expert .body .fields .item{padding:calc(var(--app-pane-padding) / 2);cursor:pointer;border-radius:2px;background:rgba(var(--color-white-rgb),.06);margin-bottom:4px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-app-search.expert .body .fields .item:hover,.eo-app-search.expert .body .fields .item.selected{background:rgba(var(--color-white-rgb),.2)}.eo-app-search.expert .body .fields .item .label{font-weight:var(--font-weight-bold);display:flex;justify-content:space-between}.eo-app-search.expert .body .fields .item .label .type{font-size:var(--font-hint);opacity:.5}.eo-app-search.expert .body .fields .item .data{opacity:.75}.eo-app-search.expert .body .base-params{padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .base-params .items{display:flex;flex-flow:row wrap;padding:calc(var(--app-pane-padding) / 4)}.eo-app-search.expert .body .base-params .items .item{margin:calc(var(--app-pane-padding) / 4)}.eo-app-search.expert .body .system-types{flex:1 1 auto;display:flex;flex-flow:row;justify-content:flex-start;align-items:stretch;padding:calc(var(--app-pane-padding) / 2)}.eo-app-search.expert .body .system-types .column{flex:0 0 33%;box-sizing:border-box;display:flex;flex-flow:column}.eo-app-search.expert .body .system-types .column .items{padding:calc(var(--app-pane-padding) / 2);flex:1 1 auto;overflow-y:auto}.eo-app-search.expert .body .system-types .column .items::-webkit-scrollbar-thumb{background-color:rgba(var(--color-white-rgb),.1)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox,.eo-app-search .body .rest-box-container .rest-box .type .checkbox{width:20px;height:20px;cursor:pointer;border:1px solid var(--text-color-hint);border-radius:2px;margin:0 calc(var(--app-pane-padding) / 2)}.eo-app-search .body .rest-box-container .rest-box .rest-item .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type .checkbox svg{opacity:0}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover{border-color:var(--text-color-caption)}.eo-app-search .body .rest-box-container .rest-box .rest-item:not(.selected):hover .checkbox:hover svg,.eo-app-search .body .rest-box-container .rest-box .type:not(.selected):hover .checkbox:hover svg{fill:var(--text-color-body);opacity:.3}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox{background:var(--color-primary-3);border-color:var(--color-primary-3)}.eo-app-search .body .rest-box-container .rest-box .rest-item.selected .checkbox svg,.eo-app-search .body .rest-box-container .rest-box .type.selected .checkbox svg{fill:var(--color-white)!important;opacity:1}.eo-app-search .body .rest-box-container .rest-box .rest-item.saved .count,.eo-app-search .body .rest-box-container .rest-box .type.saved .count{font-weight:var(--font-weight-normal)}@keyframes appSearchAppear{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes appSearchAppearRTL{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}\n"] }]
|
|
17250
16782
|
}], ctorParameters: () => [{ type: AppSearchService }, { type: i2$2.YvcOverlayService }, { type: i1.SearchService }, { type: i1.SystemService }, { type: i1.NotificationsService }, { type: i1.TranslateService }, { type: i2$1.Router }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.StoredQueriesService }, { type: i1.CapabilitiesService }, { type: i1.UserService }, { type: i1.Logger }, { type: i1.LocalStorageService }, { type: i1$3.FormBuilder }], propDecorators: { tplSearch: [{
|
|
17251
16783
|
type: ViewChild,
|
|
17252
16784
|
args: ['tplSearch', { read: TemplateRef }]
|
|
@@ -19120,10 +18652,11 @@ let ObjectHistoryComponent = class ObjectHistoryComponent {
|
|
|
19120
18652
|
get params() {
|
|
19121
18653
|
return this._params;
|
|
19122
18654
|
}
|
|
19123
|
-
constructor(dmsService, cd, eventService) {
|
|
18655
|
+
constructor(dmsService, cd, eventService, translate) {
|
|
19124
18656
|
this.dmsService = dmsService;
|
|
19125
18657
|
this.cd = cd;
|
|
19126
18658
|
this.eventService = eventService;
|
|
18659
|
+
this.translate = translate;
|
|
19127
18660
|
this._history = [];
|
|
19128
18661
|
this.completeHistory = [];
|
|
19129
18662
|
this.filters = [];
|
|
@@ -19154,22 +18687,26 @@ let ObjectHistoryComponent = class ObjectHistoryComponent {
|
|
|
19154
18687
|
.getHistory(id, type, true)
|
|
19155
18688
|
.pipe(map((res) => {
|
|
19156
18689
|
const reversedRes = res.reverse();
|
|
18690
|
+
reversedRes.forEach(res => {
|
|
18691
|
+
res.title = this.translate.instant('eo.object.history.entry.type.' + res.type + '.title');
|
|
18692
|
+
res.description = this.translate.instant('eo.object.history.entry.type.' + (res.intent ? res.intent : res.type) + '.description');
|
|
18693
|
+
});
|
|
19157
18694
|
this.completeHistory = reversedRes;
|
|
19158
18695
|
this.history = reversedRes;
|
|
19159
18696
|
this.cd.markForCheck();
|
|
19160
18697
|
}))
|
|
19161
18698
|
.subscribe();
|
|
19162
18699
|
}
|
|
19163
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, deps: [{ token: i1.DmsService }, { token: i0.ChangeDetectorRef }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19164
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: { params: "params" }, ngImport: i0, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span
|
|
18700
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, deps: [{ token: i1.DmsService }, { token: i0.ChangeDetectorRef }, { token: i1.EventService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18701
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: { params: "params" }, ngImport: i0, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span>{{entry.title}}</span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\">{{entry.description}}</div>\n <div class=\"comment\">"{{entry.comment}}"</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span [ngClass]=\"{inactive: !entry.user.active}\">{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n", styles: [":host .object-history{height:100%;min-width:350px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{font-weight:var(--font-weight-normal);font-size:var(--font-hint);white-space:nowrap;color:var(--text-color-caption)}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{font-size:var(--font-hint);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .meta>span{display:block;border-radius:2px;padding:2px 4px;font-size:var(--font-caption);background-color:rgba(var(--color-black-rgb),.08);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0}:host .timeline-entry .what .meta>span.inactive{text-decoration:line-through}:host .timeline-entry.comment .what .comment{display:block;font-style:italic;color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: HistoryFilterComponent, selector: "eo-history-filter", inputs: ["visibleFilter", "filters", "history", "term"], outputs: ["onToggleFilter", "termChange"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: HistoryFilterPipe, name: "historyFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19165
18702
|
};
|
|
19166
18703
|
ObjectHistoryComponent = __decorate([
|
|
19167
18704
|
UntilDestroy()
|
|
19168
18705
|
], ObjectHistoryComponent);
|
|
19169
18706
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, decorators: [{
|
|
19170
18707
|
type: Component,
|
|
19171
|
-
args: [{ selector: 'eo-object-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span
|
|
19172
|
-
}], ctorParameters: () => [{ type: i1.DmsService }, { type: i0.ChangeDetectorRef }, { type: i1.EventService }], propDecorators: { params: [{
|
|
18708
|
+
args: [{ selector: 'eo-object-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span>{{entry.title}}</span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\">{{entry.description}}</div>\n <div class=\"comment\">"{{entry.comment}}"</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span [ngClass]=\"{inactive: !entry.user.active}\">{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n", styles: [":host .object-history{height:100%;min-width:350px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{font-weight:var(--font-weight-normal);font-size:var(--font-hint);white-space:nowrap;color:var(--text-color-caption)}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{font-size:var(--font-hint);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .meta>span{display:block;border-radius:2px;padding:2px 4px;font-size:var(--font-caption);background-color:rgba(var(--color-black-rgb),.08);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0}:host .timeline-entry .what .meta>span.inactive{text-decoration:line-through}:host .timeline-entry.comment .what .comment{display:block;font-style:italic;color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}\n"] }]
|
|
18709
|
+
}], ctorParameters: () => [{ type: i1.DmsService }, { type: i0.ChangeDetectorRef }, { type: i1.EventService }, { type: i1.TranslateService }], propDecorators: { params: [{
|
|
19173
18710
|
type: Input
|
|
19174
18711
|
}] } });
|
|
19175
18712
|
|
|
@@ -19455,10 +18992,8 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19455
18992
|
return this._emptyState;
|
|
19456
18993
|
}
|
|
19457
18994
|
set dmsParams(params) {
|
|
19458
|
-
this.showLoader = true;
|
|
19459
18995
|
this.loadDmsObject(params).subscribe((res) => {
|
|
19460
18996
|
this.dmsObject = res;
|
|
19461
|
-
this.showLoader = false;
|
|
19462
18997
|
}, Utils.throw(() => this.onHasError(true, true, false)));
|
|
19463
18998
|
}
|
|
19464
18999
|
set dmsParams2(params) {
|
|
@@ -19468,9 +19003,13 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19468
19003
|
}, Utils.throw(() => this.onHasError(true, true, false)));
|
|
19469
19004
|
}
|
|
19470
19005
|
set dmsObject(v) {
|
|
19006
|
+
// show loader if object is different and force change detection to show loader
|
|
19007
|
+
this.showLoader = true;
|
|
19008
|
+
this.cdr.detectChanges();
|
|
19471
19009
|
const isDifferent = this.item?.id !== v?.id;
|
|
19472
19010
|
this.item = v;
|
|
19473
19011
|
this.onHasError();
|
|
19012
|
+
this.setupCapabilities();
|
|
19474
19013
|
if (this.item?.id) {
|
|
19475
19014
|
this.fetchAtiveProcessData(this.item?.id);
|
|
19476
19015
|
}
|
|
@@ -19504,6 +19043,7 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19504
19043
|
}
|
|
19505
19044
|
set dmsObject2(v) {
|
|
19506
19045
|
this.item2 = v;
|
|
19046
|
+
this.enableSync = !!this.item2?.version;
|
|
19507
19047
|
this.onHasError();
|
|
19508
19048
|
this.onIndexDataSaved(null, this.item2);
|
|
19509
19049
|
}
|
|
@@ -19511,7 +19051,7 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19511
19051
|
return this.item ? this.item.typeName : 'none';
|
|
19512
19052
|
}
|
|
19513
19053
|
// undockWinActive = false;
|
|
19514
|
-
constructor(router, route, system, empty, agentService, backend, dmsService, selection, actionService, capabilityService, uploadRegistry, eventService, configService, bpmService, translate) {
|
|
19054
|
+
constructor(router, route, system, empty, agentService, backend, dmsService, selection, actionService, capabilityService, uploadRegistry, eventService, configService, bpmService, translate, cdr) {
|
|
19515
19055
|
this.router = router;
|
|
19516
19056
|
this.route = route;
|
|
19517
19057
|
this.system = system;
|
|
@@ -19527,6 +19067,7 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19527
19067
|
this.configService = configService;
|
|
19528
19068
|
this.bpmService = bpmService;
|
|
19529
19069
|
this.translate = translate;
|
|
19070
|
+
this.cdr = cdr;
|
|
19530
19071
|
// generate unique id to pass to upload registry
|
|
19531
19072
|
this.uploadTarget = new UploadTarget(Utils.uuid(), UploadTarget.OBJECT);
|
|
19532
19073
|
this.hasError = false;
|
|
@@ -19540,7 +19081,8 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19540
19081
|
this.recyclebinTabs = false;
|
|
19541
19082
|
this.versionComponentTabs = false;
|
|
19542
19083
|
this.enableDiff = true;
|
|
19543
|
-
this.enableSync =
|
|
19084
|
+
this.enableSync = false;
|
|
19085
|
+
this.onEnableSync = true;
|
|
19544
19086
|
this.tabs = [];
|
|
19545
19087
|
this._emptyState = { icon: 'ic_no-file.svg', text: '', className: '' };
|
|
19546
19088
|
this.preventClickThrough = false;
|
|
@@ -19605,7 +19147,6 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19605
19147
|
.focus$
|
|
19606
19148
|
.pipe(untilDestroyed(this))
|
|
19607
19149
|
.subscribe(res => {
|
|
19608
|
-
this.showLoader = true;
|
|
19609
19150
|
this.loadDmsObject(this.parseDmsParams(res)).subscribe((res) => {
|
|
19610
19151
|
// refreshing object details may result in an updated version of the object
|
|
19611
19152
|
// so we'll use this trigger to also emitt those changes to other listening components
|
|
@@ -19613,7 +19154,6 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19613
19154
|
this.eventService.trigger(EnaioEvent.DMS_OBJECT_UPDATED, res);
|
|
19614
19155
|
}
|
|
19615
19156
|
this.dmsObject = res;
|
|
19616
|
-
this.showLoader = false;
|
|
19617
19157
|
}, Utils.throw((error) => {
|
|
19618
19158
|
this.uploadRegistry.unregister(this.uploadTarget.id);
|
|
19619
19159
|
return this.onHasError(true, true, false);
|
|
@@ -19725,7 +19265,7 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19725
19265
|
});
|
|
19726
19266
|
}
|
|
19727
19267
|
onCompareTabChange(event) {
|
|
19728
|
-
if (this.enableSync) {
|
|
19268
|
+
if (this.enableSync && this.onEnableSync) {
|
|
19729
19269
|
this.tabContainers.forEach(t => {
|
|
19730
19270
|
if (t.selectedTab !== event) {
|
|
19731
19271
|
t.selectById(event);
|
|
@@ -19766,7 +19306,12 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19766
19306
|
const plugins = this.plugins?.map(p => p.id) || [];
|
|
19767
19307
|
this.tabs = [..._primary, ..._secondary, ...plugins].filter(t => !block.includes(t));
|
|
19768
19308
|
if (this.versionComponentTabs) {
|
|
19769
|
-
|
|
19309
|
+
if (this.item?.isFolder) {
|
|
19310
|
+
this.tabs = this.tabs.filter(tab => ['summary', 'indexdata'].includes(tab));
|
|
19311
|
+
}
|
|
19312
|
+
else {
|
|
19313
|
+
this.tabs = this.tabs.filter(tab => ['summary', 'indexdata', 'preview', 'signature'].includes(tab));
|
|
19314
|
+
}
|
|
19770
19315
|
}
|
|
19771
19316
|
const diff = this.tabs.filter(t => !primary?.includes(t) && !secondary?.includes(t));
|
|
19772
19317
|
const _pTabs = [..._primary, ...plugins.filter(p => !_primary.includes(p))];
|
|
@@ -19790,7 +19335,6 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19790
19335
|
}
|
|
19791
19336
|
ngOnInit() {
|
|
19792
19337
|
this.capabilities = this.capabilityService.getCapabilities();
|
|
19793
|
-
this.setupCapabilities();
|
|
19794
19338
|
this.updateContent();
|
|
19795
19339
|
this.eventService
|
|
19796
19340
|
.on(EnaioEvent.DMS_OBJECT_UPDATED)
|
|
@@ -19812,21 +19356,29 @@ let ObjectDetailsComponent = class ObjectDetailsComponent {
|
|
|
19812
19356
|
}
|
|
19813
19357
|
});
|
|
19814
19358
|
}
|
|
19815
|
-
|
|
19359
|
+
/**
|
|
19360
|
+
* Handles the `hasContentLoaded` event emitted by the `eo-media` component.
|
|
19361
|
+
* It sets the `showLoader` property to false, indicating that the content has finished loading.
|
|
19362
|
+
*
|
|
19363
|
+
* @param event - A boolean value representing the loading state of the content.
|
|
19364
|
+
* It is expected to be `true` when the content is fully loaded.
|
|
19365
|
+
*/
|
|
19366
|
+
hasContentLoaded(event) {
|
|
19367
|
+
this.showLoader = false;
|
|
19816
19368
|
}
|
|
19817
19369
|
ngOnDestroy() {
|
|
19818
19370
|
this.uploadRegistry.unregister(this.uploadTarget.id);
|
|
19819
19371
|
}
|
|
19820
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectDetailsComponent, deps: [{ token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: i1.SystemService }, { token: EmptyStateService }, { token: AgentService }, { token: i1.BackendService }, { token: i1.DmsService }, { token: SelectionService }, { token: ActionService }, { token: i1.CapabilitiesService }, { token: i1.UploadRegistryService }, { token: i1.EventService }, { token: i1.Config }, { token: i1.BpmService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19821
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.4", type: ObjectDetailsComponent, selector: "eo-object-details", inputs: { plugins: "plugins", reference: "reference", searchTerm: "searchTerm", enableCompare: "enableCompare", recyclebinTabs: "recyclebinTabs", versionComponentTabs: "versionComponentTabs", enableDiff: "enableDiff", enableSync: "enableSync", cacheLayout: "cacheLayout", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsParams2: ["params2", "dmsParams2"], dmsObject: ["item", "dmsObject"], dmsObject2: ["item2", "dmsObject2"], applySelection: "applySelection", parseDmsParams: "parseDmsParams" }, outputs: { hasContent: "hasContent" }, host: { properties: { "class.reference": "this.isReference", "attr.data-type": "this.dataType" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "eoSplitTabs", first: true, predicate: SplitTabsComponent, descendants: true }, { propertyName: "tabContainers", predicate: Tabs, descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container>\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"\n [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\"\n [ngClass]=\"{'enabled': enableSync}\" [iconSrc]=\"'assets/_default/svg/ic_link.svg'\"\n [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\" (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content?.id\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && item.content?.id && item.rights.edit && (agentIsConnected$ | async)\n && !item.isFinalized && item.data.yuvsigstatus !== 'signed' && item.data.yuvsigstatus !== 'inprocess'\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\" [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate: {due: item.resubmissions[0].due | localeDate, info: item.resubmissions[0].info}\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data?.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data?.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon stopped\"\n *ngIf=\"item.data?.yuvsigstatus === 'canceled'\n || item.data?.yuvsigstatus === 'revised' || item.data?.yuvsigstatus === 'error' || item.data?.yuvsigstatus === 'expired'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.stopped' | translate\"></eo-icon>\n @if (item.processcount > 0) {\n <eo-icon class=\"resubmission-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"\n [iconTitle]=\"'eo.object.processcount.tooltip' | translate : {processcount: item?.processcount, text: processTooltip}\"></eo-icon>\n }\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\" [config]=\"splitTabConfig\" *ngIf=\"!item2; else tplCompare\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\"\n #viewer></eo-media>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n <!-- links -->\n <ng-template [yvcTab]=\"{id: 'links', label: 'eo.object.links.title' | translate}\">\n <eo-object-links [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n <!-- signature -->\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n </yvc-split-tabs>\n\n <ng-template #tplCompare>\n <yvc-split-view>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item, baseparams, indexdata: indexDataPreview, searchTerm}\"></ng-container>\n </div>\n\n </ng-template>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item2.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item: item2, baseparams: baseparams2, indexdata: indexDataPreview2, searchTerm, diff: {baseparams, baseparams2, indexdata: indexDataPreview, indexdata2: indexDataPreview2}}\"></ng-container>\n </div>\n </ng-template>\n\n </yvc-split-view>\n </ng-template>\n\n <ng-template #tplTabs let-item=\"item\" let-indexdata=\"indexdata\" let-baseparams=\"baseparams\"\n let-searchTerm=\"searchTerm\" let-diff=\"diff\">\n <yvc-tabs (tabChange)=\"onCompareTabChange($event)\" layoutSettingsID=\"{{'eo.object.details.compare.tabs' + (diff ? '.0' : '.1')}}\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexdata\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"true\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n <!-- changes -->\n <ng-template *ngIf=\"diff\"\n [yvcTab]=\"{id: 'changes', label: 'eo.object.changes.title' | translate}\">\n <eo-indexdata-summary [diff]=\"diff\" [enableVersions]=\"false\" [isChangesTab]=\"versionComponentTabs\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n\n </yvc-tabs>\n </ng-template>\n\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto;--panel-divider-color: var(--panel-header-border-bottom-color)}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body .cmp-wrapper{height:100%;flex-flow:column;display:flex}:host .eo-body .cmp-wrapper .cmp-info{background-color:var(--panel-background);padding:2px}:host .eo-body .cmp-wrapper .cmp-info .version{margin:2px;border-radius:2px;background-color:var(--panel-background-lightgrey);border:1px dashed var(--panel-divider-color);color:var(--text-color-caption);text-align:center}:host .eo-body .cmp-wrapper .cmp-info .version>span{margin-inline-start:.5em;font-weight:700}:host .eo-body yvc-split-view,:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .lock.myLock{color:var(--color-white);background:var(--state-orange)!important}:host .not-found{color:var(--panel-background);text-align:center;margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 4);border-radius:2px;flex:0 0 auto;background:var(--color-error)}:host .eo-header-status-icons{margin-top:var(--app-pane-padding);display:flex;justify-content:flex-end}:host .eo-header-status-icons>eo-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 4);color:var(--color-white);margin-left:1px;background-color:var(--color-primary-2)}:host .eo-header-status-icons>eo-icon:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.stopped{background-color:var(--color-error)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{margin:0 calc(var(--app-pane-padding) / 4);display:flex;align-items:center;color:var(--color-white);font-size:var(--font-hint);line-height:var(--font-hint);border-radius:2px;padding:0 4px 1px;text-decoration:none;background-color:var(--color-success)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep yvc-tabs{flex:1;height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .object-form-edit{position:relative;height:100%;margin:0;overflow:hidden;background:transparent!important}:host ::ng-deep .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep .object-form-edit eo-object-form .eo-object-form{margin:var(--app-pane-padding);background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1)}:host ::ng-deep .object-form-edit .form-controls{animation:eoFadeInUp .2s}:host ::ng-deep .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{cursor:default;color:var(--color-primary-3)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ObjectFormEditComponent, selector: "eo-object-form-edit", inputs: ["formDisabled", "dmsObject"], outputs: ["indexDataSaved"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "directive", type: ShortcutsDirective, selector: "[eoShortcuts]", inputs: ["eoShortcuts"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: SignatureTabComponent, selector: "eo-signature-tab", inputs: ["dmsObject"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i19.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "component", type: ObjectLinksComponent, selector: "eo-object-links", inputs: ["dmsObject"] }, { kind: "component", type: FavoriteIconComponent, selector: "eo-favorite-icon", inputs: ["item"] }, { kind: "component", type: EditIconComponent, selector: "eo-edit-icon", inputs: ["item"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
|
|
19372
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectDetailsComponent, deps: [{ token: i2$1.Router }, { token: i2$1.ActivatedRoute }, { token: i1.SystemService }, { token: EmptyStateService }, { token: AgentService }, { token: i1.BackendService }, { token: i1.DmsService }, { token: SelectionService }, { token: ActionService }, { token: i1.CapabilitiesService }, { token: i1.UploadRegistryService }, { token: i1.EventService }, { token: i1.Config }, { token: i1.BpmService }, { token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19373
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.4", type: ObjectDetailsComponent, selector: "eo-object-details", inputs: { plugins: "plugins", reference: "reference", searchTerm: "searchTerm", enableCompare: "enableCompare", recyclebinTabs: "recyclebinTabs", versionComponentTabs: "versionComponentTabs", enableDiff: "enableDiff", enableSync: "enableSync", cacheLayout: "cacheLayout", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsParams2: ["params2", "dmsParams2"], dmsObject: ["item", "dmsObject"], dmsObject2: ["item2", "dmsObject2"], applySelection: "applySelection", parseDmsParams: "parseDmsParams" }, outputs: { hasContent: "hasContent" }, host: { properties: { "class.reference": "this.isReference", "attr.data-type": "this.dataType" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "eoSplitTabs", first: true, predicate: SplitTabsComponent, descendants: true }, { propertyName: "tabContainers", predicate: Tabs, descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container>\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"\n [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\"\n [ngClass]=\"{'enabled': onEnableSync,'disable': !enableSync}\" [iconSrc]=\"'assets/_default/svg/ic_link.svg'\"\n [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\" (click)=\"onEnableSync = !onEnableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content?.id\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && item.content?.id && item.rights.edit && (agentIsConnected$ | async)\n && !item.isFinalized && item.data.yuvsigstatus !== 'signed' && item.data.yuvsigstatus !== 'inprocess'\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\" [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate: {due: item.resubmissions[0].due | localeDate, info: item.resubmissions[0].info}\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data?.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data?.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon stopped\"\n *ngIf=\"item.data?.yuvsigstatus === 'canceled'\n || item.data?.yuvsigstatus === 'revised' || item.data?.yuvsigstatus === 'error' || item.data?.yuvsigstatus === 'expired'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.stopped' | translate\"></eo-icon>\n @if (item.processcount > 0) {\n <eo-icon class=\"resubmission-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"\n [iconTitle]=\"'eo.object.processcount.tooltip' | translate : {processcount: item?.processcount, text: processTooltip}\"></eo-icon>\n }\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\" [config]=\"splitTabConfig\" *ngIf=\"!item2; else tplCompare\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" (hasContentLoaded)=\"hasContentLoaded($event)\"\n #viewer></eo-media>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n <!-- links -->\n <ng-template [yvcTab]=\"{id: 'links', label: 'eo.object.links.title' | translate}\">\n <eo-object-links [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n <!-- signature -->\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n </yvc-split-tabs>\n\n <ng-template #tplCompare>\n <yvc-split-view>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item, baseparams, indexdata: indexDataPreview, searchTerm}\"></ng-container>\n </div>\n\n </ng-template>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item2.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item: item2, baseparams: baseparams2, indexdata: indexDataPreview2, searchTerm, diff: {baseparams, baseparams2, indexdata: indexDataPreview, indexdata2: indexDataPreview2}}\"></ng-container>\n </div>\n </ng-template>\n\n </yvc-split-view>\n </ng-template>\n\n <ng-template #tplTabs let-item=\"item\" let-indexdata=\"indexdata\" let-baseparams=\"baseparams\"\n let-searchTerm=\"searchTerm\" let-diff=\"diff\">\n <yvc-tabs (tabChange)=\"onCompareTabChange($event)\" layoutSettingsID=\"{{'eo.object.details.compare.tabs' + (diff ? '.0' : '.1')}}\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexdata\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\" [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n @if (!item?.isFolder){\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"true\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n <!-- signature -->\n @if (capabilities.signing){\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n }\n }\n <!-- changes -->\n <ng-template *ngIf=\"diff\"\n [yvcTab]=\"{id: 'changes', label: 'eo.object.changes.title' | translate}\">\n <eo-indexdata-summary [diff]=\"diff\" [enableVersions]=\"false\" [isChangesTab]=\"versionComponentTabs\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n\n </yvc-tabs>\n </ng-template>\n\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto;--panel-divider-color: var(--panel-header-border-bottom-color)}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body .cmp-wrapper{height:100%;flex-flow:column;display:flex}:host .eo-body .cmp-wrapper .cmp-info{background-color:var(--panel-background);padding:2px}:host .eo-body .cmp-wrapper .cmp-info .version{margin:2px;border-radius:2px;background-color:var(--panel-background-lightgrey);border:1px dashed var(--panel-divider-color);color:var(--text-color-caption);text-align:center}:host .eo-body .cmp-wrapper .cmp-info .version>span{margin-inline-start:.5em;font-weight:700}:host .eo-body yvc-split-view,:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .sync-tab-btn.disable{display:none}:host .lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .lock.myLock{color:var(--color-white);background:var(--state-orange)!important}:host .not-found{color:var(--panel-background);text-align:center;margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 4);border-radius:2px;flex:0 0 auto;background:var(--color-error)}:host .eo-header-status-icons{margin-top:var(--app-pane-padding);display:flex;justify-content:flex-end}:host .eo-header-status-icons>eo-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 4);color:var(--color-white);margin-left:1px;background-color:var(--color-primary-2)}:host .eo-header-status-icons>eo-icon:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.stopped{background-color:var(--color-error)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{margin:0 calc(var(--app-pane-padding) / 4);display:flex;align-items:center;color:var(--color-white);font-size:var(--font-hint);line-height:var(--font-hint);border-radius:2px;padding:0 4px 1px;text-decoration:none;background-color:var(--color-success)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep yvc-tabs{flex:1;height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .object-form-edit{position:relative;height:100%;margin:0;overflow:hidden;background:transparent!important}:host ::ng-deep .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep .object-form-edit eo-object-form .eo-object-form{margin:var(--app-pane-padding);background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1)}:host ::ng-deep .object-form-edit .form-controls{animation:eoFadeInUp .2s}:host ::ng-deep .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{cursor:default;color:var(--color-primary-3)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ObjectFormEditComponent, selector: "eo-object-form-edit", inputs: ["formDisabled", "dmsObject"], outputs: ["indexDataSaved"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"], outputs: ["hasContentLoaded"] }, { kind: "directive", type: ShortcutsDirective, selector: "[eoShortcuts]", inputs: ["eoShortcuts"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: SignatureTabComponent, selector: "eo-signature-tab", inputs: ["dmsObject"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i12.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i19.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "component", type: ObjectLinksComponent, selector: "eo-object-links", inputs: ["dmsObject"] }, { kind: "component", type: FavoriteIconComponent, selector: "eo-favorite-icon", inputs: ["item"] }, { kind: "component", type: EditIconComponent, selector: "eo-edit-icon", inputs: ["item"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
|
|
19822
19374
|
};
|
|
19823
19375
|
ObjectDetailsComponent = __decorate([
|
|
19824
19376
|
UntilDestroy()
|
|
19825
19377
|
], ObjectDetailsComponent);
|
|
19826
19378
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectDetailsComponent, decorators: [{
|
|
19827
19379
|
type: Component,
|
|
19828
|
-
args: [{ selector: 'eo-object-details', providers: [ContentPreviewService], template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container>\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"\n [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\"\n [ngClass]=\"{'enabled': enableSync}\" [iconSrc]=\"'assets/_default/svg/ic_link.svg'\"\n [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\" (click)=\"enableSync = !enableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content?.id\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && item.content?.id && item.rights.edit && (agentIsConnected$ | async)\n && !item.isFinalized && item.data.yuvsigstatus !== 'signed' && item.data.yuvsigstatus !== 'inprocess'\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\" [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate: {due: item.resubmissions[0].due | localeDate, info: item.resubmissions[0].info}\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data?.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data?.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon stopped\"\n *ngIf=\"item.data?.yuvsigstatus === 'canceled'\n || item.data?.yuvsigstatus === 'revised' || item.data?.yuvsigstatus === 'error' || item.data?.yuvsigstatus === 'expired'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.stopped' | translate\"></eo-icon>\n @if (item.processcount > 0) {\n <eo-icon class=\"resubmission-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"\n [iconTitle]=\"'eo.object.processcount.tooltip' | translate : {processcount: item?.processcount, text: processTooltip}\"></eo-icon>\n }\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\" [config]=\"splitTabConfig\" *ngIf=\"!item2; else tplCompare\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\"\n #viewer></eo-media>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n <!-- links -->\n <ng-template [yvcTab]=\"{id: 'links', label: 'eo.object.links.title' | translate}\">\n <eo-object-links [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n <!-- signature -->\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n </yvc-split-tabs>\n\n <ng-template #tplCompare>\n <yvc-split-view>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item, baseparams, indexdata: indexDataPreview, searchTerm}\"></ng-container>\n </div>\n\n </ng-template>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item2.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item: item2, baseparams: baseparams2, indexdata: indexDataPreview2, searchTerm, diff: {baseparams, baseparams2, indexdata: indexDataPreview, indexdata2: indexDataPreview2}}\"></ng-container>\n </div>\n </ng-template>\n\n </yvc-split-view>\n </ng-template>\n\n <ng-template #tplTabs let-item=\"item\" let-indexdata=\"indexdata\" let-baseparams=\"baseparams\"\n let-searchTerm=\"searchTerm\" let-diff=\"diff\">\n <yvc-tabs (tabChange)=\"onCompareTabChange($event)\" layoutSettingsID=\"{{'eo.object.details.compare.tabs' + (diff ? '.0' : '.1')}}\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexdata\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"true\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n <!-- changes -->\n <ng-template *ngIf=\"diff\"\n [yvcTab]=\"{id: 'changes', label: 'eo.object.changes.title' | translate}\">\n <eo-indexdata-summary [diff]=\"diff\" [enableVersions]=\"false\" [isChangesTab]=\"versionComponentTabs\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n\n </yvc-tabs>\n </ng-template>\n\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto;--panel-divider-color: var(--panel-header-border-bottom-color)}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body .cmp-wrapper{height:100%;flex-flow:column;display:flex}:host .eo-body .cmp-wrapper .cmp-info{background-color:var(--panel-background);padding:2px}:host .eo-body .cmp-wrapper .cmp-info .version{margin:2px;border-radius:2px;background-color:var(--panel-background-lightgrey);border:1px dashed var(--panel-divider-color);color:var(--text-color-caption);text-align:center}:host .eo-body .cmp-wrapper .cmp-info .version>span{margin-inline-start:.5em;font-weight:700}:host .eo-body yvc-split-view,:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .lock.myLock{color:var(--color-white);background:var(--state-orange)!important}:host .not-found{color:var(--panel-background);text-align:center;margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 4);border-radius:2px;flex:0 0 auto;background:var(--color-error)}:host .eo-header-status-icons{margin-top:var(--app-pane-padding);display:flex;justify-content:flex-end}:host .eo-header-status-icons>eo-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 4);color:var(--color-white);margin-left:1px;background-color:var(--color-primary-2)}:host .eo-header-status-icons>eo-icon:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.stopped{background-color:var(--color-error)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{margin:0 calc(var(--app-pane-padding) / 4);display:flex;align-items:center;color:var(--color-white);font-size:var(--font-hint);line-height:var(--font-hint);border-radius:2px;padding:0 4px 1px;text-decoration:none;background-color:var(--color-success)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep yvc-tabs{flex:1;height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .object-form-edit{position:relative;height:100%;margin:0;overflow:hidden;background:transparent!important}:host ::ng-deep .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep .object-form-edit eo-object-form .eo-object-form{margin:var(--app-pane-padding);background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1)}:host ::ng-deep .object-form-edit .form-controls{animation:eoFadeInUp .2s}:host ::ng-deep .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{cursor:default;color:var(--color-primary-3)}\n"] }]
|
|
19829
|
-
}], ctorParameters: () => [{ type: i2$1.Router }, { type: i2$1.ActivatedRoute }, { type: i1.SystemService }, { type: EmptyStateService }, { type: AgentService }, { type: i1.BackendService }, { type: i1.DmsService }, { type: SelectionService }, { type: ActionService }, { type: i1.CapabilitiesService }, { type: i1.UploadRegistryService }, { type: i1.EventService }, { type: i1.Config }, { type: i1.BpmService }, { type: i1.TranslateService }], propDecorators: { preview: [{
|
|
19380
|
+
args: [{ selector: 'eo-object-details', providers: [ContentPreviewService], template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"object-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError; else noItem\">\n\n <div class=\"eo-head eo-head-tabs\" [eoShortcuts]=\"shortcuts\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"eo-header-actions-container\">\n <div class=\"eo-header-actions\">\n <ng-container>\n <eo-icon class=\"button refresh-button\" *ngIf=\"!recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"\n [ngClass]=\"{'disable-refresh': preventClickThrough}\" (click)=\"refreshContent()\"></eo-icon>\n <eo-icon class=\"button sync-tab-btn\" *ngIf=\"enableCompare && !recyclebinTabs\"\n [ngClass]=\"{'enabled': onEnableSync,'disable': !enableSync}\" [iconSrc]=\"'assets/_default/svg/ic_link.svg'\"\n [iconTitle]=\"'eo.versions.detail.glue.tooltip' | translate\" (click)=\"onEnableSync = !onEnableSync\"></eo-icon>\n <eo-favorite-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && capabilities.favorites && !isJournalObject(item)\">\n </eo-favorite-icon>\n <eo-icon class=\"button oc-button\" *ngIf=\"!enableCompare && item.content?.id\" (click)=\"downloadOriginalContent()\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"></eo-icon>\n <eo-edit-icon [item]=\"item\"\n *ngIf=\"!enableCompare && !recyclebinTabs && item.content?.id && item.rights.edit && (agentIsConnected$ | async)\n && !item.isFinalized && item.data.yuvsigstatus !== 'signed' && item.data.yuvsigstatus !== 'inprocess'\">\n </eo-edit-icon>\n <eo-icon class=\"button am-button\" *ngIf=\"!recyclebinTabs\" (click)=\"showActions()\"\n [iconTitle]=\"('eo.object.details.actions.title' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </ng-container>\n\n </div>\n\n <div class=\"eo-header-status-icons\">\n <a class=\"content-link\" [title]=\"'eo.object.contentlink.tooltip' | translate\" *ngIf=\"item.content?.linked\"\n [routerLink]=\"'/object/' + item.content.id\" [queryParams]=\"{type: item.content.type}\">\n <span>{{'eo.object.contentlink' | translate}}</span>\n </a>\n <eo-icon class=\"subscription-icon\" *ngIf=\"item.subscriptions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_subscription.svg'\" [iconTitle]=\"subscriptionIconTooltip\"></eo-icon>\n <eo-icon class=\"resubmission-icon\" *ngIf=\"item.resubmissions.length\"\n [iconSrc]=\"'assets/_default/svg/ic_resubmission.svg'\"\n [iconTitle]=\"'eo.object.resubmission.tooltip' | translate: {due: item.resubmissions[0].due | localeDate, info: item.resubmissions[0].info}\"></eo-icon>\n <eo-icon class=\"shared-icon\" *ngIf=\"item.additionalvisibility.length && !recyclebinTabs\"\n [iconSrc]=\"'assets/_default/svg/ic_share.svg'\"\n [iconTitle]=\"'eo.object.shared.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"lock\" [ngClass]=\"{'myLock': item.lock.by.me}\" *ngIf=\"item.lock\"\n [iconSrc]=\"'assets/_default/svg/ic_lock.svg'\" [iconTitle]=\"lockTooltip\"></eo-icon>\n <eo-icon class=\"finalized-icon\" *ngIf=\"item.isFinalized\" [iconSrc]=\"'assets/_default/svg/ic_finalized.svg'\"\n [iconTitle]=\"'eo.object.finalized.tooltip' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon inprocess\" *ngIf=\"item.data?.yuvsigstatus === 'inprocess'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.inprocess' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon signed\" *ngIf=\"item.data?.yuvsigstatus === 'signed'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.signed' | translate\"></eo-icon>\n <eo-icon class=\"signed-icon stopped\"\n *ngIf=\"item.data?.yuvsigstatus === 'canceled'\n || item.data?.yuvsigstatus === 'revised' || item.data?.yuvsigstatus === 'error' || item.data?.yuvsigstatus === 'expired'\"\n [iconSrc]=\"'assets/_default/svg/ic_signature.svg'\"\n [iconTitle]=\"'eo.object.signature.tooltip.stopped' | translate\"></eo-icon>\n @if (item.processcount > 0) {\n <eo-icon class=\"resubmission-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"\n [iconTitle]=\"'eo.object.processcount.tooltip' | translate : {processcount: item?.processcount, text: processTooltip}\"></eo-icon>\n }\n </div>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n\n <yvc-split-tabs [layoutSettingsID]=\"cacheLayout\" [config]=\"splitTabConfig\" *ngIf=\"!item2; else tplCompare\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"\n [enableVersions]=\"!enableCompare\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\"\n [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"item.id === item.content?.id\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" (hasContentLoaded)=\"hasContentLoaded($event)\"\n #viewer></eo-media>\n </ng-template>\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n <!-- links -->\n <ng-template [yvcTab]=\"{id: 'links', label: 'eo.object.links.title' | translate}\">\n <eo-object-links [dmsObject]=\"item\"></eo-object-links>\n </ng-template>\n <!-- signature -->\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n\n </yvc-split-tabs>\n\n <ng-template #tplCompare>\n <yvc-split-view>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item, baseparams, indexdata: indexDataPreview, searchTerm}\"></ng-container>\n </div>\n\n </ng-template>\n <ng-template yvcSplitArea [size]=\"50\">\n\n <div class=\"cmp-wrapper\">\n <div class=\"cmp-info\">\n <div class=\"version\">{{'eo.versions.details.label' | translate}}<span>{{item2.version}}</span></div>\n </div>\n <ng-container\n *ngTemplateOutlet=\"tplTabs; context: {item: item2, baseparams: baseparams2, indexdata: indexDataPreview2, searchTerm, diff: {baseparams, baseparams2, indexdata: indexDataPreview, indexdata2: indexDataPreview2}}\"></ng-container>\n </div>\n </ng-template>\n\n </yvc-split-view>\n </ng-template>\n\n <ng-template #tplTabs let-item=\"item\" let-indexdata=\"indexdata\" let-baseparams=\"baseparams\"\n let-searchTerm=\"searchTerm\" let-diff=\"diff\">\n <yvc-tabs (tabChange)=\"onCompareTabChange($event)\" layoutSettingsID=\"{{'eo.object.details.compare.tabs' + (diff ? '.0' : '.1')}}\">\n <!-- summary -->\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexdata\" [baseparams]=\"baseparams\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n <!-- metadata -->\n <ng-template [yvcTab]=\"{id: 'indexdata', label: 'eo.object.indexdata.title' | translate}\">\n <eo-object-form-edit [dmsObject]=\"item\" (indexDataSaved)=\"onIndexDataSaved($event, item)\" [formDisabled]=\"enableCompare\"></eo-object-form-edit>\n </ng-template>\n @if (!item?.isFolder){\n <!-- preview -->\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media [useVersion]=\"true\" [searchTerm]=\"searchTerm\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n <!-- signature -->\n @if (capabilities.signing){\n <ng-template [yvcTab]=\"{id: 'signature', label: 'eo.object.signature-tab.title' | translate}\">\n <eo-signature-tab [dmsObject]=\"item\"></eo-signature-tab>\n </ng-template>\n }\n }\n <!-- changes -->\n <ng-template *ngIf=\"diff\"\n [yvcTab]=\"{id: 'changes', label: 'eo.object.changes.title' | translate}\">\n <eo-indexdata-summary [diff]=\"diff\" [enableVersions]=\"false\" [isChangesTab]=\"versionComponentTabs\" [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n\n </yvc-tabs>\n </ng-template>\n\n </div>\n</ng-container>\n\n<ng-template #noItem>\n <span class=\"not-found\" *ngIf=\"nodmsobject\" translate>eo.bpm.nodmsobject</span>\n <eo-error-message *ngIf=\"!showLoader\"\n [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto;--panel-divider-color: var(--panel-header-border-bottom-color)}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body .cmp-wrapper{height:100%;flex-flow:column;display:flex}:host .eo-body .cmp-wrapper .cmp-info{background-color:var(--panel-background);padding:2px}:host .eo-body .cmp-wrapper .cmp-info .version{margin:2px;border-radius:2px;background-color:var(--panel-background-lightgrey);border:1px dashed var(--panel-divider-color);color:var(--text-color-caption);text-align:center}:host .eo-body .cmp-wrapper .cmp-info .version>span{margin-inline-start:.5em;font-weight:700}:host .eo-body yvc-split-view,:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .sync-tab-btn.disable{display:none}:host .lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .lock.myLock{color:var(--color-white);background:var(--state-orange)!important}:host .not-found{color:var(--panel-background);text-align:center;margin:calc(var(--app-pane-padding) / 2);padding:calc(var(--app-pane-padding) / 4);border-radius:2px;flex:0 0 auto;background:var(--color-error)}:host .eo-header-status-icons{margin-top:var(--app-pane-padding);display:flex;justify-content:flex-end}:host .eo-header-status-icons>eo-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 4);color:var(--color-white);margin-left:1px;background-color:var(--color-primary-2)}:host .eo-header-status-icons>eo-icon:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}:host .eo-header-status-icons>eo-icon:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}:host .eo-header-status-icons>eo-icon.finalized-icon{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.inprocess{background-color:var(--color-light-gray)}:host .eo-header-status-icons>eo-icon.signed-icon.signed{background-color:var(--color-success)}:host .eo-header-status-icons>eo-icon.signed-icon.stopped{background-color:var(--color-error)}:host .eo-header-status-icons>eo-icon.lock{background:var(--color-error)!important;color:var(--color-white);width:18px;height:18px;border-radius:2px;padding:1px}:host .eo-header-status-icons>eo-icon.lock.myLock{background:var(--state-orange)!important}:host .eo-header-status-icons>a{margin:0 calc(var(--app-pane-padding) / 4);display:flex;align-items:center;color:var(--color-white);font-size:var(--font-hint);line-height:var(--font-hint);border-radius:2px;padding:0 4px 1px;text-decoration:none;background-color:var(--color-success)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .object-detail__loader{margin:auto}:host ::ng-deep yvc-tabs{flex:1;height:100%}:host ::ng-deep yvc-tabs>header{background-color:var(--panel-background)}:host ::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}:host ::ng-deep eo-media{height:100%;overflow:hidden;display:block}:host ::ng-deep .object-form-edit{position:relative;height:100%;margin:0;overflow:hidden;background:transparent!important}:host ::ng-deep .object-form-edit eo-object-form{background:transparent;overflow:auto}:host ::ng-deep .object-form-edit eo-object-form .eo-object-form{margin:var(--app-pane-padding);background:var(--panel-background);border:1px solid rgba(var(--color-black-rgb),.1)}:host ::ng-deep .object-form-edit .form-controls{animation:eoFadeInUp .2s}:host ::ng-deep .object-form-edit .form-controls .buttons{background:var(--panel-background);border-top:1px solid var(--panel-divider-color);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)!important}:host ::ng-deep .refresh-button.disable-refresh{cursor:default;color:var(--color-primary-3)}\n"] }]
|
|
19381
|
+
}], ctorParameters: () => [{ type: i2$1.Router }, { type: i2$1.ActivatedRoute }, { type: i1.SystemService }, { type: EmptyStateService }, { type: AgentService }, { type: i1.BackendService }, { type: i1.DmsService }, { type: SelectionService }, { type: ActionService }, { type: i1.CapabilitiesService }, { type: i1.UploadRegistryService }, { type: i1.EventService }, { type: i1.Config }, { type: i1.BpmService }, { type: i1.TranslateService }, { type: i0.ChangeDetectorRef }], propDecorators: { preview: [{
|
|
19830
19382
|
type: ViewChild,
|
|
19831
19383
|
args: ['viewer']
|
|
19832
19384
|
}], eoSplitTabs: [{
|
|
@@ -20090,7 +19642,7 @@ let RecyclebinDetailsComponent = class RecyclebinDetailsComponent {
|
|
|
20090
19642
|
ngAfterViewInit() {
|
|
20091
19643
|
}
|
|
20092
19644
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RecyclebinDetailsComponent, deps: [{ token: i2$1.Router }, { token: i1.SystemService }, { token: EmptyStateService }, { token: i1.BackendService }, { token: i1.UserService }, { token: i1.NotificationsService }, { token: i1.DmsService }, { token: SelectionService }, { token: i1.CapabilitiesService }, { token: i1.EventService }, { token: i1.Config }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20093
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: { plugins: "plugins", cacheLayout: "cacheLayout", applySelection: "applySelection", parseDmsParams: "parseDmsParams", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsObject: ["item", "dmsObject"] }, outputs: { hasContent: "hasContent" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\"\n class=\"button\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"button\" [ngClass]=\"{disabled: !this.item.rights.delete}\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"this.item.rights.delete ? ('eo.recyclebin.details.delete.tooltip' | translate) : ('eo.recyclebin.details.delete.disabled.tooltip' | translate)\"\n (click)=\"showDialog();\"></eo-icon>\n <button (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs>\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [useVersion]=\"item.id === item.content?.id\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.cta.button.delete</button>\n </div>\n</eo-dialog>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4)}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i19.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
19645
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: RecyclebinDetailsComponent, selector: "eo-recyclebin-details", inputs: { plugins: "plugins", cacheLayout: "cacheLayout", applySelection: "applySelection", parseDmsParams: "parseDmsParams", emptyState: "emptyState", dmsParams: ["params", "dmsParams"], dmsObject: ["item", "dmsObject"] }, outputs: { hasContent: "hasContent" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["viewer"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }], ngImport: i0, template: "<div class=\"loader-overlay__mask\" *ngIf=\"showLoader\">\n <eo-loading-spinner class=\"recyclebin-detail__loader\"></eo-loading-spinner>\n</div>\n<ng-container *ngIf=\"item && !hasError\">\n\n <div class=\"eo-head eo-head-tabs\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [objectType]=\"item.type\" [iconTitle]=\"item.type.label\"></eo-icon>\n\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 class=\"eo-header-subtitle\">{{item.description}}</h3>\n </div>\n\n <div class=\"actions\">\n <eo-icon *ngIf=\"item.content\"\n class=\"button\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\"\n (click)=\"downloadOriginalContent()\"></eo-icon>\n <eo-icon class=\"button\" [ngClass]=\"{disabled: !this.item.rights.delete}\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n [iconTitle]=\"this.item.rights.delete ? ('eo.recyclebin.details.delete.tooltip' | translate) : ('eo.recyclebin.details.delete.disabled.tooltip' | translate)\"\n (click)=\"showDialog();\"></eo-icon>\n <button (click)=\"restoreFile()\" translate>eo.recyclebin.details.restore</button>\n <button (click)=\"restoreFile(true)\" class=\"primary\"\n translate>eo.recyclebin.details.restoreopen</button>\n </div>\n </header>\n </div>\n <div class=\"eo-body\">\n <yvc-split-tabs>\n\n <ng-template [yvcTab]=\"{id: 'summary', label: 'eo.object.summary.title' | translate}\">\n <eo-indexdata-summary [indexdata]=\"indexDataPreview\" [baseparams]=\"baseparams\"\n [dmsObject]=\"item\"></eo-indexdata-summary>\n </ng-template>\n\n <ng-template [yvcTab]=\"{id: 'preview', label: 'eo.object.content.title' | translate}\">\n <eo-media *ngIf=\"item\" [useVersion]=\"item.id === item.content?.id\" [dmsObject]=\"item\" #viewer></eo-media>\n </ng-template>\n\n <ng-template *ngIf=\"isVisible('history')\"\n [yvcTab]=\"{id: 'history', label: 'eo.object.history.title' | translate}\">\n <eo-object-history [params]=\"{id: item.id, type: item.type?.qname}\">\n </eo-object-history>\n </ng-template>\n\n <!-- plugin tabs -->\n <ng-template *ngFor=\"let p of plugins\" [yvcTab]=\"{id: p.id, label: p.id | translate}\">\n <eo-plugin [id]=\"p.id\" [parent]=\"this\"></eo-plugin>\n </ng-template>\n </yvc-split-tabs>\n </div>\n</ng-container>\n\n<eo-dialog [title]=\"'eo.recyclebin.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'recyclebin-delete__dialog'\">\n\n <div>\n <span>{{'eo.recyclebin.details.delete.dialog.message' | translate}}</span>\n <br>\n <span class=\"recyclebin-delete__dialog_warning\">{{'eo.recyclebin.details.delete.dialog.message.warning' |\n translate}}</span>\n </div>\n <div class=\"action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"deleteDmsObject()\" class=\"button primary\"\n translate>eo.cta.button.delete</button>\n </div>\n</eo-dialog>\n", styles: [":host{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .eo-head .eo-header .eo-header-info .eo-header-title,:host .eo-head .eo-header .eo-header-info .eo-header-subtitle{-webkit-user-select:text;user-select:text}:host .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .actions eo-icon{padding:calc(var(--app-pane-padding) / 4)}:host .eo-body{background-color:var(--panel-background)}:host .eo-body__not-available{opacity:.4;background:rgba(var(--color-black-rgb),.4)}:host .eo-body yvc-split-tabs{height:100%}:host .sync-tab-btn.enabled{color:var(--color-accent)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .recyclebin-detail__loader{margin:auto}:host ::ng-deep div[eosplitgutter]{background-color:var(--color-white)!important}:host ::ng-deep .indexdata-summary,:host ::ng-deep .object-form-edit{margin:var(--app-pane-padding)}::ng-deep yvc-tabs{height:100%}::ng-deep yvc-tabs>header{background-color:var(--panel-background)}::ng-deep .yvc-split-area{background-color:var(--panel-background-grey)}::ng-deep eo-media{height:100%;overflow:hidden;display:block}::ng-deep .recyclebin-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .recyclebin-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .recyclebin-delete__dialog .recyclebin-delete__dialog_warning{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"], outputs: ["hasContentLoaded"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["baseparams", "enableVersions", "isChangesTab", "indexdata", "dmsObject", "diff"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i12.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "component", type: i19.SplitTabsComponent, selector: "yvc-split-tabs", inputs: ["layoutSettingsID", "config", "panelOrder"], outputs: ["layoutSettingsChange"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { kind: "component", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: ["params"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
20094
19646
|
};
|
|
20095
19647
|
RecyclebinDetailsComponent = __decorate([
|
|
20096
19648
|
UntilDestroy()
|
|
@@ -20902,7 +20454,7 @@ let PrepareDetailsComponent = class PrepareDetailsComponent {
|
|
|
20902
20454
|
}
|
|
20903
20455
|
}
|
|
20904
20456
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PrepareDetailsComponent, deps: [{ token: i1.PrepareService }, { token: i2$1.Router }, { token: PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SystemService }, { token: SelectionService }, { token: i1.BackendService }, { token: i1.CapabilitiesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20905
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PrepareDetailsComponent, selector: "eo-prepare-details", inputs: { preparedItem: "preparedItem", emptyState: "emptyState", applySelection: "applySelection" }, outputs: { onItemChanged: "onItemChanged", onCommit: "onCommit", onItemRemove: "onItemRemove" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true }, { propertyName: "objectForm", first: true, predicate: ["form"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }, { propertyName: "confirmContentDeleteButton", first: true, predicate: ["confirmContentDelete"], descendants: true }], ngImport: i0, template: "<div class=\"prepareDetails__wrapper\" *ngIf=\"!loading; else mainSpinner\">\n <section class=\"prepareDetails\" *ngIf=\"preparedItem && preparePhase; else noItem\"\n [ngClass]=\"{multifile: preparedItem.contentcount > 1, committing: committing}\">\n <div class=\"eo-head\">\n\n <div class=\"header-info\">\n <div class=\"header-title\">{{header.title}}</div>\n <div class=\"header-sub-title h-location\" *ngIf=\"!header.location.link; else linked\">{{header.location.label}}\n </div>\n <div class=\"header-sub-title h-subtitle\">{{header.subtitle}}</div>\n\n <ng-template #linked>\n <div class=\"header-sub-title h-subtitle-detailed\">\n <span translate>eo.prepare.location.title.prefix</span>\n <a [routerLink]=\"header.location.link\">{{header.location.label}}</a>\n </div>\n </ng-template>\n </div>\n\n <div class=\"actions\">\n <eo-icon class=\"btn btn-download\"\n *ngIf=\"preparePhase.name === 'content' ? selectedTemplateFile : preparePhase.data.previewFile\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" (click)=\"download()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <!-- buttons while choosing a template -->\n <ng-container *ngIf=\"chooseTemplate\">\n <button class=\"btn-tpl-abort\" (click)=\"showTemplateSelector(false)\"\n translate>eo.cta.button.cancel</button>\n <button class=\"primary btn-tpl-apply\" (click)=\"addTemplate(selectedTemplate)\" [disabled]=\"!selectedTemplate\"\n translate>eo.prepare.template.select</button>\n </ng-container>\n\n <ng-container *ngIf=\"preparePhase.name === 'indexdata'\">\n <button (click)=\"resetObjectType()\" translate>eo.prepare.resetObject</button>\n <button (click)=\"commit()\" class=\"btn-idx-save\"\n [ngClass]=\"{primary: preparedItem.state.parentisroot && preparedItem.contentcount > 1}\"\n [disabled]=\"formState?.invalid || committing\" translate>eo.prepare.save</button>\n\n <button (click)=\"commit(true)\" [disabled]=\"formState?.invalid || committing\" class=\"primary btn-idx-saveopen\"\n [hidden]=\"preparedItem?.state.parentisroot && preparedItem?.contentcount > 1\"\n translate>eo.prepare.saveopen</button>\n\n </ng-container>\n </div>\n\n </div>\n\n <div class=\"eo-body\" [ngSwitch]=\"preparePhase.name\" *ngIf=\"!committing; else spinner\">\n\n <!-- PHASE TYPE -->\n <div class=\"phase type\" *ngSwitchCase=\"'type'\">\n\n <!-- with preview -->\n <yvc-split-view *ngIf=\"preparePhase.data.previewFile; else nopreview\"\n [layoutSettingsID]=\"'prepare.details.phase.type'\">\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"form-files\">\n <div class=\"object-type-select empty\" *ngIf=\"preparedItem.types.length == 0\" translate>\n eo.prepare.details.type.empty</div>\n <div class=\"object-type-select empty\"\n *ngIf=\"!preparedItem.state.typeselectedallowed && preparedItem.state.typeselected\"\n [translateParams]=\"{type: preparedItem.selectedtype.label, filename: getFileNames(preparedItem)}\"\n translate>eo.prepare.details.type.notallowed</div>\n\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n\n\n <div class=\"content-select\">\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx;\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex == idx}\" (click)=\"setPreviewUri(idx)\">\n <span>{{content.path}}</span>\n <eo-icon class=\"btn btn-delete-content\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showContentDeleteDialog = true; deletedContentIndex = idx;\"></eo-icon>\n <div *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- without preview -->\n <ng-template #nopreview>\n <div class=\"form-files\">\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n </div>\n\n <!-- PHASE CONTENT -->\n <div class=\"phase content\" *ngSwitchCase=\"'content'\">\n\n <!-- panel for selecting a template to be used as items content -->\n <yvc-split-view *ngIf=\"chooseTemplate; else attach\" [layoutSettingsID]=\"'prepare.details.phase.content'\">\n <ng-template yvcSplitArea [size]=\"40\">\n <!-- list of available templates -->\n <eo-list-container #eoList [loading]=\"false\" class=\"templates\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_template.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.prepare.template.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [title]=\"'eo.list.filter' | translate\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.prepare.template.filter.text.title' | translate\"\n [matchFields]=\"['title', 'description', 'tags']\"\n [placeholder]=\"'eo.prepare.template.filter.text.title'\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.prepare.template.filter.set.title' | translate\"\n *ngIf=\"tagFilterOptions?.length\" [options]=\"tagFilterOptions\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"false\" [selectionLimit]=\"1\"\n (eoGridSelectionChanged)=\"selectTemplate($event[0])\">\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"60\">\n <!-- preview of selected template -->\n <eo-media [previewFile]=\"selectedTemplateFile\"></eo-media>\n </ng-template>\n </yvc-split-view>\n\n <!-- add content general overview (upload, template, none) -->\n <ng-template #attach>\n\n <div class=\"info\" *ngIf=\"!uploadInProgress\" translate>eo.prepare.attachment.info</div>\n <input type=\"file\" #file (change)=\"fileChangeListener($event.target.files)\">\n\n <div class=\"attachments\" *ngIf=\"!uploadInProgress; else uploadspinner\">\n\n <!-- upload a file -->\n <div class=\"attachment att-file\" *ngIf=\"preparePhase.data.file\" (click)=\"upload()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_file_upload.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.upload.title</h3>\n <p translate>eo.prepare.attachment.upload.desc</p>\n </div>\n\n <!-- select a template -->\n <div class=\"attachment att-tmpl\" *ngIf=\"preparePhase.data.templates.length > 0 && hasTemplateCapability()\"\n (click)=\"showTemplateSelector(true)\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare_add.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.template.title</h3>\n <p translate>eo.prepare.attachment.template.desc</p>\n </div>\n\n <!-- no file -->\n <div class=\"attachment att-none\" *ngIf=\"preparePhase.data.withoutFile\" (click)=\"noFile()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.nofile.title</h3>\n <p translate>eo.prepare.attachment.nofile.desc</p>\n </div>\n\n </div>\n\n </ng-template>\n\n <!-- upload progress indicator -->\n <ng-template #uploadspinner>\n <div class=\"upload-indicator\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- PHASE INDEXDATA -->\n <div class=\"phase indexdata\" *ngSwitchCase=\"'indexdata'\">\n\n <!-- form and preview -->\n <yvc-split-view *ngIf=\"preparedItem.contents; else justform\" [layoutSettingsID]=\"'prepare.state'\">\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"form-files\">\n\n <!-- indexdata form -->\n <ng-container *ngTemplateOutlet=\"justform\"></ng-container>\n\n <!-- list of contents (in case of bulk upload) that can be previewed -->\n <div class=\"content-select\">\n\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex === idx}\" (click)=\"setPreviewUri(idx)\">\n {{content.path}} <span *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- just the form -->\n <ng-template #justform>\n <div class=\"form-container situation-create\" *ngIf=\"formOptions\">\n <eo-object-form #form [formOptions]=\"formOptions\" (statusChanged)=\"onFormStatusChanged($event)\">\n </eo-object-form>\n </div>\n </ng-template>\n </div>\n </div>\n </section>\n\n <ng-template #spinner>\n <div class=\"eo-body\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n </ng-template>\n\n</div>\n\n<ng-template #mainSpinner>\n <div class=\"prepareDetails__main-spinner\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n</ng-template>\n\n\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"removeItem(preparedItem)\" class=\"button primary\"\n translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.content.dialog.title' | translate\" [(visible)]=\"showContentDeleteDialog\"\n [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.content.dialog.message' | translate: ({contentPath: preparedItem?.contents ?\n preparedItem?.contents[deletedContentIndex]?.path : ''})}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showContentDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmContentDelete (click)=\"removeItemContent(preparedItem, deletedContentIndex)\"\n class=\"button primary\" translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n", styles: [":host{height:100%;--split-gutter-background-color: var(--panel-background)}:host yvc-split-view{height:100%}:host .prepareDetails{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .prepareDetails .eo-media-wrap{height:100%;display:flex;flex-flow:column}:host .prepareDetails .eo-media-wrap eo-media{flex:1;position:relative}:host .prepareDetails__wrapper{height:100%}:host .prepareDetails__main-spinner{height:100%;display:flex;justify-content:center;align-items:center}:host .prepareDetails .content-select{display:none}:host .prepareDetails .eo-head{background-color:var(--color-white);display:flex;flex-flow:row nowrap}:host .prepareDetails .eo-head .header-info{font-size:var(--font-caption);color:var(--text-color-caption);flex:1 1 auto}:host .prepareDetails .eo-head .header-info .header-title{font-size:var(--font-title);color:var(--text-color-body);padding-bottom:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .header-info a{color:var(--color-accent);cursor:pointer;text-decoration:none}:host .prepareDetails .eo-head .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .prepareDetails .eo-head .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .prepareDetails .eo-head .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .prepareDetails .eo-body{overflow-y:hidden}:host .prepareDetails .phase{height:100%;overflow-y:auto}:host .prepareDetails .phase.content{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates{background:linear-gradient(to right,#fff 70%,var(--panel-background-lightgrey) 100%)}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent!important}:host .prepareDetails .phase.content ::ng-deep yvc-split-view{width:100%;height:100%}:host .prepareDetails .phase.content input[type=file]{display:none}:host .prepareDetails .phase.content .info{flex:0 0 auto;color:var(--text-color-caption);margin-bottom:var(--app-pane-padding)}:host .prepareDetails .phase.content .attachments{flex:0 0 auto;display:flex;flex-flow:row}:host .prepareDetails .phase.content .attachments .attachment:hover .img eo-icon{opacity:1}:host .prepareDetails .phase.content .attachments .attachment{background:var(--color-white);cursor:pointer;margin:calc(var(--app-pane-padding) / 2);max-width:200px;border-bottom:1px solid rgba(var(--color-black-rgb),.1)}:host .prepareDetails .phase.content .attachments .attachment .img{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:calc(var(--app-pane-padding) * 2) 0;background:var(--color-accent)}:host .prepareDetails .phase.content .attachments .attachment .img eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.content .attachments .attachment h3{font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);font-size:var(--font-subhead)}:host .prepareDetails .phase.content .attachments .attachment p{margin:0;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding);color:var(--text-color-caption)}:host .prepareDetails .phase div[eosplitgutter]{background-color:var(--color-light-blue)!important}:host .prepareDetails .phase.type .form-files .object-type-select{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type{display:flex;flex-flow:row nowrap;align-items:center;background:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin-bottom:1px;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .type-icon{color:var(--text-color-hint)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content{padding-left:calc(var(--app-pane-padding) / 2);overflow:hidden}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .title{font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .description{color:var(--text-color-caption);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase .form-container eo-object-form{display:block;margin:var(--app-pane-padding)}:host .prepareDetails.committing .eo-head .actions .btn,:host .prepareDetails.committing .eo-head .actions button{display:none}:host .prepareDetails.committing .eo-body{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails.multifile .form-files{height:100%;display:flex;flex-flow:column}:host .prepareDetails.multifile .form-files .form-container{flex:1 1 auto;overflow-y:auto}:host .prepareDetails.multifile .content-select{border-top:1px solid var(--main-background);overflow-y:auto;box-sizing:border-box;display:block;padding:calc(var(--app-pane-padding) / 2);flex:0 0 30%}:host .prepareDetails.multifile .content-select h2{margin:0;padding:calc(var(--app-pane-padding) / 2);padding-bottom:var(--app-pane-padding);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content{overflow:hidden;text-overflow:ellipsis;padding:calc(var(--app-pane-padding) / 2);margin-bottom:calc(var(--app-pane-padding) / 2);color:var(--text-color-caption);cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;background:var(--color-white);justify-content:space-between;gap:8px}:host .prepareDetails.multifile .content-select .content>span{text-overflow:ellipsis;overflow:hidden;flex:1}:host .prepareDetails.multifile .content-select .content .btn-delete-content{width:16px;flex:0 0 16px;height:16px;color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content .btn-delete-content:hover{background-color:var(--text-color-hint)}:host .prepareDetails.multifile .content-select .content div.attention{display:block;flex:0 0 auto;right:4px;top:8px;border-radius:2px;padding:0 4px;color:var(--color-warning);line-height:1em;border:1px solid var(--color-warning)}:host .prepareDetails.multifile .content-select .content.selected{color:var(--color-accent)}:host .prepareDetails.multifile .content-select .content:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row .ag-cell{border-bottom-color:var(--panel-header-border-bottom-color)}:host ::ng-deep eo-list-container .eo-head{height:48px}:host ::ng-deep eo-list-container .eo-head,:host ::ng-deep eo-list-container .eo-grid-header,:host ::ng-deep eo-list-container .eo-grid-footer{background:transparent;border-color:var(--panel-header-border-bottom-color)}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon{color:var(--text-color-hint)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon:hover{color:var(--text-color-caption)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon.active{color:var(--color-accent)!important}:host ::ng-deep .eo-header-title{color:var(--text-color-caption)}:host ::ng-deep .eo-header-icon{color:var(--text-color-caption)}:host ::ng-deep .template{margin-bottom:1px;cursor:pointer;color:var(--text-color-caption)}:host ::ng-deep .template .title{font-size:var(--font-body);font-weight:var(--font-weight-bold)}:host ::ng-deep .template .description{color:var(--text-color-caption)}:host ::ng-deep .template .chip{display:initial!important}::ng-deep .prepare-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .prepare-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: PrepareContentExistsInfoComponent, selector: "eo-prepare-content-exists-info", inputs: ["content"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
20457
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PrepareDetailsComponent, selector: "eo-prepare-details", inputs: { preparedItem: "preparedItem", emptyState: "emptyState", applySelection: "applySelection" }, outputs: { onItemChanged: "onItemChanged", onCommit: "onCommit", onItemRemove: "onItemRemove" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true }, { propertyName: "objectForm", first: true, predicate: ["form"], descendants: true }, { propertyName: "confirmDeleteButton", first: true, predicate: ["confirmDelete"], descendants: true }, { propertyName: "confirmContentDeleteButton", first: true, predicate: ["confirmContentDelete"], descendants: true }], ngImport: i0, template: "<div class=\"prepareDetails__wrapper\" *ngIf=\"!loading; else mainSpinner\">\n <section class=\"prepareDetails\" *ngIf=\"preparedItem && preparePhase; else noItem\"\n [ngClass]=\"{multifile: preparedItem.contentcount > 1, committing: committing}\">\n <div class=\"eo-head\">\n\n <div class=\"header-info\">\n <div class=\"header-title\">{{header.title}}</div>\n <div class=\"header-sub-title h-location\" *ngIf=\"!header.location.link; else linked\">{{header.location.label}}\n </div>\n <div class=\"header-sub-title h-subtitle\">{{header.subtitle}}</div>\n\n <ng-template #linked>\n <div class=\"header-sub-title h-subtitle-detailed\">\n <span translate>eo.prepare.location.title.prefix</span>\n <a [routerLink]=\"header.location.link\">{{header.location.label}}</a>\n </div>\n </ng-template>\n </div>\n\n <div class=\"actions\">\n <eo-icon class=\"btn btn-download\"\n *ngIf=\"preparePhase.name === 'content' ? selectedTemplateFile : preparePhase.data.previewFile\"\n [iconSrc]=\"'assets/_default/svg/ic_content-download.svg'\"\n [iconTitle]=\"('eo.action.download.dms.object.content.label' | translate)\" (click)=\"download()\"></eo-icon>\n <eo-icon class=\"btn btn-delete\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showDeleteDialog = true;\"></eo-icon>\n <!-- buttons while choosing a template -->\n <ng-container *ngIf=\"chooseTemplate\">\n <button class=\"btn-tpl-abort\" (click)=\"showTemplateSelector(false)\"\n translate>eo.cta.button.cancel</button>\n <button class=\"primary btn-tpl-apply\" (click)=\"addTemplate(selectedTemplate)\" [disabled]=\"!selectedTemplate\"\n translate>eo.prepare.template.select</button>\n </ng-container>\n\n <ng-container *ngIf=\"preparePhase.name === 'indexdata'\">\n <button (click)=\"resetObjectType()\" translate>eo.prepare.resetObject</button>\n <button (click)=\"commit()\" class=\"btn-idx-save\"\n [ngClass]=\"{primary: preparedItem.state.parentisroot && preparedItem.contentcount > 1}\"\n [disabled]=\"formState?.invalid || committing\" translate>eo.prepare.save</button>\n\n <button (click)=\"commit(true)\" [disabled]=\"formState?.invalid || committing\" class=\"primary btn-idx-saveopen\"\n [hidden]=\"preparedItem?.state.parentisroot && preparedItem?.contentcount > 1\"\n translate>eo.prepare.saveopen</button>\n\n </ng-container>\n </div>\n\n </div>\n\n <div class=\"eo-body\" [ngSwitch]=\"preparePhase.name\" *ngIf=\"!committing; else spinner\">\n\n <!-- PHASE TYPE -->\n <div class=\"phase type\" *ngSwitchCase=\"'type'\">\n\n <!-- with preview -->\n <yvc-split-view *ngIf=\"preparePhase.data.previewFile; else nopreview\"\n [layoutSettingsID]=\"'prepare.details.phase.type'\">\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"form-files\">\n <div class=\"object-type-select empty\" *ngIf=\"preparedItem.types.length == 0\" translate>\n eo.prepare.details.type.empty</div>\n <div class=\"object-type-select empty\"\n *ngIf=\"!preparedItem.state.typeselectedallowed && preparedItem.state.typeselected\"\n [translateParams]=\"{type: preparedItem.selectedtype.label, filename: getFileNames(preparedItem)}\"\n translate>eo.prepare.details.type.notallowed</div>\n\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n\n\n <div class=\"content-select\">\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx;\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex == idx}\" (click)=\"setPreviewUri(idx)\">\n <span>{{content.path}}</span>\n <eo-icon class=\"btn btn-delete-content\" [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"\n (click)=\"showContentDeleteDialog = true; deletedContentIndex = idx;\"></eo-icon>\n <div *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- without preview -->\n <ng-template #nopreview>\n <div class=\"form-files\">\n <div class=\"object-type-select\">\n <div class=\"object-type\" *ngFor=\"let type of preparedItem.types; trackBy: trackByIdFn\"\n (click)=\"selectObjectType(type)\">\n <div class=\"type-icon\">\n <eo-icon [iconId]=\"type.icon.id\"></eo-icon>\n </div>\n <div class=\"content\">\n <div class=\"title\">{{type.label}}</div>\n <div class=\"description\">{{type.description}}</div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n\n </div>\n\n <!-- PHASE CONTENT -->\n <div class=\"phase content\" *ngSwitchCase=\"'content'\">\n\n <!-- panel for selecting a template to be used as items content -->\n <yvc-split-view *ngIf=\"chooseTemplate; else attach\" [layoutSettingsID]=\"'prepare.details.phase.content'\">\n <ng-template yvcSplitArea [size]=\"40\">\n <!-- list of available templates -->\n <eo-list-container #eoList [loading]=\"false\" class=\"templates\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_template.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.prepare.template.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n\n <eo-overlay #oFilter [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [title]=\"'eo.list.filter' | translate\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.prepare.template.filter.text.title' | translate\"\n [matchFields]=\"['title', 'description', 'tags']\"\n [placeholder]=\"'eo.prepare.template.filter.text.title'\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.prepare.template.filter.set.title' | translate\"\n *ngIf=\"tagFilterOptions?.length\" [options]=\"tagFilterOptions\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"false\" [selectionLimit]=\"1\"\n (eoGridSelectionChanged)=\"selectTemplate($event[0])\">\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"60\">\n <!-- preview of selected template -->\n <eo-media [previewFile]=\"selectedTemplateFile\"></eo-media>\n </ng-template>\n </yvc-split-view>\n\n <!-- add content general overview (upload, template, none) -->\n <ng-template #attach>\n\n <div class=\"info\" *ngIf=\"!uploadInProgress\" translate>eo.prepare.attachment.info</div>\n <input type=\"file\" #file (change)=\"fileChangeListener($event.target.files)\">\n\n <div class=\"attachments\" *ngIf=\"!uploadInProgress; else uploadspinner\">\n\n <!-- upload a file -->\n <div class=\"attachment att-file\" *ngIf=\"preparePhase.data.file\" (click)=\"upload()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_file_upload.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.upload.title</h3>\n <p translate>eo.prepare.attachment.upload.desc</p>\n </div>\n\n <!-- select a template -->\n <div class=\"attachment att-tmpl\" *ngIf=\"preparePhase.data.templates.length > 0 && hasTemplateCapability()\"\n (click)=\"showTemplateSelector(true)\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_prepare_add.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.template.title</h3>\n <p translate>eo.prepare.attachment.template.desc</p>\n </div>\n\n <!-- no file -->\n <div class=\"attachment att-none\" *ngIf=\"preparePhase.data.withoutFile\" (click)=\"noFile()\">\n <div class=\"img\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n </div>\n <h3 translate>eo.prepare.attachment.nofile.title</h3>\n <p translate>eo.prepare.attachment.nofile.desc</p>\n </div>\n\n </div>\n\n </ng-template>\n\n <!-- upload progress indicator -->\n <ng-template #uploadspinner>\n <div class=\"upload-indicator\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- PHASE INDEXDATA -->\n <div class=\"phase indexdata\" *ngSwitchCase=\"'indexdata'\">\n\n <!-- form and preview -->\n <yvc-split-view *ngIf=\"preparedItem.contents; else justform\" [layoutSettingsID]=\"'prepare.state'\">\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"form-files\">\n\n <!-- indexdata form -->\n <ng-container *ngTemplateOutlet=\"justform\"></ng-container>\n\n <!-- list of contents (in case of bulk upload) that can be previewed -->\n <div class=\"content-select\">\n\n <h2 translate>eo.prepare.details.contents.title</h2>\n <div class=\"content\"\n *ngFor=\"let content of preparedItem.contents; trackBy: trackByIndexFn; index as idx\"\n [ngClass]=\"{selected: preparePhase.data.previewIndex === idx}\" (click)=\"setPreviewUri(idx)\">\n {{content.path}} <span *ngIf=\"content.existscount > 0\" class=\"attention\"\n title=\"{{'eo.prepare.content.existscount.message'|translate: ({count: content.existscount})}}\">!</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"50\">\n <div class=\"eo-media-wrap\">\n <eo-prepare-content-exists-info [content]=\"preparedItem.contents[preparePhase.data.previewIndex]\">\n </eo-prepare-content-exists-info>\n <eo-media [dmsObject]=\"pseudoDmsObject\" [previewFile]=\"preparePhase.data.previewFile\"></eo-media>\n </div>\n </ng-template>\n </yvc-split-view>\n\n <!-- just the form -->\n <ng-template #justform>\n <div class=\"form-container situation-create\" *ngIf=\"formOptions\">\n <eo-object-form #form [formOptions]=\"formOptions\" (statusChanged)=\"onFormStatusChanged($event)\">\n </eo-object-form>\n </div>\n </ng-template>\n </div>\n </div>\n </section>\n\n <ng-template #spinner>\n <div class=\"eo-body\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n </ng-template>\n\n</div>\n\n<ng-template #mainSpinner>\n <div class=\"prepareDetails__main-spinner\">\n <eo-loading-spinner size=\"medium\"></eo-loading-spinner>\n </div>\n</ng-template>\n\n\n<ng-template #noItem>\n <eo-error-message [emptyState]=\"{icon: emptyState.icon, text: emptyState.text, className: emptyState.className}\">\n <ng-content select=\".error\"></ng-content>\n </eo-error-message>\n</ng-template>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmDelete (click)=\"removeItem(preparedItem)\" class=\"button primary\"\n translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"'eo.prepare.details.delete.content.dialog.title' | translate\" [(visible)]=\"showContentDeleteDialog\"\n [minWidth]=\"400\" [styleClass]=\"'prepare-delete__dialog'\">\n\n <div>{{'eo.prepare.details.delete.content.dialog.message' | translate: ({contentPath: preparedItem?.contents ?\n preparedItem?.contents[deletedContentIndex]?.path : ''})}}</div>\n\n <div class=\"action-buttons prepare-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showContentDeleteDialog = false\"\n translate>eo.cta.button.cancel</button>\n <button type=\"button\" #confirmContentDelete (click)=\"removeItemContent(preparedItem, deletedContentIndex)\"\n class=\"button primary\" translate>eo.prepare.details.delete.dialog.ok</button>\n </div>\n</eo-dialog>\n", styles: [":host{height:100%;--split-gutter-background-color: var(--panel-background)}:host yvc-split-view{height:100%}:host .prepareDetails{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;background:var(--panel-background-grey);height:100%;overflow-y:auto}:host .prepareDetails .eo-media-wrap{height:100%;display:flex;flex-flow:column}:host .prepareDetails .eo-media-wrap eo-media{flex:1;position:relative}:host .prepareDetails__wrapper{height:100%}:host .prepareDetails__main-spinner{height:100%;display:flex;justify-content:center;align-items:center}:host .prepareDetails .content-select{display:none}:host .prepareDetails .eo-head{background-color:var(--color-white);display:flex;flex-flow:row nowrap}:host .prepareDetails .eo-head .header-info{font-size:var(--font-caption);color:var(--text-color-caption);flex:1 1 auto}:host .prepareDetails .eo-head .header-info .header-title{font-size:var(--font-title);color:var(--text-color-body);padding-bottom:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .header-info a{color:var(--color-accent);cursor:pointer;text-decoration:none}:host .prepareDetails .eo-head .actions{display:flex;align-items:center;align-self:flex-start}[dir=ltr] :host .prepareDetails .eo-head .actions button{margin-left:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .prepareDetails .eo-head .actions button{margin-right:calc(var(--app-pane-padding) / 2)}:host .prepareDetails .eo-head .actions eo-icon{padding:calc(var(--app-pane-padding) / 4);cursor:pointer}:host .prepareDetails .eo-body{overflow-y:hidden}:host .prepareDetails .phase{height:100%;overflow-y:auto}:host .prepareDetails .phase.content{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates{background:linear-gradient(to right,#fff 70%,var(--panel-background-lightgrey) 100%)}:host .prepareDetails .phase.content ::ng-deep eo-list-container.templates eo-grid ag-grid-angular.ag-theme-balham .chip:last-of-type:after{background:transparent!important}:host .prepareDetails .phase.content ::ng-deep yvc-split-view{width:100%;height:100%}:host .prepareDetails .phase.content input[type=file]{display:none}:host .prepareDetails .phase.content .info{flex:0 0 auto;color:var(--text-color-caption);margin-bottom:var(--app-pane-padding)}:host .prepareDetails .phase.content .attachments{flex:0 0 auto;display:flex;flex-flow:row}:host .prepareDetails .phase.content .attachments .attachment:hover .img eo-icon{opacity:1}:host .prepareDetails .phase.content .attachments .attachment{background:var(--color-white);cursor:pointer;margin:calc(var(--app-pane-padding) / 2);max-width:200px;border-bottom:1px solid rgba(var(--color-black-rgb),.1)}:host .prepareDetails .phase.content .attachments .attachment .img{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:calc(var(--app-pane-padding) * 2) 0;background:var(--color-accent)}:host .prepareDetails .phase.content .attachments .attachment .img eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.content .attachments .attachment h3{font-weight:var(--font-weight-normal);margin:0;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);font-size:var(--font-subhead)}:host .prepareDetails .phase.content .attachments .attachment p{margin:0;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding);color:var(--text-color-caption)}:host .prepareDetails .phase div[eosplitgutter]{background-color:var(--color-light-blue)!important}:host .prepareDetails .phase.type .form-files .object-type-select{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type{display:flex;flex-flow:row nowrap;align-items:center;background:var(--color-white);padding:calc(var(--app-pane-padding) / 2);margin-bottom:1px;cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .type-icon{color:var(--text-color-hint)}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content{padding-left:calc(var(--app-pane-padding) / 2);overflow:hidden}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .title{font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase.type .form-files .object-type-select .object-type .content .description{color:var(--text-color-caption);overflow:hidden;text-overflow:ellipsis}:host .prepareDetails .phase .form-container eo-object-form{display:block;margin:var(--app-pane-padding)}:host .prepareDetails.committing .eo-head .actions .btn,:host .prepareDetails.committing .eo-head .actions button{display:none}:host .prepareDetails.committing .eo-body{display:flex;flex-flow:column;align-items:center;justify-content:center}:host .prepareDetails.multifile .form-files{height:100%;display:flex;flex-flow:column}:host .prepareDetails.multifile .form-files .form-container{flex:1 1 auto;overflow-y:auto}:host .prepareDetails.multifile .content-select{border-top:1px solid var(--main-background);overflow-y:auto;box-sizing:border-box;display:block;padding:calc(var(--app-pane-padding) / 2);flex:0 0 30%}:host .prepareDetails.multifile .content-select h2{margin:0;padding:calc(var(--app-pane-padding) / 2);padding-bottom:var(--app-pane-padding);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content{overflow:hidden;text-overflow:ellipsis;padding:calc(var(--app-pane-padding) / 2);margin-bottom:calc(var(--app-pane-padding) / 2);color:var(--text-color-caption);cursor:pointer;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;background:var(--color-white);justify-content:space-between;gap:8px}:host .prepareDetails.multifile .content-select .content>span{text-overflow:ellipsis;overflow:hidden;flex:1}:host .prepareDetails.multifile .content-select .content .btn-delete-content{width:16px;flex:0 0 16px;height:16px;color:var(--text-color-caption)}:host .prepareDetails.multifile .content-select .content .btn-delete-content:hover{background-color:var(--text-color-hint)}:host .prepareDetails.multifile .content-select .content div.attention{display:block;flex:0 0 auto;right:4px;top:8px;border-radius:2px;padding:0 4px;color:var(--color-warning);line-height:1em;border:1px solid var(--color-warning)}:host .prepareDetails.multifile .content-select .content.selected{color:var(--color-accent)}:host .prepareDetails.multifile .content-select .content:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row{background:transparent}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row:hover{background:var(--panel-background-lightgrey)}:host ::ng-deep eo-grid ag-grid-angular.ag-theme-balham .ag-row .ag-cell{border-bottom-color:var(--panel-header-border-bottom-color)}:host ::ng-deep eo-list-container .eo-head{height:48px}:host ::ng-deep eo-list-container .eo-head,:host ::ng-deep eo-list-container .eo-grid-header,:host ::ng-deep eo-list-container .eo-grid-footer{background:transparent;border-color:var(--panel-header-border-bottom-color)}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon{color:var(--text-color-hint)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon:hover{color:var(--text-color-caption)!important}:host ::ng-deep .eo-head .eo-header .eo-header-actions eo-icon.active{color:var(--color-accent)!important}:host ::ng-deep .eo-header-title{color:var(--text-color-caption)}:host ::ng-deep .eo-header-icon{color:var(--text-color-caption)}:host ::ng-deep .template{margin-bottom:1px;cursor:pointer;color:var(--text-color-caption)}:host ::ng-deep .template .title{font-size:var(--font-body);font-weight:var(--font-weight-bold)}:host ::ng-deep .template .description{color:var(--text-color-caption)}:host ::ng-deep .template .chip{display:initial!important}::ng-deep .prepare-delete__dialog{padding:8px;min-height:unset!important}::ng-deep .prepare-delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ObjectFormComponent, selector: "eo-object-form", inputs: ["isInnerTableForm", "formOptions"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"], outputs: ["hasContentLoaded"] }, { kind: "component", type: GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i20.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i20.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: PrepareContentExistsInfoComponent, selector: "eo-prepare-content-exists-info", inputs: ["content"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
20906
20458
|
};
|
|
20907
20459
|
PrepareDetailsComponent = __decorate([
|
|
20908
20460
|
UntilDestroy()
|
|
@@ -21901,7 +21453,12 @@ let ResultListComponent = class ResultListComponent {
|
|
|
21901
21453
|
this.csvLoadingSpinnerVisibility = true;
|
|
21902
21454
|
this.updateQuery({});
|
|
21903
21455
|
this.showWarnExportCSVThresholdDialog = false;
|
|
21904
|
-
this.
|
|
21456
|
+
const queryJson = this.query.getQueryJson(this.resolveReferencesCsv);
|
|
21457
|
+
queryJson.fields = [];
|
|
21458
|
+
this.resultGridOptions?.columnDefs.forEach(colDef => {
|
|
21459
|
+
queryJson.fields.push(colDef['field'] + ' ' + colDef.headerName);
|
|
21460
|
+
});
|
|
21461
|
+
this.searchService.downloadCsvFromQuery(queryJson).subscribe(() => {
|
|
21905
21462
|
this.csvLoadingSpinnerVisibility = false;
|
|
21906
21463
|
});
|
|
21907
21464
|
}
|
|
@@ -22987,10 +22544,10 @@ class AboutStateComponent {
|
|
|
22987
22544
|
this.backend = backend;
|
|
22988
22545
|
this.userService = userService;
|
|
22989
22546
|
this.config = config;
|
|
22990
|
-
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/common", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/core", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/forms", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/router", "version": "18.0.4", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.
|
|
22547
|
+
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.3.2", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.3.2", "license": "MIT" }, { "name": "@angular/animations", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/cdk", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/common", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/compiler", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/core", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/forms", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "18.0.4", "license": "MIT" }, { "name": "@angular/router", "version": "18.0.4", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.16.3", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.5.0-rc.3", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "18.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@yuuvis/components", "version": "18.0.6", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "18.0.0", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "19.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.3", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.7", "license": "MIT" }];
|
|
22991
22548
|
this.ctrl = {
|
|
22992
22549
|
componentName: 'yuuvis® RAD client',
|
|
22993
|
-
componentVersion: '11.
|
|
22550
|
+
componentVersion: '11.6.0-rc.1',
|
|
22994
22551
|
productName: '',
|
|
22995
22552
|
productVersion: ''
|
|
22996
22553
|
};
|