@eo-sdk/client 11.0.0-beta.1 → 11.0.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-client/dashboard/dashboard.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +2 -0
- package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +2 -0
- package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts +21 -0
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts.map +1 -0
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +14 -7
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -1
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts +7 -0
- package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts.map +1 -0
- package/app/eo-client/eo-client.module.d.ts +18 -17
- package/app/eo-client/eo-client.module.d.ts.map +1 -1
- package/app/eo-client/settings/settings.component.d.ts +2 -11
- package/app/eo-client/settings/settings.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +7 -3
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-shell.module.d.ts +17 -16
- package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
- package/app/eo-framework/app-shell/index.d.ts +1 -0
- package/app/eo-framework/app-shell/index.d.ts.map +1 -1
- package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts +10 -0
- package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts.map +1 -0
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +1 -0
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
- package/app/eo-framework/prepare-details/prepare-details.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-entry/indexdata-summary-entry.component.d.ts.map +1 -1
- package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
- package/app/eo-framework-core/error-handler/error-handler.service.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +11 -6
- package/assets/_default/i18n/en.json +13 -8
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +3 -1
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +11 -3
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +39 -8
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +12 -11
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +69 -0
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +91 -22
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.mjs +2 -0
- package/esm2022/app/eo-client/eo-client.module.mjs +6 -3
- package/esm2022/app/eo-client/settings/settings.component.mjs +28 -40
- package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
- package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +4 -3
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +34 -22
- package/esm2022/app/eo-framework/app-shell/app-shell.module.mjs +13 -7
- package/esm2022/app/eo-framework/app-shell/index.mjs +2 -1
- package/esm2022/app/eo-framework/app-shell/license-warning/license-warning.component.mjs +26 -0
- package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +19 -15
- package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +4 -1
- package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +2 -2
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +2 -2
- package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +15 -4
- package/esm2022/app/eo-framework/result-list/result-list.component.mjs +16 -1
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +10 -1
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +2 -2
- package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +2 -2
- package/esm2022/app/eo-framework-core/api/grid.service.mjs +15 -19
- package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +6 -6
- package/fesm2022/eo-sdk-client.mjs +374 -146
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -4,7 +4,7 @@ import * as i2$2 from '@angular/common';
|
|
|
4
4
|
import { DecimalPipe, PercentPipe, CurrencyPipe, DatePipe, getLocaleDateTimeFormat, FormatWidth, getLocaleTimeFormat, getLocaleDateFormat, CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from '@angular/common/http';
|
|
6
6
|
import { HttpResponse, HttpErrorResponse, HttpClientModule, HTTP_INTERCEPTORS, HttpHeaders } from '@angular/common/http';
|
|
7
|
-
import { ReplaySubject, BehaviorSubject, from, forkJoin, of, Subject, fromEvent, firstValueFrom, AsyncSubject, Observable,
|
|
7
|
+
import { ReplaySubject, BehaviorSubject, from, forkJoin, of, Subject, fromEvent, firstValueFrom, AsyncSubject, Observable, tap as tap$1, EMPTY, map as map$1, skip, switchMap as switchMap$1, catchError as catchError$1 } from 'rxjs';
|
|
8
8
|
import { groupBy, mergeMap, reduce, tap, catchError, map, debounceTime, throttleTime, filter, switchMap, take, combineLatest, finalize, pluck, withLatestFrom, first } 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';
|
|
@@ -17,7 +17,7 @@ import * as i1$1 from '@angular/platform-browser';
|
|
|
17
17
|
import * as i1$2 from '@angular/forms';
|
|
18
18
|
import { Validators, UntypedFormControl, UntypedFormGroup, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgModel, FormsModule, ReactiveFormsModule, FormGroup, FormControl, NgForm } from '@angular/forms';
|
|
19
19
|
import * as i12 from '@yuuvis/components/tabs';
|
|
20
|
-
import { YvcTabsModule, Tabs } from '@yuuvis/components/tabs';
|
|
20
|
+
import { YvcTabsModule, Tabs, YvcTabDirective } from '@yuuvis/components/tabs';
|
|
21
21
|
import * as i4 from '@ngx-translate/core';
|
|
22
22
|
import { CdkPortalOutlet } from '@angular/cdk/portal';
|
|
23
23
|
import * as i2$3 from '@yuuvis/components/overlay';
|
|
@@ -30,13 +30,13 @@ import * as i7 from '@yuuvis/components/autocomplete';
|
|
|
30
30
|
import { YvcAutocompleteModule } from '@yuuvis/components/autocomplete';
|
|
31
31
|
import * as i3 from '@yuuvis/components/datepicker';
|
|
32
32
|
import { YvcDatepickerModule } from '@yuuvis/components/datepicker';
|
|
33
|
-
import * as
|
|
33
|
+
import * as i5$1 from '@yuuvis/components/dropdown';
|
|
34
34
|
import { YvcDropdownModule } from '@yuuvis/components/dropdown';
|
|
35
35
|
import * as i2$4 from '@yuuvis/components/icon';
|
|
36
36
|
import { YvcIconModule } from '@yuuvis/components/icon';
|
|
37
37
|
import * as i2$5 from '@yuuvis/components/checkbox';
|
|
38
38
|
import { YvcCheckboxModule } from '@yuuvis/components/checkbox';
|
|
39
|
-
import * as i4$
|
|
39
|
+
import * as i4$1 from '@yuuvis/components/chips';
|
|
40
40
|
import { YvcChipsModule } from '@yuuvis/components/chips';
|
|
41
41
|
import { trigger, state, style, transition, animate, query, stagger } from '@angular/animations';
|
|
42
42
|
import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
|
|
@@ -50,7 +50,7 @@ import { YvcSplitViewModule } from '@yuuvis/components/split-view';
|
|
|
50
50
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
51
51
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
52
52
|
import { YvcDialogModule } from '@yuuvis/components/dialog';
|
|
53
|
-
import * as i4$
|
|
53
|
+
import * as i4$2 from '@angular/cdk/drag-drop';
|
|
54
54
|
import { transferArrayItem, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';
|
|
55
55
|
import * as i3$1 from '@yuuvis/components/common';
|
|
56
56
|
import { YvcAutofocusChild } from '@yuuvis/components/common';
|
|
@@ -2127,13 +2127,12 @@ class CellRenderer {
|
|
|
2127
2127
|
const link = Utils.buildUri('result', {
|
|
2128
2128
|
query: encodeURIComponent(JSON.stringify(query))
|
|
2129
2129
|
});
|
|
2130
|
-
val += `<div class="chip"
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
</a><span>${GridService.escapeHtml(value)}</span></div>`;
|
|
2130
|
+
val += `<div class="chip">` +
|
|
2131
|
+
`<a class="link router-link" href="${link}" target="_blank" onclick="return false;">` +
|
|
2132
|
+
`<svg focusable="false" class="ref-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">` +
|
|
2133
|
+
`<path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 ` +
|
|
2134
|
+
`13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path>` +
|
|
2135
|
+
`</svg></a><span>${GridService.escapeHtml(value)}</span></div>`;
|
|
2137
2136
|
});
|
|
2138
2137
|
}
|
|
2139
2138
|
return val;
|
|
@@ -2156,17 +2155,14 @@ class CellRenderer {
|
|
|
2156
2155
|
? param.value[index]
|
|
2157
2156
|
: param.value;
|
|
2158
2157
|
// If the user is not allowed to see the reference object or the object was deleted, we don't show the link.
|
|
2159
|
-
text += `<div class="chip"
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
</a>`}
|
|
2168
|
-
<img class="type-icon" src="${iconUrl}" title="${type.label}">
|
|
2169
|
-
<span>${GridService.escapeHtml(title || type.label)}</span></div>`;
|
|
2158
|
+
text += `<div class="chip">` +
|
|
2159
|
+
(!title ? '' : `<a class="link router-link" href="${link}" target="_blank" onclick="return false;">` +
|
|
2160
|
+
`<svg focusable="false" class="ref-icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">` +
|
|
2161
|
+
`<path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 ` +
|
|
2162
|
+
`13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path>` +
|
|
2163
|
+
`</svg></a>`) +
|
|
2164
|
+
`<img class="type-icon" src="${iconUrl}" title="${type.label}">` +
|
|
2165
|
+
`<span>${GridService.escapeHtml(title || type.label)}</span></div>`;
|
|
2170
2166
|
});
|
|
2171
2167
|
}
|
|
2172
2168
|
return text || param.value;
|
|
@@ -2711,18 +2707,18 @@ class ErrorHandlerService {
|
|
|
2711
2707
|
// notificationsService.error(title, message);
|
|
2712
2708
|
}
|
|
2713
2709
|
else {
|
|
2714
|
-
notificationsService.error(translate.instant('eo.error.connection.interrupted.title'), translate.instant('eo.error.connection.interrupted.text'));
|
|
2710
|
+
notificationsService.error(translate.instant('eo.error.connection.interrupted.title'), translate.instant('eo.error.connection.interrupted.text'), true);
|
|
2715
2711
|
}
|
|
2716
|
-
// TODO: remove once Agent 5 is relesed
|
|
2717
2712
|
}
|
|
2718
|
-
else if (error.
|
|
2713
|
+
else if (error.originalError.error.key === 'LICENSE_VALID_REQUIRED') {
|
|
2714
|
+
notificationsService.error('', translate.instant('eo.error.license.expired.message'), true);
|
|
2719
2715
|
}
|
|
2720
2716
|
else {
|
|
2721
|
-
notificationsService.error(title, message);
|
|
2717
|
+
notificationsService.error(title, message, true);
|
|
2722
2718
|
}
|
|
2723
2719
|
}
|
|
2724
2720
|
else if (error instanceof EoError) {
|
|
2725
|
-
notificationsService.error(title, message);
|
|
2721
|
+
notificationsService.error(title, message, true);
|
|
2726
2722
|
}
|
|
2727
2723
|
else if (error instanceof TypeError) {
|
|
2728
2724
|
// notificationsService.error(title, message);
|
|
@@ -5391,6 +5387,7 @@ class DatetimeRangeComponent {
|
|
|
5391
5387
|
{ label: RangeValue.getOperatorLabel(SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH), value: SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH }
|
|
5392
5388
|
];
|
|
5393
5389
|
this.previousDateValue = null;
|
|
5390
|
+
this.previousDateValueFrom = null;
|
|
5394
5391
|
this.propagateChange = (_) => { };
|
|
5395
5392
|
this.validationChange = () => { };
|
|
5396
5393
|
this.datePipe = new LocaleDatePipe(translate);
|
|
@@ -5418,12 +5415,16 @@ class DatetimeRangeComponent {
|
|
|
5418
5415
|
onValueChange(searchOption = this.searchOption) {
|
|
5419
5416
|
let dateValue = this.formatDate(this.rangeForm.get('dateValue').value);
|
|
5420
5417
|
if (searchOption === SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH) {
|
|
5421
|
-
|
|
5422
|
-
if (dateValueFrom
|
|
5418
|
+
const dateValueFrom = this.formatDate(this.rangeForm.get('dateValueFrom').value);
|
|
5419
|
+
if (dateValueFrom && dateValue) {
|
|
5423
5420
|
this.isValid = this.rangeForm.valid && !!dateValueFrom && !!dateValue;
|
|
5424
5421
|
this.swapInputs = dateValueFrom && dateValue && dateValueFrom > dateValue;
|
|
5425
5422
|
this._setValue(new RangeValue(searchOption, this.swapInputs ? dateValue : dateValueFrom, this.swapInputs ? dateValueFrom : dateValue));
|
|
5426
|
-
this.
|
|
5423
|
+
if (this.previousDateValue !== dateValue || this.previousDateValueFrom !== dateValueFrom || this.searchOption !== searchOption) {
|
|
5424
|
+
this.propagateChange(this.value);
|
|
5425
|
+
this.previousDateValue = dateValue;
|
|
5426
|
+
this.previousDateValueFrom = dateValueFrom;
|
|
5427
|
+
}
|
|
5427
5428
|
}
|
|
5428
5429
|
}
|
|
5429
5430
|
else {
|
|
@@ -5439,11 +5440,11 @@ class DatetimeRangeComponent {
|
|
|
5439
5440
|
newDateValue.setHours(0, 0);
|
|
5440
5441
|
dateValue = newDateValue.toISOString();
|
|
5441
5442
|
}
|
|
5442
|
-
this._setValue(!this.isValid || !dateValue ? null : new RangeValue(
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5446
|
-
|
|
5443
|
+
this._setValue(!this.isValid || !dateValue ? null : new RangeValue(searchOption, dateValue));
|
|
5444
|
+
if (this.previousDateValue !== dateValue || this.searchOption !== searchOption) {
|
|
5445
|
+
this.propagateChange(this.value);
|
|
5446
|
+
this.previousDateValue = dateValue;
|
|
5447
|
+
}
|
|
5447
5448
|
}
|
|
5448
5449
|
this.searchOption = searchOption;
|
|
5449
5450
|
}
|
|
@@ -5451,8 +5452,6 @@ class DatetimeRangeComponent {
|
|
|
5451
5452
|
if (JSON.stringify(this.value) === JSON.stringify(value))
|
|
5452
5453
|
return;
|
|
5453
5454
|
if (value && value instanceof RangeValue && (value.firstValue || value.secondValue)) {
|
|
5454
|
-
let match = this.availableSearchOptions.find((o) => o.value === value.operator);
|
|
5455
|
-
this.searchOption = match ? match.value : this.availableSearchOptions[0].value;
|
|
5456
5455
|
const fV = value.firstValue ? new Date(value.firstValue) : null;
|
|
5457
5456
|
const sV = value.secondValue ? new Date(value.secondValue) : null;
|
|
5458
5457
|
this.value = value;
|
|
@@ -5521,7 +5520,7 @@ class DatetimeRangeComponent {
|
|
|
5521
5520
|
useExisting: forwardRef(() => DatetimeRangeComponent),
|
|
5522
5521
|
multi: true,
|
|
5523
5522
|
}
|
|
5524
|
-
], ngImport: i0, template: "<form class=\"eo-datetime-range\" [formGroup]=\"rangeForm\">\n <eo-date *ngIf=\"searchOption === 'gtelte'\" [withTime]=\"withTime\"\n formControlName=\"dateValueFrom\"></eo-date>\n\n <yvc-dropdown [ngModel]=\"searchOption\" (ngModelChange)=\"onValueChange($event)\" [ngModelOptions]=\"{standalone: true}\"\n [options]=\"availableSearchOptions\"></yvc-dropdown>\n\n <eo-date [withTime]=\"withTime\" formControlName=\"dateValue\"></eo-date>\n</form>\n", styles: [".eo-datetime-range{display:flex;flex-flow:row nowrap;align-items:stretch;gap:2px}.eo-datetime-range yvc-dropdown{border-radius:2px;outline:1px solid rgba(0,0,0,.2);background-color:var(--list-item-hover-background)}.eo-datetime-range yvc-dropdown:hover{background-color:var(--list-item-selected-background)}.eo-datetime-range eo-date{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
|
5523
|
+
], ngImport: i0, template: "<form class=\"eo-datetime-range\" [formGroup]=\"rangeForm\">\n <eo-date *ngIf=\"searchOption === 'gtelte'\" [withTime]=\"withTime\"\n formControlName=\"dateValueFrom\"></eo-date>\n\n <yvc-dropdown [ngModel]=\"searchOption\" (ngModelChange)=\"onValueChange($event)\" [ngModelOptions]=\"{standalone: true}\"\n [options]=\"availableSearchOptions\"></yvc-dropdown>\n\n <eo-date [withTime]=\"withTime\" formControlName=\"dateValue\"></eo-date>\n</form>\n\n<div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"rangeForm.invalid\" translate>eo.form.property.date.invalid</div>\n</div>\n", styles: [".eo-datetime-range{display:flex;flex-flow:row nowrap;align-items:stretch;gap:2px}.eo-datetime-range yvc-dropdown{border-radius:2px;outline:1px solid rgba(0,0,0,.2);background-color:var(--list-item-hover-background)}.eo-datetime-range yvc-dropdown:hover{background-color:var(--list-item-selected-background)}.eo-datetime-range eo-date{flex:1 1 auto}.err-msg{color:var(--color-error);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4)}.errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5$1.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"] }, { kind: "component", type: DateComponent, selector: "eo-date", inputs: ["withTime", "readonly", "onlyFutureDates"] }] }); }
|
|
5525
5524
|
}
|
|
5526
5525
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DatetimeRangeComponent, decorators: [{
|
|
5527
5526
|
type: Component,
|
|
@@ -5538,7 +5537,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
5538
5537
|
}
|
|
5539
5538
|
], host: {
|
|
5540
5539
|
class: 'form-element-range'
|
|
5541
|
-
}, template: "<form class=\"eo-datetime-range\" [formGroup]=\"rangeForm\">\n <eo-date *ngIf=\"searchOption === 'gtelte'\" [withTime]=\"withTime\"\n formControlName=\"dateValueFrom\"></eo-date>\n\n <yvc-dropdown [ngModel]=\"searchOption\" (ngModelChange)=\"onValueChange($event)\" [ngModelOptions]=\"{standalone: true}\"\n [options]=\"availableSearchOptions\"></yvc-dropdown>\n\n <eo-date [withTime]=\"withTime\" formControlName=\"dateValue\"></eo-date>\n</form>\n", styles: [".eo-datetime-range{display:flex;flex-flow:row nowrap;align-items:stretch;gap:2px}.eo-datetime-range yvc-dropdown{border-radius:2px;outline:1px solid rgba(0,0,0,.2);background-color:var(--list-item-hover-background)}.eo-datetime-range yvc-dropdown:hover{background-color:var(--list-item-selected-background)}.eo-datetime-range eo-date{flex:1 1 auto}\n"] }]
|
|
5540
|
+
}, template: "<form class=\"eo-datetime-range\" [formGroup]=\"rangeForm\">\n <eo-date *ngIf=\"searchOption === 'gtelte'\" [withTime]=\"withTime\"\n formControlName=\"dateValueFrom\"></eo-date>\n\n <yvc-dropdown [ngModel]=\"searchOption\" (ngModelChange)=\"onValueChange($event)\" [ngModelOptions]=\"{standalone: true}\"\n [options]=\"availableSearchOptions\"></yvc-dropdown>\n\n <eo-date [withTime]=\"withTime\" formControlName=\"dateValue\"></eo-date>\n</form>\n\n<div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"rangeForm.invalid\" translate>eo.form.property.date.invalid</div>\n</div>\n", styles: [".eo-datetime-range{display:flex;flex-flow:row nowrap;align-items:stretch;gap:2px}.eo-datetime-range yvc-dropdown{border-radius:2px;outline:1px solid rgba(0,0,0,.2);background-color:var(--list-item-hover-background)}.eo-datetime-range yvc-dropdown:hover{background-color:var(--list-item-selected-background)}.eo-datetime-range eo-date{flex:1 1 auto}.err-msg{color:var(--color-error);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4)}.errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"] }]
|
|
5542
5541
|
}], ctorParameters: () => [{ type: i1$2.UntypedFormBuilder }, { type: i1.TranslateService }], propDecorators: { withTime: [{
|
|
5543
5542
|
type: Input
|
|
5544
5543
|
}], pickerTitle: [{
|
|
@@ -5811,7 +5810,7 @@ class NumberRangeComponent {
|
|
|
5811
5810
|
useExisting: forwardRef(() => NumberRangeComponent),
|
|
5812
5811
|
multi: true,
|
|
5813
5812
|
}
|
|
5814
|
-
], ngImport: i0, template: "<form class=\"eo-number-range\" [formGroup]=\"rangeForm\">\n\n <eo-number *ngIf=\"searchOption === 'gtelte'\"\n [readonly]=\"readonly\"\n [scale]=\"scale\"\n [precision]=\"precision\"\n [grouping]=\"grouping\"\n [pattern]=\"pattern\"\n formControlName=\"numberValueFrom\"></eo-number>\n\n <yvc-dropdown class=\"no-trigger\" [(ngModel)]=\"searchOption\"\n (ngModelChange)=\"onValueChange()\"\n [disabled]=\"readonly\"\n [disableClearButton]=\"true\"\n [ngModelOptions]=\"{standalone: true}\"\n [options]=\"availableSearchOptions\"></yvc-dropdown>\n\n <eo-number [scale]=\"scale\"\n [readonly]=\"readonly\"\n [precision]=\"precision\"\n [grouping]=\"grouping\"\n [pattern]=\"pattern\"\n formControlName=\"numberValue\"></eo-number>\n\n</form>\n", styles: [".eo-number-range{display:flex;flex-flow:row;align-items:center}.eo-number-range yvc-dropdown{border-radius:2px;outline:1px solid rgba(0,0,0,.2);background-color:var(--list-item-hover-background)}.eo-number-range yvc-dropdown:hover{background-color:var(--list-item-selected-background)}.eo-number-range eo-number{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type:
|
|
5813
|
+
], ngImport: i0, template: "<form class=\"eo-number-range\" [formGroup]=\"rangeForm\">\n\n <eo-number *ngIf=\"searchOption === 'gtelte'\"\n [readonly]=\"readonly\"\n [scale]=\"scale\"\n [precision]=\"precision\"\n [grouping]=\"grouping\"\n [pattern]=\"pattern\"\n formControlName=\"numberValueFrom\"></eo-number>\n\n <yvc-dropdown class=\"no-trigger\" [(ngModel)]=\"searchOption\"\n (ngModelChange)=\"onValueChange()\"\n [disabled]=\"readonly\"\n [disableClearButton]=\"true\"\n [ngModelOptions]=\"{standalone: true}\"\n [options]=\"availableSearchOptions\"></yvc-dropdown>\n\n <eo-number [scale]=\"scale\"\n [readonly]=\"readonly\"\n [precision]=\"precision\"\n [grouping]=\"grouping\"\n [pattern]=\"pattern\"\n formControlName=\"numberValue\"></eo-number>\n\n</form>\n", styles: [".eo-number-range{display:flex;flex-flow:row;align-items:center}.eo-number-range yvc-dropdown{border-radius:2px;outline:1px solid rgba(0,0,0,.2);background-color:var(--list-item-hover-background)}.eo-number-range yvc-dropdown:hover{background-color:var(--list-item-selected-background)}.eo-number-range eo-number{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5$1.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"] }, { kind: "component", type: NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }] }); }
|
|
5815
5814
|
}
|
|
5816
5815
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NumberRangeComponent, decorators: [{
|
|
5817
5816
|
type: Component,
|
|
@@ -6308,7 +6307,7 @@ class StringComponent {
|
|
|
6308
6307
|
useExisting: forwardRef(() => StringComponent),
|
|
6309
6308
|
multi: true
|
|
6310
6309
|
}
|
|
6311
|
-
], ngImport: i0, template: "<div class=\"eo-form-string\">\n\n <input *ngIf=\"!multiline && !multiselect && !autocomplete\" type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\"\n [disabled]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n\n <!-- single line input with autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && !multiselect && autocomplete\" #autocomplete [(ngModel)]=\"value\"\n [disabled]=\"readonly\" [autocompleteValues]=\"autocompleteRes\" (blur)=\"onBlur()\"\n (suggestionSelect)=\"onValueChange($event)\" (ngModelChange)=\"onValueChange($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n </yvc-autocomplete>\n\n <!-- single line input with multiselect-->\n <yvc-chips *ngIf=\"!multiline && multiselect && !autocomplete\" [(ngModel)]=\"value\" [disabled]=\"readonly\"\n (blur)=\"onBlur()\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-chips>\n\n <!-- single line input with multiselect and autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && multiselect && autocomplete\" [autocompleteValues]=\"autocompleteRes\"\n [multiple]=\"true\" [disabled]=\"readonly\" (blur)=\"onBlur()\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-autocomplete>\n\n <!-- multi line text inputs -->\n <textarea class=\"input-textarea size-{{size}}\" *ngIf=\"multiline\" (blur)=\"onBlur()\" [(ngModel)]=\"value\"\n [readonly]=\"readonly\" [disabled]=\"readonly\" (ngModelChange)=\"onValueChange($event)\"></textarea>\n\n <div class=\"classify\" [ngClass]=\"{empty: !value || situation === 'SEARCH'}\">\n <a target=\"_blank\" href=\"mailto:{{formatedValue}}\" *ngIf=\"classification === 'email' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M180.309-212.001q-27.008 0-45.658-18.662-18.65-18.662-18.65-45.686v-407.626q0-27.024 18.65-45.524t45.658-18.5h599.382q27.008 0 45.658 18.662 18.65 18.662 18.65 45.686v407.626q0 27.024-18.65 45.524t-45.658 18.5H180.309ZM480-449.694 168-633.309v357q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462h599.382q5.385 0 8.847-3.462 3.462-3.462 3.462-8.847v-357L480-449.694ZM480-517l305.846-179H174.154L480-517ZM168-633.309V-696-276.309q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462H168v-369.309Z\" />\n </svg>\n </a>\n <a target=\"_blank\" href=\"{{value}}\" *ngIf=\"classification === 'url' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M480-116.001q-75.154 0-141.499-28.462-66.346-28.461-115.962-78.076-49.615-49.616-78.076-115.962Q116.001-404.846 116.001-480q0-75.769 28.462-141.807 28.461-66.038 78.076-115.654 49.616-49.615 115.962-78.076Q404.846-843.999 480-843.999q75.769 0 141.807 28.462 66.038 28.461 115.654 78.076 49.615 49.616 78.076 115.654Q843.999-555.769 843.999-480q0 75.154-28.462 141.499-28.461 66.346-78.076 115.962-49.616 49.615-115.654 78.076Q555.769-116.001 480-116.001Zm0-53.845q21.616-21.616 40.539-70.424 18.923-48.808 29.077-108.808H410.384q10.923 61.539 29.462 110.347 18.538 48.808 40.154 68.885Zm-64.46-5q-19-30-34.308-75.539t-23.462-98.693H197.076q31.693 69.309 89.501 115.194 57.809 45.885 128.963 59.038Zm128.92 0q71.154-13.153 128.963-59.038 57.808-45.885 89.501-115.194H602.23Q592.153-295.539 576.845-250q-15.308 45.539-32.385 75.154Zm79.463-226.23h173.693q4.231-21.308 6.039-40.731 1.808-19.424 1.808-38.193t-1.808-38.693q-1.808-19.923-6.039-40.231H623.923q1.231 19.385 1.154 40.385-.077 21-.077 40.539t.077 39.539q.077 20-1.154 37.385Zm-218.308 0h148.77q2.769-22.308 3.462-41.347.692-19.038.692-37.577 0-18.539-.692-38.077-.693-19.539-3.462-40.847h-148.77q-2.769 21.308-3.462 40.847-.692 19.538-.692 38.077 0 18.539.692 38.077.693 19.539 3.462 40.847Zm-243.231 0h173.693q-1.231-19.385-1.154-40.385.077-21 .077-40.539t-.077-39.539q-.077-20 1.154-37.385H162.384q-4.231 21.308-6.039 40.731-1.808 19.424-1.808 38.193t1.808 38.193q1.808 19.423 6.039 40.731ZM602.23-610.922h160.694Q730.846-681 674-726.116q-56.847-45.115-129.54-59.423 19 31.923 33.923 76.885 14.924 44.962 23.847 97.732Zm-191.846 0h139.232q-10.923-61.154-30.039-110.924-19.115-49.769-39.577-68.308-20.462 18.539-39.577 68.308-19.116 49.77-30.039 110.924Zm-213.308 0H357.77q8.923-52.77 23.847-97.732 14.923-44.962 33.923-76.885-73.077 14.308-129.732 59.616-56.654 45.308-88.732 115.001Z\" />\n </svg>\n </a>\n </div>\n\n</div>", styles: [".eo-form-string{display:flex;flex-flow:row nowrap;align-items:center}.eo-form-string yvc-chips,.eo-form-string yvc-autocomplete{width:100%;border:0;outline:0!important}.eo-form-string .classify a{color:var(--text-color-hint);display:flex;flex-flow:column;align-items:center;justify-content:center}.eo-form-string .classify a:hover,.eo-form-string .classify a:focus,.eo-form-string .classify a:focus-visible{color:var(--color-accent);outline:0}.eo-form-string .classify a svg{fill:currentColor}.eo-form-string .classify.empty{display:none}.eo-form-string .input-textarea{width:100%;resize:vertical;border:0;background-color:transparent;color:var(--text-color-body)}.eo-form-string .input-textarea.size-small{height:4em}.eo-form-string .input-textarea.size-medium{height:6em}.eo-form-string .input-textarea.size-large{height:8em}:host ::ng-deep input{width:100%;background:transparent;border:0;padding:.25em}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$
|
|
6310
|
+
], ngImport: i0, template: "<div class=\"eo-form-string\">\n\n <input *ngIf=\"!multiline && !multiselect && !autocomplete\" type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\"\n [disabled]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n\n <!-- single line input with autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && !multiselect && autocomplete\" #autocomplete [(ngModel)]=\"value\"\n [disabled]=\"readonly\" [autocompleteValues]=\"autocompleteRes\" (blur)=\"onBlur()\"\n (suggestionSelect)=\"onValueChange($event)\" (ngModelChange)=\"onValueChange($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n </yvc-autocomplete>\n\n <!-- single line input with multiselect-->\n <yvc-chips *ngIf=\"!multiline && multiselect && !autocomplete\" [(ngModel)]=\"value\" [disabled]=\"readonly\"\n (blur)=\"onBlur()\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-chips>\n\n <!-- single line input with multiselect and autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && multiselect && autocomplete\" [autocompleteValues]=\"autocompleteRes\"\n [multiple]=\"true\" [disabled]=\"readonly\" (blur)=\"onBlur()\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-autocomplete>\n\n <!-- multi line text inputs -->\n <textarea class=\"input-textarea size-{{size}}\" *ngIf=\"multiline\" (blur)=\"onBlur()\" [(ngModel)]=\"value\"\n [readonly]=\"readonly\" [disabled]=\"readonly\" (ngModelChange)=\"onValueChange($event)\"></textarea>\n\n <div class=\"classify\" [ngClass]=\"{empty: !value || situation === 'SEARCH'}\">\n <a target=\"_blank\" href=\"mailto:{{formatedValue}}\" *ngIf=\"classification === 'email' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M180.309-212.001q-27.008 0-45.658-18.662-18.65-18.662-18.65-45.686v-407.626q0-27.024 18.65-45.524t45.658-18.5h599.382q27.008 0 45.658 18.662 18.65 18.662 18.65 45.686v407.626q0 27.024-18.65 45.524t-45.658 18.5H180.309ZM480-449.694 168-633.309v357q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462h599.382q5.385 0 8.847-3.462 3.462-3.462 3.462-8.847v-357L480-449.694ZM480-517l305.846-179H174.154L480-517ZM168-633.309V-696-276.309q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462H168v-369.309Z\" />\n </svg>\n </a>\n <a target=\"_blank\" href=\"{{value}}\" *ngIf=\"classification === 'url' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M480-116.001q-75.154 0-141.499-28.462-66.346-28.461-115.962-78.076-49.615-49.616-78.076-115.962Q116.001-404.846 116.001-480q0-75.769 28.462-141.807 28.461-66.038 78.076-115.654 49.616-49.615 115.962-78.076Q404.846-843.999 480-843.999q75.769 0 141.807 28.462 66.038 28.461 115.654 78.076 49.615 49.616 78.076 115.654Q843.999-555.769 843.999-480q0 75.154-28.462 141.499-28.461 66.346-78.076 115.962-49.616 49.615-115.654 78.076Q555.769-116.001 480-116.001Zm0-53.845q21.616-21.616 40.539-70.424 18.923-48.808 29.077-108.808H410.384q10.923 61.539 29.462 110.347 18.538 48.808 40.154 68.885Zm-64.46-5q-19-30-34.308-75.539t-23.462-98.693H197.076q31.693 69.309 89.501 115.194 57.809 45.885 128.963 59.038Zm128.92 0q71.154-13.153 128.963-59.038 57.808-45.885 89.501-115.194H602.23Q592.153-295.539 576.845-250q-15.308 45.539-32.385 75.154Zm79.463-226.23h173.693q4.231-21.308 6.039-40.731 1.808-19.424 1.808-38.193t-1.808-38.693q-1.808-19.923-6.039-40.231H623.923q1.231 19.385 1.154 40.385-.077 21-.077 40.539t.077 39.539q.077 20-1.154 37.385Zm-218.308 0h148.77q2.769-22.308 3.462-41.347.692-19.038.692-37.577 0-18.539-.692-38.077-.693-19.539-3.462-40.847h-148.77q-2.769 21.308-3.462 40.847-.692 19.538-.692 38.077 0 18.539.692 38.077.693 19.539 3.462 40.847Zm-243.231 0h173.693q-1.231-19.385-1.154-40.385.077-21 .077-40.539t-.077-39.539q-.077-20 1.154-37.385H162.384q-4.231 21.308-6.039 40.731-1.808 19.424-1.808 38.193t1.808 38.193q1.808 19.423 6.039 40.731ZM602.23-610.922h160.694Q730.846-681 674-726.116q-56.847-45.115-129.54-59.423 19 31.923 33.923 76.885 14.924 44.962 23.847 97.732Zm-191.846 0h139.232q-10.923-61.154-30.039-110.924-19.115-49.769-39.577-68.308-20.462 18.539-39.577 68.308-19.116 49.77-30.039 110.924Zm-213.308 0H357.77q8.923-52.77 23.847-97.732 14.923-44.962 33.923-76.885-73.077 14.308-129.732 59.616-56.654 45.308-88.732 115.001Z\" />\n </svg>\n </a>\n </div>\n\n</div>", styles: [".eo-form-string{display:flex;flex-flow:row nowrap;align-items:center}.eo-form-string yvc-chips,.eo-form-string yvc-autocomplete{width:100%;border:0;outline:0!important}.eo-form-string .classify a{color:var(--text-color-hint);display:flex;flex-flow:column;align-items:center;justify-content:center}.eo-form-string .classify a:hover,.eo-form-string .classify a:focus,.eo-form-string .classify a:focus-visible{color:var(--color-accent);outline:0}.eo-form-string .classify a svg{fill:currentColor}.eo-form-string .classify.empty{display:none}.eo-form-string .input-textarea{width:100%;resize:vertical;border:0;background-color:transparent;color:var(--text-color-body)}.eo-form-string .input-textarea.size-small{height:4em}.eo-form-string .input-textarea.size-medium{height:6em}.eo-form-string .input-textarea.size-large{height:8em}:host ::ng-deep input{width:100%;background:transparent;border:0;padding:.25em}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.Chips, selector: "yvc-chips", inputs: ["field", "placeholder", "max", "disabled"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] }); }
|
|
6312
6311
|
}
|
|
6313
6312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: StringComponent, decorators: [{
|
|
6314
6313
|
type: Component,
|
|
@@ -6624,6 +6623,9 @@ class DynamicListComponent {
|
|
|
6624
6623
|
return this._list;
|
|
6625
6624
|
}
|
|
6626
6625
|
set selectedNodes(n) {
|
|
6626
|
+
if (n) {
|
|
6627
|
+
this.autocompleteFn(n.name);
|
|
6628
|
+
}
|
|
6627
6629
|
this._selectedNodes = structuredClone(n);
|
|
6628
6630
|
}
|
|
6629
6631
|
get selectedNodes() {
|
|
@@ -8103,7 +8105,7 @@ let RowEditComponent = class RowEditComponent {
|
|
|
8103
8105
|
onFormStatusChanged() {
|
|
8104
8106
|
// check if indexdata has been changed
|
|
8105
8107
|
let currentFormData = this._getFormData();
|
|
8106
|
-
let idxChange =
|
|
8108
|
+
let idxChange = JSON.stringify(this.formData) !== JSON.stringify(currentFormData);
|
|
8107
8109
|
this.formData = Utils.formDataParse(Utils.formDataStringify(currentFormData));
|
|
8108
8110
|
this.formState = {
|
|
8109
8111
|
invalid: this.editForm.invalid,
|
|
@@ -8527,7 +8529,7 @@ let FormElementTableComponent = class FormElementTableComponent {
|
|
|
8527
8529
|
this._elements.forEach(el => {
|
|
8528
8530
|
// this.innerValue[rowResult.index] = {...this.innerValue[rowResult.index], ...rowResult.rowData};
|
|
8529
8531
|
this.innerValue[rowResult.index][el.name] = rowResult.rowData[el.name];
|
|
8530
|
-
if (rowResult.rowData[el.name + '_meta']) {
|
|
8532
|
+
if (rowResult.rowData[el.name + '_meta'] && this._params.situation !== 'SEARCH') {
|
|
8531
8533
|
this.innerValue[rowResult.index][el.name + '_meta'] = rowResult.rowData[el.name + '_meta'];
|
|
8532
8534
|
}
|
|
8533
8535
|
});
|
|
@@ -9902,6 +9904,15 @@ class IndexdataSummaryEntryComponent {
|
|
|
9902
9904
|
}
|
|
9903
9905
|
set value(v) {
|
|
9904
9906
|
this.showDiff = v && typeof v === 'object' && v.hasOwnProperty('val1');
|
|
9907
|
+
if (v) {
|
|
9908
|
+
if (this.showDiff) {
|
|
9909
|
+
v.val1 = v.val1.replace(/\n/gi, '<br>');
|
|
9910
|
+
v.val2 = v.val2.replace(/\n/gi, '<br>');
|
|
9911
|
+
}
|
|
9912
|
+
else {
|
|
9913
|
+
v = v.replace(/\n/gi, '<br>');
|
|
9914
|
+
}
|
|
9915
|
+
}
|
|
9905
9916
|
this.value1 = this.showDiff ? v.val1 : v;
|
|
9906
9917
|
this.value2 = this.showDiff && v.val2;
|
|
9907
9918
|
}
|
|
@@ -10031,14 +10042,14 @@ let IndexdataSummaryComponent = class IndexdataSummaryComponent {
|
|
|
10031
10042
|
this.isUserAllowedToShowStorageSection = this.userService.getCurrentUser().hasPrivilege('MANAGE_STORAGES');
|
|
10032
10043
|
}
|
|
10033
10044
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: IndexdataSummaryComponent, deps: [{ token: i1.TranslateService }, { token: GridService }, { token: i1.DmsService }, { token: i1.UserService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10034
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: { indexdata: "indexdata", dmsObject: "dmsObject", baseparams: "baseparams", enableVersions: "enableVersions", diff: "diff" }, viewQueries: [{ propertyName: "storageAccordion", first: true, predicate: ["storageAccordion"], descendants: true }], ngImport: i0, template: "<div class=\"empty-container\" *ngIf=\"emptyState\">{{'eo.indexdata.summary.no.change' | translate}}</div>\n<div class=\"indexdata-summary\">\n\n <div class=\"core-section\" *ngIf=\"coreValues?.length\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of coreValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"item && item.contextFolder\"\n [label]=\"'eo.indexdata.summary.folder' | translate\"\n [className]=\"'baseparams-section'\"\n [value]=\"getLink(item.contextFolder.title ? item.contextFolder.title : item.contextFolder.id)\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n <div class=\"data-section\" *ngIf=\"dataValues && dataValues.length\">\n <eo-simple-accordion #dataAccordion\n [header]=\"('eo.indexdata.summary.more' | translate)\"\n [selected]=\"moreInfoAcc\"\n (selectChange)=\"onMoreInfoToggle($event)\">\n <div class=\"data\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n <div class=\"baseparams-section\" *ngIf=\"baseparams\">\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.modifiedOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modified' | translate\"\n [value]=\"baseparams.modifiedOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modifier' | translate\"\n [value]=\"baseparams.modifiedBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.createdOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.created' | translate\"\n [value]=\"baseparams.createdOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.creator' | translate\"\n [value]=\"baseparams.createdBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.object.summary.version' | translate\"\n [value]=\"getVersionLink(baseparams.version)\"\n (onValueClicked)=\"onValueClick($event, {version: baseparams.version})\">\n </eo-indexdata-summary-entry>\n\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filename' | translate\"\n [value]=\"baseparams.contentFileName\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentFileSize\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filesize' | translate\"\n [value]=\"diffActive ? {val1: baseparams.contentFileSize['val1'] | fileSize, val2: baseparams.contentFileSize['val2'] | fileSize} : (baseparams.contentFileSize | fileSize)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimegroup' | translate\"\n [value]=\"baseparams.mimeGroup\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetype' | translate\"\n [value]=\"baseparams.mimeType\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.id' | translate\"\n [value]=\"baseparams.id\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentId !== baseparams.id && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.contentId' | translate\"\n [value]=\"baseparams.contentId\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo\" *ngIf=\"storageInfos?.length\">\n <eo-simple-accordion #storageAccordion\n [header]=\"('eo.state.settings.storageinfo' | translate)\"\n [selected]=\"dataInfoAcc\"\n (selectChange)=\"onStorageInfoToggle($event)\">\n\n <div class=\"storageinfo-entry baseparams-section\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.global.baseparam.digest' | translate\"\n [value]=\"baseparams.digest\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo-entry baseparams-section\" *ngFor=\"let stInfo of storageInfos; trackBy: trackByIndex\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.retention' | translate\"\n [value]=\"stInfo.retention | localeDate : 'eoShortDate'\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.permanence' | translate\"\n [value]=\"stInfo.permanence\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.setname' | translate\"\n [value]=\"stInfo.setname\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.storagename' | translate\"\n [value]=\"stInfo.storagename\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.location' | translate\"\n [value]=\"stInfo.location\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n</div>\n", styles: [":host{display:block}:host .core-section,:host .data-section,:host .baseparams-section{list-style:none;margin:0;line-height:1.5em}:host .core-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section .data{margin-bottom:var(--app-pane-padding);margin-top:calc(var(--app-pane-padding) / 2)}:host .storageinfo{margin-top:var(--app-pane-padding)}:host .storageinfo .storageinfo-entry{margin-top:var(--app-pane-padding)}:host .empty-container{position:absolute;inset:0;overflow:hidden;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "component", type: IndexdataSummaryEntryComponent, selector: "eo-indexdata-summary-entry", inputs: ["label", "item", "value", "className"], outputs: ["onValueClicked"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "fileSize" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10045
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: { indexdata: "indexdata", dmsObject: "dmsObject", baseparams: "baseparams", enableVersions: "enableVersions", diff: "diff" }, viewQueries: [{ propertyName: "storageAccordion", first: true, predicate: ["storageAccordion"], descendants: true }], ngImport: i0, template: "<div class=\"empty-container\" *ngIf=\"emptyState\">{{'eo.indexdata.summary.no.change' | translate}}</div>\n<div class=\"indexdata-summary\">\n\n <div class=\"core-section\" *ngIf=\"coreValues?.length\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of coreValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"item && item.contextFolder\"\n [label]=\"'eo.indexdata.summary.folder' | translate\"\n [className]=\"'baseparams-section'\"\n [value]=\"getLink(item.contextFolder.title ? item.contextFolder.title : item.contextFolder.id)\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n <div class=\"data-section\" *ngIf=\"dataValues && dataValues.length\">\n <eo-simple-accordion #dataAccordion\n [header]=\"('eo.indexdata.summary.more' | translate)\"\n [selected]=\"moreInfoAcc\"\n (selectChange)=\"onMoreInfoToggle($event)\">\n <div class=\"data\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n <div class=\"baseparams-section\" *ngIf=\"baseparams\">\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.modifiedOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modified' | translate\"\n [value]=\"baseparams.modifiedOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modifier' | translate\"\n [value]=\"baseparams.modifiedBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.createdOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.created' | translate\"\n [value]=\"baseparams.createdOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.creator' | translate\"\n [value]=\"baseparams.createdBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.object.summary.version' | translate\"\n [value]=\"getVersionLink(baseparams.version)\"\n (onValueClicked)=\"onValueClick($event, {version: baseparams.version})\">\n </eo-indexdata-summary-entry>\n\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filename' | translate\"\n [value]=\"baseparams.contentFileName\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentFileSize\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filesize' | translate\"\n [value]=\"diffActive ? {val1: baseparams.contentFileSize['val1'] | fileSize, val2: baseparams.contentFileSize['val2'] | fileSize} : (baseparams.contentFileSize | fileSize)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimegroup' | translate\"\n [value]=\"baseparams.mimeGroup\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetype' | translate\"\n [value]=\"baseparams.mimeType\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.id' | translate\"\n [value]=\"baseparams.id\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentId !== baseparams.id && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.contentId' | translate\"\n [value]=\"baseparams.contentId\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo\" *ngIf=\"storageInfos?.length\">\n <eo-simple-accordion #storageAccordion\n [header]=\"('eo.state.settings.storageinfo' | translate)\"\n [selected]=\"dataInfoAcc\"\n (selectChange)=\"onStorageInfoToggle($event)\">\n\n <div class=\"storageinfo-entry baseparams-section\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.global.baseparam.digest' | translate\"\n [value]=\"baseparams.digest\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo-entry baseparams-section\" *ngFor=\"let stInfo of storageInfos; trackBy: trackByIndex\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.retention' | translate\"\n [value]=\"stInfo.retention | localeDate : 'eoShortDate'\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.permanence' | translate\"\n [value]=\"stInfo.permanence\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.setname' | translate\"\n [value]=\"stInfo.setname\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.storagename' | translate\"\n [value]=\"stInfo.storagename\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.location' | translate\"\n [value]=\"stInfo.location\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n</div>\n", styles: [":host{display:block}:host .core-section,:host .data-section,:host .baseparams-section{list-style:none;margin:0;line-height:1.5em}:host .core-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section .data{margin-bottom:var(--app-pane-padding);margin-top:calc(var(--app-pane-padding) / 2)}:host .storageinfo{margin-top:var(--app-pane-padding)}:host .storageinfo .storageinfo-entry{margin-top:var(--app-pane-padding)}:host .empty-container{position:absolute;inset:0;overflow:hidden;display:flex;justify-content:center;align-items:center}:host ::ng-deep .chip{width:max-content}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "component", type: IndexdataSummaryEntryComponent, selector: "eo-indexdata-summary-entry", inputs: ["label", "item", "value", "className"], outputs: ["onValueClicked"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: FileSizePipe, name: "fileSize" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10035
10046
|
};
|
|
10036
10047
|
IndexdataSummaryComponent = IndexdataSummaryComponent_1 = __decorate([
|
|
10037
10048
|
UntilDestroy()
|
|
10038
10049
|
], IndexdataSummaryComponent);
|
|
10039
10050
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: IndexdataSummaryComponent, decorators: [{
|
|
10040
10051
|
type: Component,
|
|
10041
|
-
args: [{ selector: 'eo-indexdata-summary', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"empty-container\" *ngIf=\"emptyState\">{{'eo.indexdata.summary.no.change' | translate}}</div>\n<div class=\"indexdata-summary\">\n\n <div class=\"core-section\" *ngIf=\"coreValues?.length\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of coreValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"item && item.contextFolder\"\n [label]=\"'eo.indexdata.summary.folder' | translate\"\n [className]=\"'baseparams-section'\"\n [value]=\"getLink(item.contextFolder.title ? item.contextFolder.title : item.contextFolder.id)\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n <div class=\"data-section\" *ngIf=\"dataValues && dataValues.length\">\n <eo-simple-accordion #dataAccordion\n [header]=\"('eo.indexdata.summary.more' | translate)\"\n [selected]=\"moreInfoAcc\"\n (selectChange)=\"onMoreInfoToggle($event)\">\n <div class=\"data\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n <div class=\"baseparams-section\" *ngIf=\"baseparams\">\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.modifiedOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modified' | translate\"\n [value]=\"baseparams.modifiedOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modifier' | translate\"\n [value]=\"baseparams.modifiedBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.createdOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.created' | translate\"\n [value]=\"baseparams.createdOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.creator' | translate\"\n [value]=\"baseparams.createdBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.object.summary.version' | translate\"\n [value]=\"getVersionLink(baseparams.version)\"\n (onValueClicked)=\"onValueClick($event, {version: baseparams.version})\">\n </eo-indexdata-summary-entry>\n\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filename' | translate\"\n [value]=\"baseparams.contentFileName\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentFileSize\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filesize' | translate\"\n [value]=\"diffActive ? {val1: baseparams.contentFileSize['val1'] | fileSize, val2: baseparams.contentFileSize['val2'] | fileSize} : (baseparams.contentFileSize | fileSize)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimegroup' | translate\"\n [value]=\"baseparams.mimeGroup\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetype' | translate\"\n [value]=\"baseparams.mimeType\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.id' | translate\"\n [value]=\"baseparams.id\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentId !== baseparams.id && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.contentId' | translate\"\n [value]=\"baseparams.contentId\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo\" *ngIf=\"storageInfos?.length\">\n <eo-simple-accordion #storageAccordion\n [header]=\"('eo.state.settings.storageinfo' | translate)\"\n [selected]=\"dataInfoAcc\"\n (selectChange)=\"onStorageInfoToggle($event)\">\n\n <div class=\"storageinfo-entry baseparams-section\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.global.baseparam.digest' | translate\"\n [value]=\"baseparams.digest\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo-entry baseparams-section\" *ngFor=\"let stInfo of storageInfos; trackBy: trackByIndex\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.retention' | translate\"\n [value]=\"stInfo.retention | localeDate : 'eoShortDate'\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.permanence' | translate\"\n [value]=\"stInfo.permanence\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.setname' | translate\"\n [value]=\"stInfo.setname\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.storagename' | translate\"\n [value]=\"stInfo.storagename\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.location' | translate\"\n [value]=\"stInfo.location\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n</div>\n", styles: [":host{display:block}:host .core-section,:host .data-section,:host .baseparams-section{list-style:none;margin:0;line-height:1.5em}:host .core-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section .data{margin-bottom:var(--app-pane-padding);margin-top:calc(var(--app-pane-padding) / 2)}:host .storageinfo{margin-top:var(--app-pane-padding)}:host .storageinfo .storageinfo-entry{margin-top:var(--app-pane-padding)}:host .empty-container{position:absolute;inset:0;overflow:hidden;display:flex;justify-content:center;align-items:center}\n"] }]
|
|
10052
|
+
args: [{ selector: 'eo-indexdata-summary', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"empty-container\" *ngIf=\"emptyState\">{{'eo.indexdata.summary.no.change' | translate}}</div>\n<div class=\"indexdata-summary\">\n\n <div class=\"core-section\" *ngIf=\"coreValues?.length\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of coreValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"item && item.contextFolder\"\n [label]=\"'eo.indexdata.summary.folder' | translate\"\n [className]=\"'baseparams-section'\"\n [value]=\"getLink(item.contextFolder.title ? item.contextFolder.title : item.contextFolder.id)\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n <div class=\"data-section\" *ngIf=\"dataValues && dataValues.length\">\n <eo-simple-accordion #dataAccordion\n [header]=\"('eo.indexdata.summary.more' | translate)\"\n [selected]=\"moreInfoAcc\"\n (selectChange)=\"onMoreInfoToggle($event)\">\n <div class=\"data\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n <div class=\"baseparams-section\" *ngIf=\"baseparams\">\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.modifiedOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modified' | translate\"\n [value]=\"baseparams.modifiedOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modifier' | translate\"\n [value]=\"baseparams.modifiedBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.createdOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.created' | translate\"\n [value]=\"baseparams.createdOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.creator' | translate\"\n [value]=\"baseparams.createdBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.object.summary.version' | translate\"\n [value]=\"getVersionLink(baseparams.version)\"\n (onValueClicked)=\"onValueClick($event, {version: baseparams.version})\">\n </eo-indexdata-summary-entry>\n\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filename' | translate\"\n [value]=\"baseparams.contentFileName\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentFileSize\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filesize' | translate\"\n [value]=\"diffActive ? {val1: baseparams.contentFileSize['val1'] | fileSize, val2: baseparams.contentFileSize['val2'] | fileSize} : (baseparams.contentFileSize | fileSize)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimegroup' | translate\"\n [value]=\"baseparams.mimeGroup\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetype' | translate\"\n [value]=\"baseparams.mimeType\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.id' | translate\"\n [value]=\"baseparams.id\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentId !== baseparams.id && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.contentId' | translate\"\n [value]=\"baseparams.contentId\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo\" *ngIf=\"storageInfos?.length\">\n <eo-simple-accordion #storageAccordion\n [header]=\"('eo.state.settings.storageinfo' | translate)\"\n [selected]=\"dataInfoAcc\"\n (selectChange)=\"onStorageInfoToggle($event)\">\n\n <div class=\"storageinfo-entry baseparams-section\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.global.baseparam.digest' | translate\"\n [value]=\"baseparams.digest\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo-entry baseparams-section\" *ngFor=\"let stInfo of storageInfos; trackBy: trackByIndex\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.retention' | translate\"\n [value]=\"stInfo.retention | localeDate : 'eoShortDate'\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.permanence' | translate\"\n [value]=\"stInfo.permanence\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.setname' | translate\"\n [value]=\"stInfo.setname\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.storagename' | translate\"\n [value]=\"stInfo.storagename\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.location' | translate\"\n [value]=\"stInfo.location\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n</div>\n", styles: [":host{display:block}:host .core-section,:host .data-section,:host .baseparams-section{list-style:none;margin:0;line-height:1.5em}:host .core-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section .data{margin-bottom:var(--app-pane-padding);margin-top:calc(var(--app-pane-padding) / 2)}:host .storageinfo{margin-top:var(--app-pane-padding)}:host .storageinfo .storageinfo-entry{margin-top:var(--app-pane-padding)}:host .empty-container{position:absolute;inset:0;overflow:hidden;display:flex;justify-content:center;align-items:center}:host ::ng-deep .chip{width:max-content}\n"] }]
|
|
10042
10053
|
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: GridService }, { type: i1.DmsService }, { type: i1.UserService }, { type: i0.ChangeDetectorRef }], propDecorators: { storageAccordion: [{
|
|
10043
10054
|
type: ViewChild,
|
|
10044
10055
|
args: ['storageAccordion']
|
|
@@ -10112,7 +10123,7 @@ class OverlayComponent {
|
|
|
10112
10123
|
this.userAvatar = false;
|
|
10113
10124
|
this.isOpen = false;
|
|
10114
10125
|
this.canClose = () => {
|
|
10115
|
-
return this.isOpen;
|
|
10126
|
+
return this.isOpen && !document.elementFromPoint(0, 0).classList.contains('yvc-modal-backdrop');
|
|
10116
10127
|
};
|
|
10117
10128
|
this.hostEl = this.elRef.nativeElement;
|
|
10118
10129
|
}
|
|
@@ -12619,7 +12630,7 @@ class ColumnConfiguratorComponent {
|
|
|
12619
12630
|
}
|
|
12620
12631
|
}
|
|
12621
12632
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ColumnConfiguratorComponent, deps: [{ token: i1.SearchService }, { token: i1.UserService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12622
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ColumnConfiguratorComponent, selector: "eo-column-configurator", inputs: { configType: "configType", configContext: "configContext", visible: "visible", eoGrid: "eoGrid" }, outputs: { onConfigChanged: "onConfigChanged" }, host: { properties: { "class.visible": "this.visible" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.column.config.action.close</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);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;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";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;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";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;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 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;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4$3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4$3.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i4$3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4$3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
12633
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ColumnConfiguratorComponent, selector: "eo-column-configurator", inputs: { configType: "configType", configContext: "configContext", visible: "visible", eoGrid: "eoGrid" }, outputs: { onConfigChanged: "onConfigChanged" }, host: { properties: { "class.visible": "this.visible" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.column.config.action.close</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>\n <span class=\"config-label\" translate>eo.column.config.pinned</span>\n </div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\"\n (click)=\"field.sortable && toggleSort(field, $event)\"><span class=\"config-label\" translate>eo.column.config.sort</span></div>\n <div class=\"alignment\" [ngClass]=\"{on: field.confmeta.alignmentx, left: field.confmeta.alignmentx === 'left',\n right: field.confmeta.alignmentx === 'right', center: field.confmeta.alignmentx === 'center'}\"\n (click)=\"toggleAlignment(field, $event)\"><span class=\"config-label\" translate>eo.column.config.alignment</span>\n <img *ngIf=\"field.confmeta.alignmentx === 'center'\" class=\"center-second\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n", styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{position:absolute;height:100%;width:100%;inset:0;background:var(--color-white);z-index:10;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;display:none}:host.visible{display:block;overflow-x:auto}:host .configurator{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%}:host .bar{background:var(--color-accent);color:var(--color-white);display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;align-items:center;min-width:560px;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);background:rgba(var(--color-white-rgb),.1);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{font-size:var(--font-title);color:var(--color-accent);line-height:1em;margin:var(--app-pane-padding);font-weight:var(--font-weight-light)}:host .column-config{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;margin:var(--app-pane-padding);--cc-border-color: rgba(var(--color-black-rgb), .15)}:host .column-config .scroller{display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--cc-border-color);background:var(--panel-background-lightgrey);min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{padding:calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption)}:host .column-config .scroller .items{overflow-y:auto;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry{background:var(--color-white);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;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default;border:1px solid var(--cc-border-color);margin:4px 0;cursor:move;overflow:hidden;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;padding:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry:before{content:\" \";height:1.5em;width:calc(var(--app-pane-padding) / 2);background:rgba(var(--color-black-rgb),.06)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding) / 2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding) / 2)}:host .column-config .scroller .items .entry.sfe:before{content:\"*\";background:rgba(var(--color-black-rgb),.26);text-align:center;color:var(--color-white)}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{content:\"\";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;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .alignment:after{content:\"\";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;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);width:8px;height:8px;opacity:0;display:inline-block;transform:rotate(270deg);position:relative;top:2px}[dir=ltr] :host .column-config .scroller .items .entry .alignment:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .alignment:after{margin-right:4px}:host .column-config .scroller .items .entry .alignment.left:after,:host .column-config .scroller .items .entry .alignment.center:after{opacity:1}:host .column-config .scroller .items .entry .alignment.right:after{opacity:1;transform:rotate(90deg)}:host .column-config .scroller .items .entry .alignment .center-second{position:relative;top:2px;margin-left:2px;transform:rotate(90deg)}:host .column-config .scroller .items .entry .sort,:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .alignment{background:rgba(var(--color-black-rgb),.06);color:rgba(var(--color-black-rgb),.33);border-radius:2px;border:1px solid rgba(var(--color-black-rgb),0);margin:0 4px;padding:0 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;font-size:var(--font-hint);white-space:nowrap;cursor:pointer}:host .column-config .scroller .items .entry .sort:hover,:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .alignment:hover{color:var(--text-color-caption);border-color:rgba(var(--color-black-rgb),.22)}:host .column-config .scroller .items .entry .sort.on,:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .alignment.on{color:var(--color-accent-light);border-color:var(--color-accent-light)}:host .column-config .scroller .items .entry .sort.disabled,:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .alignment.disabled{cursor:default;color:rgba(var(--color-black-rgb),.33);border:1px solid rgba(var(--color-black-rgb),0);text-decoration:line-through}:host .column-config .scroller .items .entry .sort .config-label,:host .column-config .scroller .items .entry .group .config-label,:host .column-config .scroller .items .entry .alignment .config-label{position:relative;top:2px}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4$2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i4$2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4$2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
12623
12634
|
}
|
|
12624
12635
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ColumnConfiguratorComponent, decorators: [{
|
|
12625
12636
|
type: Component,
|
|
@@ -15299,7 +15310,7 @@ class SequenceListItemComponent {
|
|
|
15299
15310
|
}
|
|
15300
15311
|
}
|
|
15301
15312
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SequenceListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15302
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SequenceListItemComponent, selector: "eo-sequence-list-item", inputs: { index: "index", disableAdd: "disableAdd", addTargetIndex: "addTargetIndex" }, outputs: { changeEntry: "changeEntry", edit: "edit", delete: "delete", insert: "insert" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"entry\">\n <eo-icon class=\"handle\" cdkDragHandle [iconSrc]=\"'assets/_default/svg/ic_drag.svg'\"></eo-icon>\n <div class=\"index\">\n <span>{{ index + 1 }}</span><span>↓</span>\n </div>\n\n <div class=\"action\">\n <button class=\"edit\" type=\"button\" (click)=\"changes(index, changeMode.EDIT)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"></eo-icon>\n </button>\n <button class=\"remove\" type=\"button\" (click)=\"changes(index, changeMode.DELETE)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </button>\n </div>\n\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <eo-icon class=\"innerAdd\" [ngClass]=\"{ active: addTargetIndex === index, disabled: disableAdd }\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" *ngIf=\"index !== 0\" (click)=\"changes(index, changeMode.INSERT)\"></eo-icon>\n</div>\n", styles: [":host{display:block}:host.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host.disabled button,:host.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host.single .handle,:host.single .index{display:none}:host .entry{position:relative;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entry .innerAdd.disabled{display:none}:host .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entry .content{grid-area:content;text-overflow:ellipsis;overflow:hidden}:host .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entry .content ::ng-deep .signer-list-entry .signer-name,:host .entry .content ::ng-deep .signer-list-entry .signer-email,:host .entry .content ::ng-deep .signer-list-entry .signer-phone{word-break:break-all}:host .entry .action{grid-area:action;display:flex;align-items:center}:host .entry .action button{padding:2px}:host .entry .action button eo-icon{width:18px;height:18px}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i4$
|
|
15313
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SequenceListItemComponent, selector: "eo-sequence-list-item", inputs: { index: "index", disableAdd: "disableAdd", addTargetIndex: "addTargetIndex" }, outputs: { changeEntry: "changeEntry", edit: "edit", delete: "delete", insert: "insert" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"entry\">\n <eo-icon class=\"handle\" cdkDragHandle [iconSrc]=\"'assets/_default/svg/ic_drag.svg'\"></eo-icon>\n <div class=\"index\">\n <span>{{ index + 1 }}</span><span>↓</span>\n </div>\n\n <div class=\"action\">\n <button class=\"edit\" type=\"button\" (click)=\"changes(index, changeMode.EDIT)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"></eo-icon>\n </button>\n <button class=\"remove\" type=\"button\" (click)=\"changes(index, changeMode.DELETE)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </button>\n </div>\n\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <eo-icon class=\"innerAdd\" [ngClass]=\"{ active: addTargetIndex === index, disabled: disableAdd }\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" *ngIf=\"index !== 0\" (click)=\"changes(index, changeMode.INSERT)\"></eo-icon>\n</div>\n", styles: [":host{display:block}:host.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host.disabled button,:host.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host.single .handle,:host.single .index{display:none}:host .entry{position:relative;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entry .innerAdd.disabled{display:none}:host .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entry .content{grid-area:content;text-overflow:ellipsis;overflow:hidden}:host .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entry .content ::ng-deep .signer-list-entry .signer-name,:host .entry .content ::ng-deep .signer-list-entry .signer-email,:host .entry .content ::ng-deep .signer-list-entry .signer-phone{word-break:break-all}:host .entry .action{grid-area:action;display:flex;align-items:center}:host .entry .action button{padding:2px}:host .entry .action button eo-icon{width:18px;height:18px}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i4$2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] }); }
|
|
15303
15314
|
}
|
|
15304
15315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SequenceListItemComponent, decorators: [{
|
|
15305
15316
|
type: Component,
|
|
@@ -15455,7 +15466,7 @@ class SequenceListComponent {
|
|
|
15455
15466
|
useExisting: forwardRef(() => SequenceListComponent),
|
|
15456
15467
|
multi: true
|
|
15457
15468
|
}
|
|
15458
|
-
], ngImport: i0, template: "<div class=\"toolbar\" *ngIf=\"!entryForm; else tplEntryForm\">\n <h4>{{ 'eo.action.signature.signers' | translate }}</h4>\n <button id=\"add-item\" class=\"add primary\" (click)=\"showEntryForm()\" [disabled]=\"maxSigners\">\n <eo-icon [iconTitle]=\"('eo.action.signature.add.button.tooltip' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\">\n </eo-icon>\n </button>\n</div>\n\n<div class=\"entries\" cdkDropList (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"entries\">\n <div [ngClass]=\"{ disabled: !!entryForm, single: entries.length === 1 }\" cdkDrag *ngFor=\"let entry of entries; let i = index\">\n <eo-sequence-list-item [index]=\"i\" (changeEntry)=\"changeEntry($event)\" [disableAdd]=\"maxSigners\">\n <ng-template #content>\n <div class=\"signer-list-entry\">\n <div class=\"signer-name\" title=\"{{entry.name}}\">{{ entry.name }}</div>\n <div class=\"signer-email\" title=\"{{entry.email}}\">{{ entry.email }}</div>\n <div class=\"signer-phone\" *ngIf=\"entry.phone\" title=\"{{entry.phone}}\">{{ entry.phone }}</div>\n </div>\n </ng-template>\n </eo-sequence-list-item>\n </div>\n</div>\n\n<ng-template #tplEntryForm>\n <form class=\"entryForm\" [formGroup]=\"entryForm\" (ngSubmit)=\"addSigner()\">\n <div class=\"form-body\">\n <eo-form-input\n class=\"name\"\n [invalid]=\"entryForm.get('name').dirty && entryForm.get('name').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignername' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignername'\" [autocomplete]=\"true\" [autofocus]=\"true\" formControlName=\"name\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('name').hasError('maxlength')\" [translateParams]=\"{maxlength: 100}\"\n translate>eo.form.property.maxlength</small>\n <eo-form-input\n class=\"task\"\n [invalid]=\"entryForm.get('email').dirty && entryForm.get('email').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsigneremail' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsigneremail'\" [autocomplete]=\"true\" formControlName=\"email\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('email').hasError('email')\" translate>eo.form.property.string.error.classification.email</small>\n <small class=\"errors\" *ngIf=\"!entryForm.get('email').hasError('email') && entryForm.get('email').hasError('maxlength')\"\n [translateParams]=\"{maxlength: 100}\" translate>eo.form.property.maxlength</small>\n <eo-form-input\n class=\"task\"\n *ngIf=\"phoneRequired\"\n [invalid]=\"entryForm.get('phone').dirty && entryForm.get('phone').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignerphone' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignerphone'\" formControlName=\"phone\"> </eo-string>\n <small class=\"errors\" *ngIf=\"entryForm.get('phone').hasError('maxlength')\" [translateParams]=\"{maxlength: 100}\"\n translate>eo.form.property.maxlength</small>\n </eo-form-input>\n </div>\n <footer class=\"footer-action\">\n <button class=\"secondary\" type=\"button\" (click)=\"cancel()\" translate>eo.action.signature.cancel</button>\n <ng-container [ngSwitch]=\"mode\">\n <button *ngSwitchCase=\"'edit'\" class=\"primary\" [disabled]=\"entryForm.invalid || entryForm.pristine\" type=\"submit\" translate>eo.action.signature.editSigner</button>\n <button *ngSwitchDefault class=\"primary\" [disabled]=\"entryForm.invalid\" type=\"submit\" translate>eo.action.signature.addSigner</button>\n </ng-container>\n </footer>\n </form>\n</ng-template>\n", styles: [":host{display:block;border:1px solid var(--panel-divider-color);padding:1px;background-color:var(--panel-background)}:host:focus{border-color:var(--color-accent)}:host.ng-invalid{border-color:var(--color-error)}:host.dense form.entryForm{display:flex;flex-flow:column}:host form.entryForm{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;padding:calc(var(--app-pane-padding) / 2);gap:calc(var(--app-pane-padding) / 2);grid-template-areas:\"title\" \"task\" \"nextAssignee\" \"expiryDatetime\" \"buttons\";border:1px solid var(--panel-divider-color)}:host form.entryForm eo-form-input.task{grid-area:task}:host form.entryForm eo-form-input.nextAssignee{grid-area:nextAssignee}:host form.entryForm eo-form-input.expiryDatetime{grid-area:expiryDatetime}:host form.entryForm .buttons{grid-area:buttons;display:flex;justify-content:end;margin:0 -2px}:host form.entryForm .buttons button{margin:0 2px}:host form.entryForm .errors{color:var(--color-error)}:host .toolbar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--app-pane-padding) / 4);border:1px solid var(--panel-divider-color)}:host .toolbar:focus{border-color:var(--color-accent)}:host .toolbar h4{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1;color:var(--color-primary-2)}:host .toolbar button{padding:calc(var(--app-pane-padding) / 4);border-radius:2px}:host .entries .entry{position:relative;transition:background-color .1s ease-in-out;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entries .entry.disabled{background-color:var(--panel-background-lightgrey);opacity:.85}:host .entries .entry.disabled.current{background-color:var(--panel-background);border-color:var(--color-accent)}:host .entries .entry.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host .entries .entry.disabled button,:host .entries .entry.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host .entries .entry.single .handle,:host .entries .entry.single .index{display:none}:host .entries .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entries .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entries .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entries .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entries .entry .content{grid-area:content}:host .entries .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entries .entry .action{grid-area:action;display:flex;align-items:center}:host .entries .entry .action button{padding:2px}:host .entries .entry .action button eo-icon{width:18px;height:18px}.footer-action{display:flex;justify-content:flex-end;padding:var(--app-pane-padding) 0;background-color:transparent;border-top:none}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { 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$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "directive", type: i4$3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4$3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: SequenceListItemComponent, selector: "eo-sequence-list-item", inputs: ["index", "disableAdd", "addTargetIndex"], outputs: ["changeEntry", "edit", "delete", "insert"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
15469
|
+
], ngImport: i0, template: "<div class=\"toolbar\" *ngIf=\"!entryForm; else tplEntryForm\">\n <h4>{{ 'eo.action.signature.signers' | translate }}</h4>\n <button id=\"add-item\" class=\"add primary\" (click)=\"showEntryForm()\" [disabled]=\"maxSigners\">\n <eo-icon [iconTitle]=\"('eo.action.signature.add.button.tooltip' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\">\n </eo-icon>\n </button>\n</div>\n\n<div class=\"entries\" cdkDropList (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"entries\">\n <div [ngClass]=\"{ disabled: !!entryForm, single: entries.length === 1 }\" cdkDrag *ngFor=\"let entry of entries; let i = index\">\n <eo-sequence-list-item [index]=\"i\" (changeEntry)=\"changeEntry($event)\" [disableAdd]=\"maxSigners\">\n <ng-template #content>\n <div class=\"signer-list-entry\">\n <div class=\"signer-name\" title=\"{{entry.name}}\">{{ entry.name }}</div>\n <div class=\"signer-email\" title=\"{{entry.email}}\">{{ entry.email }}</div>\n <div class=\"signer-phone\" *ngIf=\"entry.phone\" title=\"{{entry.phone}}\">{{ entry.phone }}</div>\n </div>\n </ng-template>\n </eo-sequence-list-item>\n </div>\n</div>\n\n<ng-template #tplEntryForm>\n <form class=\"entryForm\" [formGroup]=\"entryForm\" (ngSubmit)=\"addSigner()\">\n <div class=\"form-body\">\n <eo-form-input\n class=\"name\"\n [invalid]=\"entryForm.get('name').dirty && entryForm.get('name').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignername' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignername'\" [autocomplete]=\"true\" [autofocus]=\"true\" formControlName=\"name\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('name').hasError('maxlength')\" [translateParams]=\"{maxlength: 100}\"\n translate>eo.form.property.maxlength</small>\n <eo-form-input\n class=\"task\"\n [invalid]=\"entryForm.get('email').dirty && entryForm.get('email').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsigneremail' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsigneremail'\" [autocomplete]=\"true\" formControlName=\"email\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('email').hasError('email')\" translate>eo.form.property.string.error.classification.email</small>\n <small class=\"errors\" *ngIf=\"!entryForm.get('email').hasError('email') && entryForm.get('email').hasError('maxlength')\"\n [translateParams]=\"{maxlength: 100}\" translate>eo.form.property.maxlength</small>\n <eo-form-input\n class=\"task\"\n *ngIf=\"phoneRequired\"\n [invalid]=\"entryForm.get('phone').dirty && entryForm.get('phone').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignerphone' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignerphone'\" formControlName=\"phone\"> </eo-string>\n <small class=\"errors\" *ngIf=\"entryForm.get('phone').hasError('maxlength')\" [translateParams]=\"{maxlength: 100}\"\n translate>eo.form.property.maxlength</small>\n </eo-form-input>\n </div>\n <footer class=\"footer-action\">\n <button class=\"secondary\" type=\"button\" (click)=\"cancel()\" translate>eo.action.signature.cancel</button>\n <ng-container [ngSwitch]=\"mode\">\n <button *ngSwitchCase=\"'edit'\" class=\"primary\" [disabled]=\"entryForm.invalid || entryForm.pristine\" type=\"submit\" translate>eo.action.signature.editSigner</button>\n <button *ngSwitchDefault class=\"primary\" [disabled]=\"entryForm.invalid\" type=\"submit\" translate>eo.action.signature.addSigner</button>\n </ng-container>\n </footer>\n </form>\n</ng-template>\n", styles: [":host{display:block;border:1px solid var(--panel-divider-color);padding:1px;background-color:var(--panel-background)}:host:focus{border-color:var(--color-accent)}:host.ng-invalid{border-color:var(--color-error)}:host.dense form.entryForm{display:flex;flex-flow:column}:host form.entryForm{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;padding:calc(var(--app-pane-padding) / 2);gap:calc(var(--app-pane-padding) / 2);grid-template-areas:\"title\" \"task\" \"nextAssignee\" \"expiryDatetime\" \"buttons\";border:1px solid var(--panel-divider-color)}:host form.entryForm eo-form-input.task{grid-area:task}:host form.entryForm eo-form-input.nextAssignee{grid-area:nextAssignee}:host form.entryForm eo-form-input.expiryDatetime{grid-area:expiryDatetime}:host form.entryForm .buttons{grid-area:buttons;display:flex;justify-content:end;margin:0 -2px}:host form.entryForm .buttons button{margin:0 2px}:host form.entryForm .errors{color:var(--color-error)}:host .toolbar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--app-pane-padding) / 4);border:1px solid var(--panel-divider-color)}:host .toolbar:focus{border-color:var(--color-accent)}:host .toolbar h4{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1;color:var(--color-primary-2)}:host .toolbar button{padding:calc(var(--app-pane-padding) / 4);border-radius:2px}:host .entries .entry{position:relative;transition:background-color .1s ease-in-out;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entries .entry.disabled{background-color:var(--panel-background-lightgrey);opacity:.85}:host .entries .entry.disabled.current{background-color:var(--panel-background);border-color:var(--color-accent)}:host .entries .entry.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host .entries .entry.disabled button,:host .entries .entry.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host .entries .entry.single .handle,:host .entries .entry.single .index{display:none}:host .entries .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entries .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entries .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entries .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entries .entry .content{grid-area:content}:host .entries .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entries .entry .action{grid-area:action;display:flex;align-items:center}:host .entries .entry .action button{padding:2px}:host .entries .entry .action button eo-icon{width:18px;height:18px}.footer-action{display:flex;justify-content:flex-end;padding:var(--app-pane-padding) 0;background-color:transparent;border-top:none}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { 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$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "directive", type: i4$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4$2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: SequenceListItemComponent, selector: "eo-sequence-list-item", inputs: ["index", "disableAdd", "addTargetIndex"], outputs: ["changeEntry", "edit", "delete", "insert"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
15459
15470
|
}
|
|
15460
15471
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SequenceListComponent, decorators: [{
|
|
15461
15472
|
type: Component,
|
|
@@ -15612,11 +15623,11 @@ class SignatureComponent {
|
|
|
15612
15623
|
this.signingFormListener.unsubscribe();
|
|
15613
15624
|
}
|
|
15614
15625
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SignatureComponent, deps: [{ token: i1.BpmService }, { token: PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SigningService }, { token: i1.EventService }, { token: i1.DmsService }, { token: i1.SystemService }, { token: i1.LocalStorageService }, { token: i1$2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15615
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"
|
|
15626
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"2000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;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 .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.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}.loader-overlay__mask .signature__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { 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: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: CtaComponent, selector: "eo-cta", inputs: ["active"] }, { kind: "component", type: SequenceListComponent, selector: "eo-sequence-list", inputs: ["MAX_SIGNERS", "phoneRequired"], outputs: ["itemEdit"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
15616
15627
|
}
|
|
15617
15628
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SignatureComponent, decorators: [{
|
|
15618
15629
|
type: Component,
|
|
15619
|
-
args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"
|
|
15630
|
+
args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"2000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;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 .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.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}.loader-overlay__mask .signature__loader{margin:auto}\n"] }]
|
|
15620
15631
|
}], ctorParameters: () => [{ type: i1.BpmService }, { type: PendingChangesService }, { type: i1.TranslateService }, { type: i1.NotificationsService }, { type: i1.SigningService }, { type: i1.EventService }, { type: i1.DmsService }, { type: i1.SystemService }, { type: i1.LocalStorageService }, { type: i1$2.UntypedFormBuilder }], propDecorators: { dialog: [{
|
|
15621
15632
|
type: ViewChild,
|
|
15622
15633
|
args: ['dialog']
|
|
@@ -16036,6 +16047,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
16036
16047
|
type: Input
|
|
16037
16048
|
}] } });
|
|
16038
16049
|
|
|
16050
|
+
class LicenseWarningComponent {
|
|
16051
|
+
constructor() {
|
|
16052
|
+
this.transparent = false;
|
|
16053
|
+
}
|
|
16054
|
+
expiresWithinAMonth() {
|
|
16055
|
+
const expiryDate = new Date(this.licenseState.expires);
|
|
16056
|
+
const after30Days = new Date(new Date().setDate((new Date()).getDate() + 30));
|
|
16057
|
+
return !this.licenseState.error && expiryDate < after30Days;
|
|
16058
|
+
}
|
|
16059
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LicenseWarningComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16060
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: LicenseWarningComponent, selector: "eo-license-warning", inputs: { licenseState: "licenseState", transparent: "transparent" }, ngImport: i0, template: "<div *ngIf=\"licenseState.type !== 'PRODUCTION'; else production\" [ngClass]=\"{'accent-color': transparent}\">\n <span *ngIf=\"expiresWithinAMonth(); else notExpiring\" translate [translateParams]=\"{type: licenseState.type, date: licenseState.expires | localeDate: 'eoShortDate'}\">eo.license.warning.expirationDate</span>\n <ng-template #notExpiring>\n <span *ngIf=\"licenseState.error !== 'EXPIRED'; else expired\" translate [translateParams]=\"{type: licenseState.type}\">eo.license.warning.type</span>\n </ng-template>\n</div>\n\n<ng-template #production>\n <div *ngIf=\"expiresWithinAMonth()\">\n <span translate *ngIf=\"licenseState.error !== 'EXPIRED'; else expired\" [translateParams]=\"{date: licenseState.expires | localeDate: 'eoShortDate'}\">eo.license.warning.type.production.expiration</span>\n </div>\n</ng-template>\n\n<ng-template #expired>\n <span translate>eo.license.warning.expired</span>\n</ng-template>\n", styles: [":host{z-index:15}:host div{font-size:var(--font-subhead);width:max-content}:host div.accent-color{color:var(--color-accent)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
|
|
16061
|
+
}
|
|
16062
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LicenseWarningComponent, decorators: [{
|
|
16063
|
+
type: Component,
|
|
16064
|
+
args: [{ selector: 'eo-license-warning', template: "<div *ngIf=\"licenseState.type !== 'PRODUCTION'; else production\" [ngClass]=\"{'accent-color': transparent}\">\n <span *ngIf=\"expiresWithinAMonth(); else notExpiring\" translate [translateParams]=\"{type: licenseState.type, date: licenseState.expires | localeDate: 'eoShortDate'}\">eo.license.warning.expirationDate</span>\n <ng-template #notExpiring>\n <span *ngIf=\"licenseState.error !== 'EXPIRED'; else expired\" translate [translateParams]=\"{type: licenseState.type}\">eo.license.warning.type</span>\n </ng-template>\n</div>\n\n<ng-template #production>\n <div *ngIf=\"expiresWithinAMonth()\">\n <span translate *ngIf=\"licenseState.error !== 'EXPIRED'; else expired\" [translateParams]=\"{date: licenseState.expires | localeDate: 'eoShortDate'}\">eo.license.warning.type.production.expiration</span>\n </div>\n</ng-template>\n\n<ng-template #expired>\n <span translate>eo.license.warning.expired</span>\n</ng-template>\n", styles: [":host{z-index:15}:host div{font-size:var(--font-subhead);width:max-content}:host div.accent-color{color:var(--color-accent)}\n"] }]
|
|
16065
|
+
}], propDecorators: { licenseState: [{
|
|
16066
|
+
type: Input
|
|
16067
|
+
}], transparent: [{
|
|
16068
|
+
type: Input
|
|
16069
|
+
}] } });
|
|
16070
|
+
|
|
16039
16071
|
let AppBarComponent = class AppBarComponent {
|
|
16040
16072
|
constructor(userService, capabilityService, translate, inboxService, prepareService, router, bpmService, eventService, config, elemRef, pendingChanges) {
|
|
16041
16073
|
this.userService = userService;
|
|
@@ -16205,14 +16237,14 @@ let AppBarComponent = class AppBarComponent {
|
|
|
16205
16237
|
this.initVisibilityChangeListener();
|
|
16206
16238
|
}
|
|
16207
16239
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBarComponent, deps: [{ token: i1.UserService }, { token: i1.CapabilitiesService }, { token: i1.TranslateService }, { token: i1.InboxService }, { token: i1.PrepareService }, { token: i2$1.Router }, { token: i1.BpmService }, { token: i1.EventService }, { token: i1.Config }, { token: i0.ElementRef }, { token: PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16208
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppBarComponent, selector: "eo-app-bar", inputs: { transparent: "transparent" }, viewQueries: [{ propertyName: "avatarComponents", predicate: UserAvatarComponent, descendants: true }], ngImport: i0, template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"toggleSidebar()\" (keyup.enter)=\"toggleSidebar()\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\"\n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a tabindex=\"0\" (keydown.enter)=\"openSearchOverlay()\" (click)=\"openSearchOverlay()\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a tabindex=\"0\" (keydown.enter)=\"openCreateObjectOverlay()\" (click)=\"openCreateObjectOverlay()\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openProcessOverlay()\" (click)=\"openProcessOverlay()\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n </div>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/favorites')\" (click)=\"openState('/favorites')\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/prepare')\" (click)=\"openState('/prepare')\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/inbox')\" (click)=\"openState('/inbox')\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" href=\"{{docu.link}}\" target=\"_blank\">\n <eo-icon class=\"button white about\"\n [iconTitle]=\"iconTitles.about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel [userAvatar]=\"true\">\n <eo-user-avatar-overlay [userPanel]=\"userpanel\"></eo-user-avatar-overlay>\n </eo-overlay>\n\n\n </div>\n</div>\n", styles: [":host .eo-app-bar{background:var(--color-primary);color:var(--color-white);height:var(--app-bar-height);position:absolute;left:0;right:0;top:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;z-index:5}:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover,:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{display:flex;height:var(--app-bar-height);flex-flow:row nowrap;align-items:center}@media screen and (max-width: 480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{z-index:22;width:var(--app-bar-height);height:var(--app-bar-height);box-sizing:border-box;cursor:pointer;padding:20px;background-color:var(--color-accent)}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{width:104px;height:auto;cursor:pointer;margin:0 4px;background-color:transparent;padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2)}@media screen and (max-width: 480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .left .actions a eo-icon{padding:8px;cursor:pointer;border-radius:50%;box-sizing:content-box;margin:4px;color:var(--color-white)}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .right .sub{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding) / 4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:4px;background-color:var(--color-error)}@media screen and (max-width: 480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media screen and (max-width: 480px){:host .eo-app-bar.rtl .left{padding-right:var(--app-pane-padding);padding-left:0}}@keyframes dropDownAppear{0%{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$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: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: ClipboardComponent, selector: "eo-clipboard" }, { kind: "component", type: OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: SideBarComponent, selector: "eo-side-bar", outputs: ["eoOutsideClick"] }, { kind: "component", type: UserAvatarOverlayComponent, selector: "eo-user-avatar-overlay", inputs: ["userPanel"] }] }); }
|
|
16240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppBarComponent, selector: "eo-app-bar", inputs: { transparent: "transparent" }, viewQueries: [{ propertyName: "avatarComponents", predicate: UserAvatarComponent, descendants: true }], ngImport: i0, template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"toggleSidebar()\" (keyup.enter)=\"toggleSidebar()\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\"\n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a tabindex=\"0\" (keydown.enter)=\"openSearchOverlay()\" (click)=\"openSearchOverlay()\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a tabindex=\"0\" (keydown.enter)=\"openCreateObjectOverlay()\" (click)=\"openCreateObjectOverlay()\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openProcessOverlay()\" (click)=\"openProcessOverlay()\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <eo-license-warning [licenseState]=\"user.license\" [transparent]=\"transparent\"></eo-license-warning>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n </div>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/favorites')\" (click)=\"openState('/favorites')\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/prepare')\" (click)=\"openState('/prepare')\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/inbox')\" (click)=\"openState('/inbox')\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" href=\"{{docu.link}}\" target=\"_blank\">\n <eo-icon class=\"button white about\"\n [iconTitle]=\"iconTitles.about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel [userAvatar]=\"true\">\n <eo-user-avatar-overlay [userPanel]=\"userpanel\"></eo-user-avatar-overlay>\n </eo-overlay>\n\n\n </div>\n</div>\n", styles: [":host .eo-app-bar{background:var(--color-primary);color:var(--color-white);height:var(--app-bar-height);position:absolute;left:0;right:0;top:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;z-index:5}:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover,:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{display:flex;height:var(--app-bar-height);flex-flow:row nowrap;align-items:center}@media screen and (max-width: 480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{z-index:22;width:var(--app-bar-height);height:var(--app-bar-height);box-sizing:border-box;cursor:pointer;padding:20px;background-color:var(--color-accent)}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{width:104px;height:auto;cursor:pointer;margin:0 4px;background-color:transparent;padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2)}@media screen and (max-width: 480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .left .actions a eo-icon{padding:8px;cursor:pointer;border-radius:50%;box-sizing:content-box;margin:4px;color:var(--color-white)}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .right .sub{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding) / 4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:4px;background-color:var(--color-error)}@media screen and (max-width: 480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media screen and (max-width: 480px){:host .eo-app-bar.rtl .left{padding-right:var(--app-pane-padding);padding-left:0}}@keyframes dropDownAppear{0%{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$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: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: ClipboardComponent, selector: "eo-clipboard" }, { kind: "component", type: OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: SideBarComponent, selector: "eo-side-bar", outputs: ["eoOutsideClick"] }, { kind: "component", type: UserAvatarOverlayComponent, selector: "eo-user-avatar-overlay", inputs: ["userPanel"] }, { kind: "component", type: LicenseWarningComponent, selector: "eo-license-warning", inputs: ["licenseState", "transparent"] }] }); }
|
|
16209
16241
|
};
|
|
16210
16242
|
AppBarComponent = __decorate([
|
|
16211
16243
|
UntilDestroy()
|
|
16212
16244
|
], AppBarComponent);
|
|
16213
16245
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBarComponent, decorators: [{
|
|
16214
16246
|
type: Component,
|
|
16215
|
-
args: [{ selector: 'eo-app-bar', template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"toggleSidebar()\" (keyup.enter)=\"toggleSidebar()\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\"\n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a tabindex=\"0\" (keydown.enter)=\"openSearchOverlay()\" (click)=\"openSearchOverlay()\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a tabindex=\"0\" (keydown.enter)=\"openCreateObjectOverlay()\" (click)=\"openCreateObjectOverlay()\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openProcessOverlay()\" (click)=\"openProcessOverlay()\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n </div>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/favorites')\" (click)=\"openState('/favorites')\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/prepare')\" (click)=\"openState('/prepare')\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/inbox')\" (click)=\"openState('/inbox')\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" href=\"{{docu.link}}\" target=\"_blank\">\n <eo-icon class=\"button white about\"\n [iconTitle]=\"iconTitles.about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel [userAvatar]=\"true\">\n <eo-user-avatar-overlay [userPanel]=\"userpanel\"></eo-user-avatar-overlay>\n </eo-overlay>\n\n\n </div>\n</div>\n", styles: [":host .eo-app-bar{background:var(--color-primary);color:var(--color-white);height:var(--app-bar-height);position:absolute;left:0;right:0;top:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;z-index:5}:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover,:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{display:flex;height:var(--app-bar-height);flex-flow:row nowrap;align-items:center}@media screen and (max-width: 480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{z-index:22;width:var(--app-bar-height);height:var(--app-bar-height);box-sizing:border-box;cursor:pointer;padding:20px;background-color:var(--color-accent)}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{width:104px;height:auto;cursor:pointer;margin:0 4px;background-color:transparent;padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2)}@media screen and (max-width: 480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .left .actions a eo-icon{padding:8px;cursor:pointer;border-radius:50%;box-sizing:content-box;margin:4px;color:var(--color-white)}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .right .sub{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding) / 4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:4px;background-color:var(--color-error)}@media screen and (max-width: 480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media screen and (max-width: 480px){:host .eo-app-bar.rtl .left{padding-right:var(--app-pane-padding);padding-left:0}}@keyframes dropDownAppear{0%{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}\n"] }]
|
|
16247
|
+
args: [{ selector: 'eo-app-bar', template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"toggleSidebar()\" (keyup.enter)=\"toggleSidebar()\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\"\n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a tabindex=\"0\" (keydown.enter)=\"openSearchOverlay()\" (click)=\"openSearchOverlay()\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a tabindex=\"0\" (keydown.enter)=\"openCreateObjectOverlay()\" (click)=\"openCreateObjectOverlay()\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openProcessOverlay()\" (click)=\"openProcessOverlay()\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <eo-license-warning [licenseState]=\"user.license\" [transparent]=\"transparent\"></eo-license-warning>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n </div>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/favorites')\" (click)=\"openState('/favorites')\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/prepare')\" (click)=\"openState('/prepare')\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/inbox')\" (click)=\"openState('/inbox')\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" href=\"{{docu.link}}\" target=\"_blank\">\n <eo-icon class=\"button white about\"\n [iconTitle]=\"iconTitles.about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel [userAvatar]=\"true\">\n <eo-user-avatar-overlay [userPanel]=\"userpanel\"></eo-user-avatar-overlay>\n </eo-overlay>\n\n\n </div>\n</div>\n", styles: [":host .eo-app-bar{background:var(--color-primary);color:var(--color-white);height:var(--app-bar-height);position:absolute;left:0;right:0;top:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;z-index:5}:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover,:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{display:flex;height:var(--app-bar-height);flex-flow:row nowrap;align-items:center}@media screen and (max-width: 480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{z-index:22;width:var(--app-bar-height);height:var(--app-bar-height);box-sizing:border-box;cursor:pointer;padding:20px;background-color:var(--color-accent)}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{width:104px;height:auto;cursor:pointer;margin:0 4px;background-color:transparent;padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2)}@media screen and (max-width: 480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .left .actions a eo-icon{padding:8px;cursor:pointer;border-radius:50%;box-sizing:content-box;margin:4px;color:var(--color-white)}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .right .sub{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding) / 4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:4px;background-color:var(--color-error)}@media screen and (max-width: 480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media screen and (max-width: 480px){:host .eo-app-bar.rtl .left{padding-right:var(--app-pane-padding);padding-left:0}}@keyframes dropDownAppear{0%{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}\n"] }]
|
|
16216
16248
|
}], ctorParameters: () => [{ type: i1.UserService }, { type: i1.CapabilitiesService }, { type: i1.TranslateService }, { type: i1.InboxService }, { type: i1.PrepareService }, { type: i2$1.Router }, { type: i1.BpmService }, { type: i1.EventService }, { type: i1.Config }, { type: i0.ElementRef }, { type: PendingChangesService }], propDecorators: { transparent: [{
|
|
16217
16249
|
type: Input
|
|
16218
16250
|
}], avatarComponents: [{
|
|
@@ -16267,7 +16299,7 @@ var ContextType;
|
|
|
16267
16299
|
ContextType["sysroot"] = "sysroot";
|
|
16268
16300
|
})(ContextType || (ContextType = {}));
|
|
16269
16301
|
|
|
16270
|
-
class AppSearchComponent {
|
|
16302
|
+
let AppSearchComponent = class AppSearchComponent {
|
|
16271
16303
|
set selected(index) {
|
|
16272
16304
|
this._selected = this._selected === index ? null : index;
|
|
16273
16305
|
}
|
|
@@ -16277,7 +16309,7 @@ class AppSearchComponent {
|
|
|
16277
16309
|
get storedQuery() {
|
|
16278
16310
|
return this.query;
|
|
16279
16311
|
}
|
|
16280
|
-
constructor(appSearchService, overlay, searchService, systemService, notifications, translate, router, renderer, cd, storedQueriesService, capabilityService, userService, logger, storageService) {
|
|
16312
|
+
constructor(appSearchService, overlay, searchService, systemService, notifications, translate, router, renderer, cd, storedQueriesService, capabilityService, userService, logger, storageService, fb) {
|
|
16281
16313
|
this.appSearchService = appSearchService;
|
|
16282
16314
|
this.overlay = overlay;
|
|
16283
16315
|
this.searchService = searchService;
|
|
@@ -16292,6 +16324,7 @@ class AppSearchComponent {
|
|
|
16292
16324
|
this.userService = userService;
|
|
16293
16325
|
this.logger = logger;
|
|
16294
16326
|
this.storageService = storageService;
|
|
16327
|
+
this.fb = fb;
|
|
16295
16328
|
this.PARAMS = SearchQuery.BASE_PARAMS;
|
|
16296
16329
|
this.OPERATOR = SearchFilter.OPERATOR;
|
|
16297
16330
|
this.isOwnQuery = false;
|
|
@@ -16317,6 +16350,9 @@ class AppSearchComponent {
|
|
|
16317
16350
|
};
|
|
16318
16351
|
this._selected = null;
|
|
16319
16352
|
this.objectTypeGroupsStorageKey = 'eo.app.search.object.type.group.sortedList';
|
|
16353
|
+
this.termForm = this.fb.group({
|
|
16354
|
+
term: []
|
|
16355
|
+
});
|
|
16320
16356
|
this.onExecuteSearch = new EventEmitter();
|
|
16321
16357
|
this.datePipe = new LocaleDatePipe(translate);
|
|
16322
16358
|
this.expertModeSupport.baseParams = Object.keys(SearchQuery.BASE_PARAMS).map(k => {
|
|
@@ -16723,17 +16759,15 @@ class AppSearchComponent {
|
|
|
16723
16759
|
}
|
|
16724
16760
|
}
|
|
16725
16761
|
autocompleteSuggest(evt) {
|
|
16726
|
-
|
|
16727
|
-
|
|
16728
|
-
|
|
16729
|
-
|
|
16730
|
-
|
|
16731
|
-
|
|
16732
|
-
|
|
16733
|
-
|
|
16734
|
-
|
|
16735
|
-
}
|
|
16736
|
-
}, 1000);
|
|
16762
|
+
let v = [];
|
|
16763
|
+
// also trigger aggregations search
|
|
16764
|
+
this.autocompleteSelect();
|
|
16765
|
+
if (evt) {
|
|
16766
|
+
this.appSearchService
|
|
16767
|
+
.autocomplete(evt)
|
|
16768
|
+
.pipe(switchMap(res => from(res).pipe(pluck('value'))))
|
|
16769
|
+
.subscribe(res => v.push(res), () => { }, () => (this.autocompleteResults = v));
|
|
16770
|
+
}
|
|
16737
16771
|
}
|
|
16738
16772
|
expertTermChanged() {
|
|
16739
16773
|
this.expertModeQueryEmpty = false;
|
|
@@ -16988,6 +17022,10 @@ class AppSearchComponent {
|
|
|
16988
17022
|
// subscribe to query state as well to fetch result count and aggregations as they change
|
|
16989
17023
|
this.queryStateSubscription = this.appSearchService.queryState$.subscribe((queryState) => this.processQueryState(queryState));
|
|
16990
17024
|
this.appSearchService.aggregate();
|
|
17025
|
+
this.termForm.valueChanges.pipe(debounceTime(1000), untilDestroyed(this)).subscribe(res => {
|
|
17026
|
+
this.query.term = res.term;
|
|
17027
|
+
this.autocompleteSuggest(this.query.term);
|
|
17028
|
+
});
|
|
16991
17029
|
}
|
|
16992
17030
|
ngAfterViewInit() {
|
|
16993
17031
|
setTimeout(() => {
|
|
@@ -17008,13 +17046,16 @@ class AppSearchComponent {
|
|
|
17008
17046
|
this.querySubscription.unsubscribe();
|
|
17009
17047
|
this.queryStateSubscription.unsubscribe();
|
|
17010
17048
|
}
|
|
17011
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSearchComponent, deps: [{ token: AppSearchService }, { token: i2$3.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 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17012
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", 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\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"query.term\"\n (autocompleteFnc)=\"autocompleteSuggest($event)\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" [minLength]=\"3\" (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;min-width:var(--search-min-width)}.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}.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: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.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: "component", type: ContextSearchComponent, selector: "eo-context-search", inputs: ["ctx", "query", "idxSearch", "selected", "disabled"], outputs: ["setContext"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDecimalPipe, name: "localeDecimal" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17013
|
-
}
|
|
17049
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSearchComponent, deps: [{ token: AppSearchService }, { token: i2$3.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$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17050
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", 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;min-width:var(--search-min-width)}.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}.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: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.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$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.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: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDecimalPipe, name: "localeDecimal" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
17051
|
+
};
|
|
17052
|
+
AppSearchComponent = __decorate([
|
|
17053
|
+
UntilDestroy()
|
|
17054
|
+
], AppSearchComponent);
|
|
17014
17055
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSearchComponent, decorators: [{
|
|
17015
17056
|
type: Component,
|
|
17016
|
-
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\">\n\n <yvc-autocomplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"query.term\"\n (autocompleteFnc)=\"autocompleteSuggest($event)\" [autocompleteValues]=\"autocompleteResults\"\n (suggestionSelect)=\"autocompleteSelect()\" [minLength]=\"3\" (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;min-width:var(--search-min-width)}.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}.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"] }]
|
|
17017
|
-
}], ctorParameters: () => [{ type: AppSearchService }, { type: i2$3.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 }], propDecorators: { tplSearch: [{
|
|
17057
|
+
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;min-width:var(--search-min-width)}.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}.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"] }]
|
|
17058
|
+
}], ctorParameters: () => [{ type: AppSearchService }, { type: i2$3.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$2.FormBuilder }], propDecorators: { tplSearch: [{
|
|
17018
17059
|
type: ViewChild,
|
|
17019
17060
|
args: ['tplSearch', { read: TemplateRef }]
|
|
17020
17061
|
}], searchInput: [{
|
|
@@ -17351,7 +17392,8 @@ class EoAppShellModule {
|
|
|
17351
17392
|
AppAddDialogComponent,
|
|
17352
17393
|
ContextSearchComponent,
|
|
17353
17394
|
AppProcessComponent,
|
|
17354
|
-
UserAvatarOverlayComponent
|
|
17395
|
+
UserAvatarOverlayComponent,
|
|
17396
|
+
LicenseWarningComponent], imports: [AppShellRoutingModule,
|
|
17355
17397
|
CommonModule,
|
|
17356
17398
|
FormsModule,
|
|
17357
17399
|
UiModule,
|
|
@@ -17365,7 +17407,8 @@ class EoAppShellModule {
|
|
|
17365
17407
|
CtaModule,
|
|
17366
17408
|
ProcessFormModule,
|
|
17367
17409
|
YvcAutocompleteModule,
|
|
17368
|
-
YvcDialogModule
|
|
17410
|
+
YvcDialogModule,
|
|
17411
|
+
ReactiveFormsModule], exports: [AppBarComponent, LicenseWarningComponent] }); }
|
|
17369
17412
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EoAppShellModule, imports: [AppShellRoutingModule,
|
|
17370
17413
|
CommonModule,
|
|
17371
17414
|
FormsModule,
|
|
@@ -17380,7 +17423,8 @@ class EoAppShellModule {
|
|
|
17380
17423
|
CtaModule,
|
|
17381
17424
|
ProcessFormModule,
|
|
17382
17425
|
YvcAutocompleteModule,
|
|
17383
|
-
YvcDialogModule
|
|
17426
|
+
YvcDialogModule,
|
|
17427
|
+
ReactiveFormsModule] }); }
|
|
17384
17428
|
}
|
|
17385
17429
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: EoAppShellModule, decorators: [{
|
|
17386
17430
|
type: NgModule,
|
|
@@ -17401,8 +17445,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
17401
17445
|
ProcessFormModule,
|
|
17402
17446
|
YvcAutocompleteModule,
|
|
17403
17447
|
YvcDialogModule,
|
|
17448
|
+
ReactiveFormsModule,
|
|
17404
17449
|
],
|
|
17405
|
-
exports: [AppBarComponent],
|
|
17450
|
+
exports: [AppBarComponent, LicenseWarningComponent],
|
|
17406
17451
|
declarations: [
|
|
17407
17452
|
AppBarComponent,
|
|
17408
17453
|
SideBarComponent,
|
|
@@ -17411,7 +17456,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
17411
17456
|
AppAddDialogComponent,
|
|
17412
17457
|
ContextSearchComponent,
|
|
17413
17458
|
AppProcessComponent,
|
|
17414
|
-
UserAvatarOverlayComponent
|
|
17459
|
+
UserAvatarOverlayComponent,
|
|
17460
|
+
LicenseWarningComponent
|
|
17415
17461
|
]
|
|
17416
17462
|
}]
|
|
17417
17463
|
}] });
|
|
@@ -18793,14 +18839,14 @@ let InboxDetailsComponent = class InboxDetailsComponent {
|
|
|
18793
18839
|
ngAfterViewInit() {
|
|
18794
18840
|
}
|
|
18795
18841
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: InboxDetailsComponent, deps: [{ token: i1.BpmService }, { token: i1.UserService }, { token: i1.InboxService }, { token: SelectionService }, { token: i2$1.Router }, { token: i1.EventService }, { token: i1.ClipboardService }, { token: i1.TranslateService }, { token: PendingChangesService }, { token: i1.NotificationsService }, { token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18796
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: InboxDetailsComponent, selector: "eo-inbox-details", inputs: { plugins: "plugins", emptyState: "emptyState", applySelection: "applySelection", item: "item" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "bpmFormEl", first: true, predicate: ["bpmForm"], descendants: true }], ngImport: i0, template: "<div class=\"inbox-details\" *ngIf=\"item; else noItem\" [ngClass]=\"{bpm: item.type === 'BPM'}\">\n\n <div class=\"eo-head\" [ngClass]=\"{'eo-head-tabs': item.type === 'BPM'}\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"!item.iconId\" title=\"{{item?.type}}\"\n [iconSrc]=\"'assets/_default/svg/ic_loop.svg'\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconId\" title=\"{{item?.type}}\" [iconId]=\"item.iconId\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 *ngIf=\"item.description\" class=\"eo-header-subtitle\">{{item.description}}</h3>\n <h3 *ngIf=\"workItem && !item.description\" class=\"eo-header-subtitle\">{{workItem.qmodelname}}</h3>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" *ngIf=\"initializing.closed\" (click)=\"refresh()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\" *ngIf=\"initializing.closed\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-error-message></eo-error-message>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs *ngIf=\"item.type === 'BPM'; else dmsTask\" layoutSettingsID=\"eo.inbox.details.tabs\">\n <!-- task -->\n <ng-template [yvcTab]=\"{id: 'task', label: 'eo.process.details.tab.task' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel task\">\n\n <div class=\"process-description\" *ngIf=\"workItem?.description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{workItem.description}}</div>\n </div>\n\n <eo-duetimeInfo *ngIf=\"item?.duetime\" [item]=\"item\"></eo-duetimeInfo>\n\n <div class=\"process-performer\" *ngIf=\"workItem?.inSubstituteOf?.length\">\n <div class=\"head\" [ngClass]=\"{performerShow: substituteShow}\">\n <div class=\"label\" translate>eo.process.substitute</div>\n <div class=\"action\" (click)=\"substituteShow = !substituteShow\">\n <div class=\"count\">{{workItem.inSubstituteOf.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"substituteShow\">\n <div class=\"performer\" *ngFor=\"let u of workItem.inSubstituteOf\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"locked; else unlocked\">\n\n <div class=\"process-form\">\n <eo-object-form [formOptions]=\"formOptions\" *ngIf=\"workItem?.form\"\n (statusChanged)=\"onFormStatusChanged($event)\" #bpmForm></eo-object-form>\n </div>\n </ng-container>\n\n <ng-template #unlocked>\n\n <div class=\"notice\" translate>eo.process.task.continue</div>\n\n <div class=\"process-performer\" *ngIf=\"workItem\">\n <div class=\"head\" [ngClass]=\"{performerShow: performerShow}\">\n <div class=\"label\" translate>eo.process.recipients</div>\n <div class=\"action\" (click)=\"performerShow = !performerShow\">\n <div class=\"count\">{{workItem.performer.users.length + workItem.performer.roles.length +\n workItem.performer.groups.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"performerShow\">\n\n <div class=\"performer\" *ngFor=\"let g of workItem.performer.groups\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_group.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{g.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let r of workItem.performer.roles\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_role.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{r.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let u of workItem.performer.users\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata\" *ngIf=\"workItemIndexdata?.data\">\n <h3 translate>eo.process.details.tab.task.indexdata</h3>\n <eo-indexdata-summary [indexdata]=\"workItemIndexdata\"></eo-indexdata-summary>\n </div>\n\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"locked; else unlockedActions\">\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n\n <div class=\"secondary\">\n <button class=\"btn-unlock\" (click)=\"unlockWorkItem()\" translate>eo.process.depersonalize</button>\n <button class=\"btn-save\" (click)=\"saveWorkItemData()\"\n *ngIf=\"workItem?.form && !formState?.invalid && formState?.dirty\"\n translate>eo.object.indexdata.save</button>\n </div>\n\n <div class=\"primary\" [ngClass]=\"{disabled: preventClickThrough}\">\n <button class=\"primary btn-execute\" *ngFor=\"let action of workItem.actions; trackBy: trackByCode\"\n (click)=\"executeWorkItemAction(action)\" [ngClass]=\"{ext: action.url}\"\n [disabled]=\"(!!formState && formState?.invalid) || !action.feasible\">{{action.title}}</button>\n </div>\n </div>\n </ng-container>\n\n <ng-template #unlockedActions>\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed || !workItem}\">\n <div class=\"primary\">\n <button class=\"primary btn-lock\" (click)=\"lockWorkItem()\" translate>eo.process.personalize</button>\n </div>\n </div>\n </ng-template>\n\n </div>\n </ng-template>\n\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n\n <!-- attachments -->\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"workItem?.file\" [permissions]=\"workItem?.fileEntryPermissions\"\n [isDisabled]=\"!filesAdding.closed\" [clipboard]=\"clipboard\" [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\" (onPasteProcessFile)=\"addFromClipboard()\">\n </eo-process-file>\n </div>\n </div>\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-tabs>\n\n <!-- body when we have a subscription or a resubmission -->\n <ng-template #dmsTask>\n <div class=\"tab-panel\">\n <div class=\"panel\">\n <div class=\"process-description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{settings?.description}}</div>\n </div>\n </div>\n\n <!-- actions for the current process item -->\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n <div class=\"primary\">\n <button class=\"primary btn-confirm\" [disabled]=\"preventClickThrough\"\n (click)=\"confirmInboxItem()\">{{settings?.actionTitle}}</button>\n </div>\n </div>\n\n </div>\n </ng-template>\n\n </div>\n</div>\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", styles: [".inbox-details{background-color:var(--panel-background-grey);height:100%;position:relative;display:flex;flex-flow:column}.inbox-details yvc-tabs{height:100%}.inbox-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-head{border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-body{flex:1;overflow:hidden}.inbox-details .eo-head{background-color:var(--color-white)}.inbox-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.inbox-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.inbox-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.inbox-details .eo-body .tab-panel .panel.process-history,.inbox-details .eo-body .tab-panel .panel.process-files{height:100%}.inbox-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.inbox-details .eo-body .tab-panel .process-actions button{margin:calc(var(--app-pane-padding) / 8)}.inbox-details .eo-body .tab-panel .process-actions button.ext{position:relative}.inbox-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.inbox-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;flex:1 1 auto;padding:var(--app-pane-padding) 0}.inbox-details .eo-body .tab-panel .process-actions div.primary.disabled{pointer-events:none;opacity:.2}.inbox-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.inbox-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.inbox-details .eo-body h3{font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0 0 calc(var(--app-pane-padding) / 2) 0;padding:0 0 calc(var(--app-pane-padding) / 4) 0;color:var(--text-color-caption);border-bottom:1px solid rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.inbox-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.inbox-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.inbox-details .eo-body .process-performer .head .label{flex:1 1 auto}.inbox-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;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}.inbox-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.inbox-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);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}.inbox-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.inbox-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.inbox-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;user-select:none}.inbox-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.inbox-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.inbox-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.inbox-details .eo-body .no-files{padding:var(--app-pane-padding)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["indexdata", "dmsObject", "baseparams", "enableVersions", "diff"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { 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: ProcessHistoryComponent, selector: "eo-process-history", inputs: ["history"] }, { kind: "component", type: ProcessFileComponent, selector: "eo-process-file", inputs: ["processFile", "permissions", "clipboard", "selectedContentFileId", "isDisabled", "editable"], outputs: ["onOpenWorkItemContentInContext", "onOpenWorkItemContent", "onRemoveWorkItemContent", "onPasteProcessFile"] }, { kind: "component", type: DuetimeInfoComponent, selector: "eo-duetimeInfo", inputs: ["item"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
18842
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: InboxDetailsComponent, selector: "eo-inbox-details", inputs: { plugins: "plugins", emptyState: "emptyState", applySelection: "applySelection", item: "item" }, host: { properties: { "attr.data-type": "this.dataType" } }, viewQueries: [{ propertyName: "bpmFormEl", first: true, predicate: ["bpmForm"], descendants: true }], ngImport: i0, template: "<div class=\"inbox-details\" *ngIf=\"item; else noItem\" [ngClass]=\"{bpm: item.type === 'BPM'}\">\n\n <div class=\"eo-head\" [ngClass]=\"{'eo-head-tabs': item.type === 'BPM'}\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"!item.iconId\" title=\"{{item?.type}}\"\n [iconSrc]=\"'assets/_default/svg/ic_loop.svg'\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconId\" title=\"{{item?.type}}\" [iconId]=\"item.iconId\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 *ngIf=\"item.description\" class=\"eo-header-subtitle\">{{item.description}}</h3>\n <h3 *ngIf=\"workItem && !item.description\" class=\"eo-header-subtitle\">{{workItem.processTitle ? workItem.processTitle : workItem.qmodelname}}</h3>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" *ngIf=\"initializing.closed\" (click)=\"refresh()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\" *ngIf=\"initializing.closed\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-error-message></eo-error-message>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs *ngIf=\"item.type === 'BPM'; else dmsTask\" layoutSettingsID=\"eo.inbox.details.tabs\">\n <!-- task -->\n <ng-template [yvcTab]=\"{id: 'task', label: 'eo.process.details.tab.task' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel task\">\n\n <div class=\"process-description\" *ngIf=\"workItem?.description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{workItem.description}}</div>\n </div>\n\n <eo-duetimeInfo *ngIf=\"item?.duetime\" [item]=\"item\"></eo-duetimeInfo>\n\n <div class=\"process-performer\" *ngIf=\"workItem?.inSubstituteOf?.length\">\n <div class=\"head\" [ngClass]=\"{performerShow: substituteShow}\">\n <div class=\"label\" translate>eo.process.substitute</div>\n <div class=\"action\" (click)=\"substituteShow = !substituteShow\">\n <div class=\"count\">{{workItem.inSubstituteOf.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"substituteShow\">\n <div class=\"performer\" *ngFor=\"let u of workItem.inSubstituteOf\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"locked; else unlocked\">\n\n <div class=\"process-form\">\n <eo-object-form [formOptions]=\"formOptions\" *ngIf=\"workItem?.form\"\n (statusChanged)=\"onFormStatusChanged($event)\" #bpmForm></eo-object-form>\n </div>\n </ng-container>\n\n <ng-template #unlocked>\n\n <div class=\"notice\" translate>eo.process.task.continue</div>\n\n <div class=\"process-performer\" *ngIf=\"workItem\">\n <div class=\"head\" [ngClass]=\"{performerShow: performerShow}\">\n <div class=\"label\" translate>eo.process.recipients</div>\n <div class=\"action\" (click)=\"performerShow = !performerShow\">\n <div class=\"count\">{{workItem.performer.users.length + workItem.performer.roles.length +\n workItem.performer.groups.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"performerShow\">\n\n <div class=\"performer\" *ngFor=\"let g of workItem.performer.groups\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_group.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{g.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let r of workItem.performer.roles\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_role.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{r.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let u of workItem.performer.users\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata\" *ngIf=\"workItemIndexdata?.data\">\n <h3 translate>eo.process.details.tab.task.indexdata</h3>\n <eo-indexdata-summary [indexdata]=\"workItemIndexdata\"></eo-indexdata-summary>\n </div>\n\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"locked; else unlockedActions\">\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n\n <div class=\"secondary\">\n <button class=\"btn-unlock\" (click)=\"unlockWorkItem()\" translate>eo.process.depersonalize</button>\n <button class=\"btn-save\" (click)=\"saveWorkItemData()\"\n *ngIf=\"workItem?.form && !formState?.invalid && formState?.dirty\"\n translate>eo.object.indexdata.save</button>\n </div>\n\n <div class=\"primary\" [ngClass]=\"{disabled: preventClickThrough}\">\n <button class=\"primary btn-execute\" *ngFor=\"let action of workItem.actions; trackBy: trackByCode\"\n (click)=\"executeWorkItemAction(action)\" [ngClass]=\"{ext: action.url}\"\n [disabled]=\"(!!formState && formState?.invalid) || !action.feasible\">{{action.title}}</button>\n </div>\n </div>\n </ng-container>\n\n <ng-template #unlockedActions>\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed || !workItem}\">\n <div class=\"primary\">\n <button class=\"primary btn-lock\" (click)=\"lockWorkItem()\" translate>eo.process.personalize</button>\n </div>\n </div>\n </ng-template>\n\n </div>\n </ng-template>\n\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n\n <!-- attachments -->\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"workItem?.file\" [permissions]=\"workItem?.fileEntryPermissions\"\n [isDisabled]=\"!filesAdding.closed\" [clipboard]=\"clipboard\" [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\" (onPasteProcessFile)=\"addFromClipboard()\">\n </eo-process-file>\n </div>\n </div>\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-tabs>\n\n <!-- body when we have a subscription or a resubmission -->\n <ng-template #dmsTask>\n <div class=\"tab-panel\">\n <div class=\"panel\">\n <div class=\"process-description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{settings?.description}}</div>\n </div>\n </div>\n\n <!-- actions for the current process item -->\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n <div class=\"primary\">\n <button class=\"primary btn-confirm\" [disabled]=\"preventClickThrough\"\n (click)=\"confirmInboxItem()\">{{settings?.actionTitle}}</button>\n </div>\n </div>\n\n </div>\n </ng-template>\n\n </div>\n</div>\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", styles: [".inbox-details{background-color:var(--panel-background-grey);height:100%;position:relative;display:flex;flex-flow:column}.inbox-details yvc-tabs{height:100%}.inbox-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-head{border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-body{flex:1;overflow:hidden}.inbox-details .eo-head{background-color:var(--color-white)}.inbox-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.inbox-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.inbox-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.inbox-details .eo-body .tab-panel .panel.process-history,.inbox-details .eo-body .tab-panel .panel.process-files{height:100%}.inbox-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.inbox-details .eo-body .tab-panel .process-actions button{margin:calc(var(--app-pane-padding) / 8)}.inbox-details .eo-body .tab-panel .process-actions button.ext{position:relative}.inbox-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.inbox-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;flex:1 1 auto;padding:var(--app-pane-padding) 0}.inbox-details .eo-body .tab-panel .process-actions div.primary.disabled{pointer-events:none;opacity:.2}.inbox-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.inbox-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.inbox-details .eo-body h3{font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0 0 calc(var(--app-pane-padding) / 2) 0;padding:0 0 calc(var(--app-pane-padding) / 4) 0;color:var(--text-color-caption);border-bottom:1px solid rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.inbox-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.inbox-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.inbox-details .eo-body .process-performer .head .label{flex:1 1 auto}.inbox-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;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}.inbox-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.inbox-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);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}.inbox-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.inbox-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.inbox-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;user-select:none}.inbox-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.inbox-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.inbox-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.inbox-details .eo-body .no-files{padding:var(--app-pane-padding)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "component", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: ["indexdata", "dmsObject", "baseparams", "enableVersions", "diff"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: PluginComponent, selector: "eo-plugin", inputs: ["type", "id", "parent"] }, { 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: ProcessHistoryComponent, selector: "eo-process-history", inputs: ["history"] }, { kind: "component", type: ProcessFileComponent, selector: "eo-process-file", inputs: ["processFile", "permissions", "clipboard", "selectedContentFileId", "isDisabled", "editable"], outputs: ["onOpenWorkItemContentInContext", "onOpenWorkItemContent", "onRemoveWorkItemContent", "onPasteProcessFile"] }, { kind: "component", type: DuetimeInfoComponent, selector: "eo-duetimeInfo", inputs: ["item"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
18797
18843
|
};
|
|
18798
18844
|
InboxDetailsComponent = __decorate([
|
|
18799
18845
|
UntilDestroy()
|
|
18800
18846
|
], InboxDetailsComponent);
|
|
18801
18847
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: InboxDetailsComponent, decorators: [{
|
|
18802
18848
|
type: Component,
|
|
18803
|
-
args: [{ selector: 'eo-inbox-details', template: "<div class=\"inbox-details\" *ngIf=\"item; else noItem\" [ngClass]=\"{bpm: item.type === 'BPM'}\">\n\n <div class=\"eo-head\" [ngClass]=\"{'eo-head-tabs': item.type === 'BPM'}\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"!item.iconId\" title=\"{{item?.type}}\"\n [iconSrc]=\"'assets/_default/svg/ic_loop.svg'\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconId\" title=\"{{item?.type}}\" [iconId]=\"item.iconId\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 *ngIf=\"item.description\" class=\"eo-header-subtitle\">{{item.description}}</h3>\n <h3 *ngIf=\"workItem && !item.description\" class=\"eo-header-subtitle\">{{workItem.qmodelname}}</h3>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" *ngIf=\"initializing.closed\" (click)=\"refresh()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\" *ngIf=\"initializing.closed\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-error-message></eo-error-message>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs *ngIf=\"item.type === 'BPM'; else dmsTask\" layoutSettingsID=\"eo.inbox.details.tabs\">\n <!-- task -->\n <ng-template [yvcTab]=\"{id: 'task', label: 'eo.process.details.tab.task' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel task\">\n\n <div class=\"process-description\" *ngIf=\"workItem?.description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{workItem.description}}</div>\n </div>\n\n <eo-duetimeInfo *ngIf=\"item?.duetime\" [item]=\"item\"></eo-duetimeInfo>\n\n <div class=\"process-performer\" *ngIf=\"workItem?.inSubstituteOf?.length\">\n <div class=\"head\" [ngClass]=\"{performerShow: substituteShow}\">\n <div class=\"label\" translate>eo.process.substitute</div>\n <div class=\"action\" (click)=\"substituteShow = !substituteShow\">\n <div class=\"count\">{{workItem.inSubstituteOf.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"substituteShow\">\n <div class=\"performer\" *ngFor=\"let u of workItem.inSubstituteOf\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"locked; else unlocked\">\n\n <div class=\"process-form\">\n <eo-object-form [formOptions]=\"formOptions\" *ngIf=\"workItem?.form\"\n (statusChanged)=\"onFormStatusChanged($event)\" #bpmForm></eo-object-form>\n </div>\n </ng-container>\n\n <ng-template #unlocked>\n\n <div class=\"notice\" translate>eo.process.task.continue</div>\n\n <div class=\"process-performer\" *ngIf=\"workItem\">\n <div class=\"head\" [ngClass]=\"{performerShow: performerShow}\">\n <div class=\"label\" translate>eo.process.recipients</div>\n <div class=\"action\" (click)=\"performerShow = !performerShow\">\n <div class=\"count\">{{workItem.performer.users.length + workItem.performer.roles.length +\n workItem.performer.groups.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"performerShow\">\n\n <div class=\"performer\" *ngFor=\"let g of workItem.performer.groups\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_group.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{g.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let r of workItem.performer.roles\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_role.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{r.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let u of workItem.performer.users\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata\" *ngIf=\"workItemIndexdata?.data\">\n <h3 translate>eo.process.details.tab.task.indexdata</h3>\n <eo-indexdata-summary [indexdata]=\"workItemIndexdata\"></eo-indexdata-summary>\n </div>\n\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"locked; else unlockedActions\">\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n\n <div class=\"secondary\">\n <button class=\"btn-unlock\" (click)=\"unlockWorkItem()\" translate>eo.process.depersonalize</button>\n <button class=\"btn-save\" (click)=\"saveWorkItemData()\"\n *ngIf=\"workItem?.form && !formState?.invalid && formState?.dirty\"\n translate>eo.object.indexdata.save</button>\n </div>\n\n <div class=\"primary\" [ngClass]=\"{disabled: preventClickThrough}\">\n <button class=\"primary btn-execute\" *ngFor=\"let action of workItem.actions; trackBy: trackByCode\"\n (click)=\"executeWorkItemAction(action)\" [ngClass]=\"{ext: action.url}\"\n [disabled]=\"(!!formState && formState?.invalid) || !action.feasible\">{{action.title}}</button>\n </div>\n </div>\n </ng-container>\n\n <ng-template #unlockedActions>\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed || !workItem}\">\n <div class=\"primary\">\n <button class=\"primary btn-lock\" (click)=\"lockWorkItem()\" translate>eo.process.personalize</button>\n </div>\n </div>\n </ng-template>\n\n </div>\n </ng-template>\n\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n\n <!-- attachments -->\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"workItem?.file\" [permissions]=\"workItem?.fileEntryPermissions\"\n [isDisabled]=\"!filesAdding.closed\" [clipboard]=\"clipboard\" [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\" (onPasteProcessFile)=\"addFromClipboard()\">\n </eo-process-file>\n </div>\n </div>\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-tabs>\n\n <!-- body when we have a subscription or a resubmission -->\n <ng-template #dmsTask>\n <div class=\"tab-panel\">\n <div class=\"panel\">\n <div class=\"process-description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{settings?.description}}</div>\n </div>\n </div>\n\n <!-- actions for the current process item -->\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n <div class=\"primary\">\n <button class=\"primary btn-confirm\" [disabled]=\"preventClickThrough\"\n (click)=\"confirmInboxItem()\">{{settings?.actionTitle}}</button>\n </div>\n </div>\n\n </div>\n </ng-template>\n\n </div>\n</div>\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", styles: [".inbox-details{background-color:var(--panel-background-grey);height:100%;position:relative;display:flex;flex-flow:column}.inbox-details yvc-tabs{height:100%}.inbox-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-head{border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-body{flex:1;overflow:hidden}.inbox-details .eo-head{background-color:var(--color-white)}.inbox-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.inbox-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.inbox-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.inbox-details .eo-body .tab-panel .panel.process-history,.inbox-details .eo-body .tab-panel .panel.process-files{height:100%}.inbox-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.inbox-details .eo-body .tab-panel .process-actions button{margin:calc(var(--app-pane-padding) / 8)}.inbox-details .eo-body .tab-panel .process-actions button.ext{position:relative}.inbox-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.inbox-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;flex:1 1 auto;padding:var(--app-pane-padding) 0}.inbox-details .eo-body .tab-panel .process-actions div.primary.disabled{pointer-events:none;opacity:.2}.inbox-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.inbox-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.inbox-details .eo-body h3{font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0 0 calc(var(--app-pane-padding) / 2) 0;padding:0 0 calc(var(--app-pane-padding) / 4) 0;color:var(--text-color-caption);border-bottom:1px solid rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.inbox-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.inbox-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.inbox-details .eo-body .process-performer .head .label{flex:1 1 auto}.inbox-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;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}.inbox-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.inbox-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);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}.inbox-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.inbox-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.inbox-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;user-select:none}.inbox-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.inbox-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.inbox-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.inbox-details .eo-body .no-files{padding:var(--app-pane-padding)}\n"] }]
|
|
18849
|
+
args: [{ selector: 'eo-inbox-details', template: "<div class=\"inbox-details\" *ngIf=\"item; else noItem\" [ngClass]=\"{bpm: item.type === 'BPM'}\">\n\n <div class=\"eo-head\" [ngClass]=\"{'eo-head-tabs': item.type === 'BPM'}\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" *ngIf=\"!item.iconId\" title=\"{{item?.type}}\"\n [iconSrc]=\"'assets/_default/svg/ic_loop.svg'\"></eo-icon>\n <eo-icon class=\"eo-header-icon\" *ngIf=\"item.iconId\" title=\"{{item?.type}}\" [iconId]=\"item.iconId\"></eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{item.title}}</h2>\n <h3 *ngIf=\"item.description\" class=\"eo-header-subtitle\">{{item.description}}</h3>\n <h3 *ngIf=\"workItem && !item.description\" class=\"eo-header-subtitle\">{{workItem.processTitle ? workItem.processTitle : workItem.qmodelname}}</h3>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" *ngIf=\"initializing.closed\" (click)=\"refresh()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\" *ngIf=\"initializing.closed\">\n\n <div class=\"load-error\" *ngIf=\"loadError\">\n <eo-error-message></eo-error-message>\n </div>\n\n <!-- details for BPM items -->\n <yvc-tabs *ngIf=\"item.type === 'BPM'; else dmsTask\" layoutSettingsID=\"eo.inbox.details.tabs\">\n <!-- task -->\n <ng-template [yvcTab]=\"{id: 'task', label: 'eo.process.details.tab.task' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel task\">\n\n <div class=\"process-description\" *ngIf=\"workItem?.description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{workItem.description}}</div>\n </div>\n\n <eo-duetimeInfo *ngIf=\"item?.duetime\" [item]=\"item\"></eo-duetimeInfo>\n\n <div class=\"process-performer\" *ngIf=\"workItem?.inSubstituteOf?.length\">\n <div class=\"head\" [ngClass]=\"{performerShow: substituteShow}\">\n <div class=\"label\" translate>eo.process.substitute</div>\n <div class=\"action\" (click)=\"substituteShow = !substituteShow\">\n <div class=\"count\">{{workItem.inSubstituteOf.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"substituteShow\">\n <div class=\"performer\" *ngFor=\"let u of workItem.inSubstituteOf\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"locked; else unlocked\">\n\n <div class=\"process-form\">\n <eo-object-form [formOptions]=\"formOptions\" *ngIf=\"workItem?.form\"\n (statusChanged)=\"onFormStatusChanged($event)\" #bpmForm></eo-object-form>\n </div>\n </ng-container>\n\n <ng-template #unlocked>\n\n <div class=\"notice\" translate>eo.process.task.continue</div>\n\n <div class=\"process-performer\" *ngIf=\"workItem\">\n <div class=\"head\" [ngClass]=\"{performerShow: performerShow}\">\n <div class=\"label\" translate>eo.process.recipients</div>\n <div class=\"action\" (click)=\"performerShow = !performerShow\">\n <div class=\"count\">{{workItem.performer.users.length + workItem.performer.roles.length +\n workItem.performer.groups.length}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_arrow_down.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"body\" *ngIf=\"performerShow\">\n\n <div class=\"performer\" *ngFor=\"let g of workItem.performer.groups\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_group.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{g.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let r of workItem.performer.roles\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_role.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{r.name}}</div>\n </div>\n\n <div class=\"performer\" *ngFor=\"let u of workItem.performer.users\">\n <div class=\"icon-wrap\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_orga_user.svg'\"></eo-icon>\n </div>\n <div class=\"name\">{{u.firstname}} {{u.lastname}} <span class=\"qname\">{{u.name}}</span></div>\n </div>\n </div>\n </div>\n\n <div class=\"indexdata\" *ngIf=\"workItemIndexdata?.data\">\n <h3 translate>eo.process.details.tab.task.indexdata</h3>\n <eo-indexdata-summary [indexdata]=\"workItemIndexdata\"></eo-indexdata-summary>\n </div>\n\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"locked; else unlockedActions\">\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n\n <div class=\"secondary\">\n <button class=\"btn-unlock\" (click)=\"unlockWorkItem()\" translate>eo.process.depersonalize</button>\n <button class=\"btn-save\" (click)=\"saveWorkItemData()\"\n *ngIf=\"workItem?.form && !formState?.invalid && formState?.dirty\"\n translate>eo.object.indexdata.save</button>\n </div>\n\n <div class=\"primary\" [ngClass]=\"{disabled: preventClickThrough}\">\n <button class=\"primary btn-execute\" *ngFor=\"let action of workItem.actions; trackBy: trackByCode\"\n (click)=\"executeWorkItemAction(action)\" [ngClass]=\"{ext: action.url}\"\n [disabled]=\"(!!formState && formState?.invalid) || !action.feasible\">{{action.title}}</button>\n </div>\n </div>\n </ng-container>\n\n <ng-template #unlockedActions>\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed || !workItem}\">\n <div class=\"primary\">\n <button class=\"primary btn-lock\" (click)=\"lockWorkItem()\" translate>eo.process.personalize</button>\n </div>\n </div>\n </ng-template>\n\n </div>\n </ng-template>\n\n <!-- history -->\n <ng-template [yvcTab]=\"{id: 'history', label: 'eo.process.details.tab.progress' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-history\">\n <eo-process-history [history]=\"history\"></eo-process-history>\n </div>\n </div>\n </ng-template>\n\n <!-- attachments -->\n <ng-template [yvcTab]=\"{id: 'file', label: 'eo.process.details.tab.attachments' | translate}\">\n <div class=\"tab-panel\">\n <div class=\"panel process-files\">\n <eo-process-file [processFile]=\"workItem?.file\" [permissions]=\"workItem?.fileEntryPermissions\"\n [isDisabled]=\"!filesAdding.closed\" [clipboard]=\"clipboard\" [editable]=\"true\"\n [selectedContentFileId]=\"selectedContentFileId\"\n (onOpenWorkItemContentInContext)=\"openWorkItemContentInContext($event)\"\n (onOpenWorkItemContent)=\"openWorkItemContent($event)\"\n (onRemoveWorkItemContent)=\"removeWorkItemContent($event)\" (onPasteProcessFile)=\"addFromClipboard()\">\n </eo-process-file>\n </div>\n </div>\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-tabs>\n\n <!-- body when we have a subscription or a resubmission -->\n <ng-template #dmsTask>\n <div class=\"tab-panel\">\n <div class=\"panel\">\n <div class=\"process-description\">\n <h3 translate>eo.process.details.tab.task.description</h3>\n <div>{{settings?.description}}</div>\n </div>\n </div>\n\n <!-- actions for the current process item -->\n <div class=\"process-actions\" [ngClass]=\"{disabled: !actionProcessing.closed}\">\n <div class=\"primary\">\n <button class=\"primary btn-confirm\" [disabled]=\"preventClickThrough\"\n (click)=\"confirmInboxItem()\">{{settings?.actionTitle}}</button>\n </div>\n </div>\n\n </div>\n </ng-template>\n\n </div>\n</div>\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", styles: [".inbox-details{background-color:var(--panel-background-grey);height:100%;position:relative;display:flex;flex-flow:column}.inbox-details yvc-tabs{height:100%}.inbox-details yvc-tabs ::ng-deep nav{background:var(--panel-background);border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-head{border-bottom:1px solid var(--panel-header-border-bottom-color)}.inbox-details:not(.bpm) .eo-body{flex:1;overflow:hidden}.inbox-details .eo-head{background-color:var(--color-white)}.inbox-details .eo-body .load-error{position:absolute;inset:0;background-color:var(--panel-background-grey);z-index:5;display:flex;flex-flow:column;justify-content:center;align-items:center}.inbox-details .eo-body .load-error eo-icon{width:20%;color:var(--text-color-hint);opacity:.5}.inbox-details .eo-body .tab-panel{height:100%;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .panel:not(.process-history){padding:var(--app-pane-padding);display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto}.inbox-details .eo-body .tab-panel .panel.process-history,.inbox-details .eo-body .tab-panel .panel.process-files{height:100%}.inbox-details .eo-body .tab-panel .process-actions{display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;justify-content:space-between;padding:0 calc(var(--app-pane-padding) * .75) 0!important}.inbox-details .eo-body .tab-panel .process-actions button{margin:calc(var(--app-pane-padding) / 8)}.inbox-details .eo-body .tab-panel .process-actions button.ext{position:relative}.inbox-details .eo-body .tab-panel .process-actions button.ext:after{content:\"\";position:absolute;right:calc(var(--app-pane-padding) / 8);top:calc(var(--app-pane-padding) / 8);height:calc(var(--app-pane-padding) * .5);width:calc(var(--app-pane-padding) * .5);box-sizing:border-box;border:2px solid rgba(var(--color-white-rgb),.7);border-bottom-width:0;border-left-width:0}.inbox-details .eo-body .tab-panel .process-actions div.primary{justify-content:flex-end;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0;flex-wrap:wrap;flex:1 1 auto;padding:var(--app-pane-padding) 0}.inbox-details .eo-body .tab-panel .process-actions div.primary.disabled{pointer-events:none;opacity:.2}.inbox-details .eo-body .tab-panel .process-actions div.secondary{padding:var(--app-pane-padding) 0;display:flex;flex:none;flex-direction:row;min-height:0;min-width:0}.inbox-details .eo-body .tab-panel .process-actions.disabled{opacity:.5}.inbox-details .eo-body .tab-panel .process-actions.disabled button{pointer-events:none;cursor:default}.inbox-details .eo-body h3{font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0 0 calc(var(--app-pane-padding) / 2) 0;padding:0 0 calc(var(--app-pane-padding) / 4) 0;color:var(--text-color-caption);border-bottom:1px solid rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .notice{background-color:rgba(var(--color-black-rgb),.06);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .indexdata{margin-top:calc(var(--app-pane-padding) / 2)}.inbox-details .eo-body .process-description{margin-bottom:var(--app-pane-padding)}.inbox-details .eo-body .process-performer{margin:calc(var(--app-pane-padding) / 4) 0}.inbox-details .eo-body .process-performer .head{display:flex;flex-flow:row nowrap;align-items:center}.inbox-details .eo-body .process-performer .head .label{flex:1 1 auto}.inbox-details .eo-body .process-performer .head .action{border-radius:2px;border:1px solid rgba(var(--color-black-rgb),.1);padding:0 0 0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:row nowrap;align-items:center;cursor:pointer;overflow:hidden;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}.inbox-details .eo-body .process-performer .head .action .count{line-height:1em;color:var(--text-color-caption)}.inbox-details .eo-body .process-performer .head .action eo-icon{color:var(--text-color-hint);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}.inbox-details .eo-body .process-performer .head .action:hover{background:rgba(var(--color-black-rgb),.1)}.inbox-details .eo-body .process-performer .head.performerShow .action eo-icon{transform:rotate(180deg)}.inbox-details .eo-body .process-performer .body{padding:calc(var(--app-pane-padding) / 2) 0}.inbox-details .eo-body .process-performer .body .performer{display:flex;flex-flow:row nowrap;align-items:center;border-radius:2px;padding:2px;margin-bottom:2px;background-color:var(--color-white);animation:eoFadeInDown var(--app-default-transition-duration);-webkit-user-select:none;user-select:none}.inbox-details .eo-body .process-performer .body .performer .icon-wrap{border-radius:2px;flex:0 0 auto;background-color:var(--color-primary-3);color:var(--color-white);padding:2px}.inbox-details .eo-body .process-performer .body .performer .name{flex:1 1 auto;padding:0 var(--app-pane-padding)}.inbox-details .eo-body .process-performer .body .performer .name .qname{display:inline-block;border-radius:2px;background-color:rgba(var(--color-black-rgb),.08);font-size:var(--font-hint);padding:2px calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.inbox-details .eo-body .no-files{padding:var(--app-pane-padding)}\n"] }]
|
|
18804
18850
|
}], ctorParameters: () => [{ type: i1.BpmService }, { type: i1.UserService }, { type: i1.InboxService }, { type: SelectionService }, { type: i2$1.Router }, { type: i1.EventService }, { type: i1.ClipboardService }, { type: i1.TranslateService }, { type: PendingChangesService }, { type: i1.NotificationsService }, { type: i1.LocalStorageService }], propDecorators: { bpmFormEl: [{
|
|
18805
18851
|
type: ViewChild,
|
|
18806
18852
|
args: ['bpmForm']
|
|
@@ -20393,18 +20439,29 @@ let PrepareDetailsComponent = class PrepareDetailsComponent {
|
|
|
20393
20439
|
if (openLocationAfterCommit) {
|
|
20394
20440
|
this.router.navigate(['/object', res]);
|
|
20395
20441
|
}
|
|
20396
|
-
},
|
|
20397
|
-
const { key, cause, uniquefields } = error.error;
|
|
20442
|
+
}, error => {
|
|
20443
|
+
const { key, cause, uniquefields, created } = error.error;
|
|
20398
20444
|
if (key && key === 'DMS_METADATA_UNIQUE_VIOLATION_ERROR') {
|
|
20399
20445
|
this.notification.error(null, this.translate.instant('eo.unique.validation.error.hint', { field: uniquefields.toString() }));
|
|
20400
20446
|
}
|
|
20447
|
+
else if (key && key === 'DMS_SYNCHRONOUS_INDEXING_FAILED') {
|
|
20448
|
+
this.notification.warning(null, this.translate.instant('eo.prepare.commit.error.indexFailed'));
|
|
20449
|
+
this.onCommit.emit(created.id);
|
|
20450
|
+
this.finishPending();
|
|
20451
|
+
if (openLocationAfterCommit) {
|
|
20452
|
+
this.router.navigate(['/object', created.id]);
|
|
20453
|
+
}
|
|
20454
|
+
}
|
|
20401
20455
|
else if (cause) {
|
|
20402
20456
|
this.notification.error(null, cause.messages[0]);
|
|
20403
20457
|
}
|
|
20458
|
+
else {
|
|
20459
|
+
this.notification.error(this.translate.instant('eo.prepare.created.error.title'), this.translate.instant('eo.prepare.created.error.message'));
|
|
20460
|
+
}
|
|
20404
20461
|
this.committing = false;
|
|
20405
20462
|
this.finishPending();
|
|
20406
20463
|
this.prepareFormContent(formData);
|
|
20407
|
-
}
|
|
20464
|
+
});
|
|
20408
20465
|
}
|
|
20409
20466
|
}, 500);
|
|
20410
20467
|
}
|
|
@@ -21584,6 +21641,7 @@ let ResultListComponent = class ResultListComponent {
|
|
|
21584
21641
|
}
|
|
21585
21642
|
updateRow(id, data) {
|
|
21586
21643
|
const matchRow = this.resultGridOptions.rowData.find((r) => r.id === id);
|
|
21644
|
+
let missingColumns = this.resultGridOptions.columnDefs;
|
|
21587
21645
|
if (matchRow) {
|
|
21588
21646
|
Object.keys(matchRow).forEach((k) => {
|
|
21589
21647
|
if (data.hasOwnProperty(k)) {
|
|
@@ -21594,6 +21652,7 @@ let ResultListComponent = class ResultListComponent {
|
|
|
21594
21652
|
else {
|
|
21595
21653
|
matchRow[k] = data[k];
|
|
21596
21654
|
}
|
|
21655
|
+
missingColumns = missingColumns.filter((column) => column.field !== k);
|
|
21597
21656
|
}
|
|
21598
21657
|
else if (data.hasOwnProperty(k.split('.')[1])) {
|
|
21599
21658
|
// some technical names have the object type as a prefix, we have to get rid of it
|
|
@@ -21604,6 +21663,19 @@ let ResultListComponent = class ResultListComponent {
|
|
|
21604
21663
|
else {
|
|
21605
21664
|
matchRow[k] = data[kSplit];
|
|
21606
21665
|
}
|
|
21666
|
+
missingColumns = missingColumns.filter((column) => column.field !== k);
|
|
21667
|
+
}
|
|
21668
|
+
});
|
|
21669
|
+
// we need to iterate through the not already applied columns, which were changed from null or to null
|
|
21670
|
+
missingColumns.forEach((column) => {
|
|
21671
|
+
if (data.hasOwnProperty(column.field)) {
|
|
21672
|
+
matchRow[column.field] = data[column.field];
|
|
21673
|
+
}
|
|
21674
|
+
else if (data.hasOwnProperty(column.field.split('.')[1])) {
|
|
21675
|
+
matchRow[column.field] = data[column.field.split('.')[1]];
|
|
21676
|
+
}
|
|
21677
|
+
else {
|
|
21678
|
+
matchRow[column.field] = null;
|
|
21607
21679
|
}
|
|
21608
21680
|
});
|
|
21609
21681
|
matchRow.id = id;
|
|
@@ -22785,10 +22857,10 @@ class AboutStateComponent {
|
|
|
22785
22857
|
this.backend = backend;
|
|
22786
22858
|
this.userService = userService;
|
|
22787
22859
|
this.config = config;
|
|
22788
|
-
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.0.3", "license": "MIT" }, { "name": "@angular/animations", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/common", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/core", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/forms", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/router", "version": "17.1.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.13.32", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.0.0-
|
|
22860
|
+
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "31.0.3", "license": "MIT" }, { "name": "@ag-grid-community/styles", "version": "31.0.3", "license": "MIT" }, { "name": "@angular/animations", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/common", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/core", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/forms", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "17.1.2", "license": "MIT" }, { "name": "@angular/router", "version": "17.1.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.13.32", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.0.0-rc.1", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "17.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "15.0.0", "license": "SEE LICENSE IN LICENSE" }, { "name": "@types/lodash", "version": "4.14.202", "license": "MIT" }, { "name": "@yuuvis/components", "version": "2.0.0", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "2.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": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "18.0.0", "license": "MIT" }, { "name": "rxjs", "version": "7.8.1", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.14.4", "license": "MIT" }];
|
|
22789
22861
|
this.ctrl = {
|
|
22790
22862
|
componentName: 'yuuvis® RAD client',
|
|
22791
|
-
componentVersion: '11.0.0-
|
|
22863
|
+
componentVersion: '11.0.0-rc.1',
|
|
22792
22864
|
productName: '',
|
|
22793
22865
|
productVersion: ''
|
|
22794
22866
|
};
|
|
@@ -23040,10 +23112,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
23040
23112
|
}] } });
|
|
23041
23113
|
|
|
23042
23114
|
let LastEditedAndCreatedComponent = class LastEditedAndCreatedComponent {
|
|
23043
|
-
|
|
23115
|
+
set widgetConfig(c) {
|
|
23116
|
+
this._widgetConfig = c;
|
|
23117
|
+
setTimeout(() => {
|
|
23118
|
+
this.loadTabs();
|
|
23119
|
+
});
|
|
23120
|
+
}
|
|
23121
|
+
get widgetConfig() {
|
|
23122
|
+
return this._widgetConfig;
|
|
23123
|
+
}
|
|
23124
|
+
constructor(userService, searchService, systemService, translate) {
|
|
23044
23125
|
this.userService = userService;
|
|
23045
23126
|
this.searchService = searchService;
|
|
23046
23127
|
this.systemService = systemService;
|
|
23128
|
+
this.translate = translate;
|
|
23047
23129
|
this.modifiedByMe = {
|
|
23048
23130
|
size: 10,
|
|
23049
23131
|
total: 0,
|
|
@@ -23054,35 +23136,83 @@ let LastEditedAndCreatedComponent = class LastEditedAndCreatedComponent {
|
|
|
23054
23136
|
total: 0,
|
|
23055
23137
|
lately: []
|
|
23056
23138
|
};
|
|
23139
|
+
this.tabs = [];
|
|
23140
|
+
}
|
|
23141
|
+
loadTabs() {
|
|
23142
|
+
if (this._widgetConfig?.lastEdited && this._widgetConfig?.lastCreated) {
|
|
23143
|
+
this.userService.user$
|
|
23144
|
+
.pipe(untilDestroyed(this), tap$1(user => this.user = user)).subscribe(() => {
|
|
23145
|
+
if (this._widgetConfig?.lastEdited) {
|
|
23146
|
+
this.tabs = [this.availableTabs?.first];
|
|
23147
|
+
this.getLastEdited();
|
|
23148
|
+
}
|
|
23149
|
+
if (this._widgetConfig?.lastCreated) {
|
|
23150
|
+
this.tabs = [this.availableTabs.last];
|
|
23151
|
+
this.getLastCreated();
|
|
23152
|
+
}
|
|
23153
|
+
if (this._widgetConfig?.lastEdited && this._widgetConfig?.lastCreated) {
|
|
23154
|
+
this.tabs = this.availableTabs.toArray();
|
|
23155
|
+
this.getLastEdited();
|
|
23156
|
+
this.getLastCreated();
|
|
23157
|
+
}
|
|
23158
|
+
});
|
|
23159
|
+
}
|
|
23160
|
+
else {
|
|
23161
|
+
// Because of update for existing widget
|
|
23162
|
+
this.tabs = this.availableTabs.toArray();
|
|
23163
|
+
this.userService.user$
|
|
23164
|
+
.pipe(untilDestroyed(this))
|
|
23165
|
+
.subscribe(user => {
|
|
23166
|
+
this.user = user;
|
|
23167
|
+
this.getLastEdited();
|
|
23168
|
+
this.getLastCreated();
|
|
23169
|
+
});
|
|
23170
|
+
this.userService.user$
|
|
23171
|
+
.pipe(untilDestroyed(this), tap$1(user => this.user = user))
|
|
23172
|
+
.subscribe(() => {
|
|
23173
|
+
if (this._widgetConfig?.lastEdited && this._widgetConfig?.lastCreated) {
|
|
23174
|
+
this.tabs = this.availableTabs.toArray();
|
|
23175
|
+
}
|
|
23176
|
+
else if (this._widgetConfig?.lastEdited) {
|
|
23177
|
+
this.tabs = [this.availableTabs?.first];
|
|
23178
|
+
}
|
|
23179
|
+
else if (this._widgetConfig?.lastCreated) {
|
|
23180
|
+
this.tabs = [this.availableTabs.last];
|
|
23181
|
+
}
|
|
23182
|
+
if (this._widgetConfig?.lastEdited) {
|
|
23183
|
+
this.getLastEdited();
|
|
23184
|
+
}
|
|
23185
|
+
if (this._widgetConfig?.lastCreated) {
|
|
23186
|
+
this.getLastCreated();
|
|
23187
|
+
}
|
|
23188
|
+
});
|
|
23189
|
+
}
|
|
23057
23190
|
}
|
|
23058
|
-
|
|
23059
|
-
this.userService.user$
|
|
23060
|
-
.pipe(untilDestroyed(this))
|
|
23061
|
-
.subscribe(user => {
|
|
23062
|
-
this.user = user;
|
|
23063
|
-
this.getLastModified();
|
|
23064
|
-
this.getLastCreated();
|
|
23065
|
-
});
|
|
23066
|
-
}
|
|
23067
|
-
getLastModified() {
|
|
23191
|
+
getLastEdited() {
|
|
23068
23192
|
const q = {
|
|
23069
23193
|
filters: {
|
|
23070
23194
|
modifier: {
|
|
23071
23195
|
o: 'eq',
|
|
23072
|
-
v1: this.user
|
|
23196
|
+
v1: this.user?.name
|
|
23073
23197
|
}
|
|
23074
23198
|
},
|
|
23075
23199
|
fields: ['title', 'description', 'modified', 'type'],
|
|
23076
23200
|
options: {
|
|
23077
23201
|
sort: {
|
|
23078
23202
|
modified: {
|
|
23079
|
-
order: '
|
|
23203
|
+
order: ''
|
|
23080
23204
|
}
|
|
23081
23205
|
}
|
|
23082
23206
|
}
|
|
23083
23207
|
};
|
|
23208
|
+
if (this._widgetConfig?.sortRevert) {
|
|
23209
|
+
q.options.sort.modified.order = 'asc';
|
|
23210
|
+
}
|
|
23211
|
+
else {
|
|
23212
|
+
q.options.sort.modified.order = 'desc';
|
|
23213
|
+
}
|
|
23084
23214
|
this.searchService
|
|
23085
|
-
.executeQuery(q, false, this.
|
|
23215
|
+
.executeQuery(q, false, this._widgetConfig?.number)
|
|
23086
23216
|
.subscribe(res => {
|
|
23087
23217
|
this.modifiedByMe.total = res.hits.total;
|
|
23088
23218
|
this.modifiedByMe.lately = res.hits.hits.map(item => {
|
|
@@ -23102,20 +23232,26 @@ let LastEditedAndCreatedComponent = class LastEditedAndCreatedComponent {
|
|
|
23102
23232
|
filters: {
|
|
23103
23233
|
creator: {
|
|
23104
23234
|
o: 'eq',
|
|
23105
|
-
v1: this.user
|
|
23235
|
+
v1: this.user?.name
|
|
23106
23236
|
}
|
|
23107
23237
|
},
|
|
23108
23238
|
fields: ['title', 'description', 'created', 'type'],
|
|
23109
23239
|
options: {
|
|
23110
23240
|
sort: {
|
|
23111
23241
|
created: {
|
|
23112
|
-
order: '
|
|
23242
|
+
order: ''
|
|
23113
23243
|
}
|
|
23114
23244
|
}
|
|
23115
23245
|
}
|
|
23116
23246
|
};
|
|
23247
|
+
if (this._widgetConfig?.sortRevert) {
|
|
23248
|
+
q.options.sort.created.order = 'asc';
|
|
23249
|
+
}
|
|
23250
|
+
else {
|
|
23251
|
+
q.options.sort.created.order = 'desc';
|
|
23252
|
+
}
|
|
23117
23253
|
this.searchService
|
|
23118
|
-
.executeQuery(q, false, this.
|
|
23254
|
+
.executeQuery(q, false, this._widgetConfig?.number)
|
|
23119
23255
|
.subscribe(res => {
|
|
23120
23256
|
this.createdByMe.total = res.hits.total;
|
|
23121
23257
|
this.createdByMe.lately = res.hits.hits.map(item => {
|
|
@@ -23130,16 +23266,19 @@ let LastEditedAndCreatedComponent = class LastEditedAndCreatedComponent {
|
|
|
23130
23266
|
});
|
|
23131
23267
|
});
|
|
23132
23268
|
}
|
|
23133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedComponent, deps: [{ token: i1.UserService }, { token: i1.SearchService }, { token: i1.SystemService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<yvc-tabs *ngIf=\"
|
|
23269
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedComponent, deps: [{ token: i1.UserService }, { token: i1.SearchService }, { token: i1.SystemService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23270
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: { widgetConfig: "widgetConfig" }, viewQueries: [{ propertyName: "availableTabs", predicate: YvcTabDirective, descendants: true }], ngImport: i0, template: "<yvc-tabs [tabs]=\"tabs\" *ngIf=\"tabs\"\n layoutSettingsID=\"eo.lastEdited.widget.tabs\"></yvc-tabs>\n\n<ng-template [yvcTab]=\"{id: 'LastEdited', label: 'eo.dashboard.modified.title' | translate}\">\n <div class=\"lastEdits\" *ngIf=\"modifiedByMe?.lately.length\">\n <main class=\"body\">\n <div class=\"item\" *ngFor=\"let item of modifiedByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.modified | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </div>\n </main>\n </div>\n</ng-template>\n\n<ng-template [yvcTab]=\"{id: 'LastCreated', label: 'eo.dashboard.created.title' | translate}\">\n <div class=\"lastEdits\" *ngIf=\"createdByMe?.lately.length\">\n <main class=\"body\">\n <div class=\"item\" *ngFor=\"let item of createdByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.created | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </div>\n </main>\n </div>\n</ng-template>", styles: [":host{display:contents}@media screen and (max-width: 800px){:host{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}:host yvc-tabs{--text-color-body: #fff;color:var(--text-color-body);background-color:var(--text-color-body);height:100%}:host yvc-tabs ::ng-deep>header{height:50px;background-color:var(--color-primary-2)}:host .lastEdits{display:flex;flex-flow:column}:host .lastEdits .header{flex:0 0 auto;border-radius:2px;color:var(--color-white);background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .lastEdits .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}:host .lastEdits .header .total{font-size:var(--font-caption);opacity:.7}:host .lastEdits .body{flex:1 1 auto;overflow-y:auto}:host .lastEdits .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:rgba(var(--color-white-rgb),.9);text-decoration:none;cursor:pointer}:host .lastEdits .body .item:focus,:host .lastEdits .body .item:hover{background-color:var(--list-item-hover-background)}:host .lastEdits .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .lastEdits .body .item>div{flex:1 1 auto;width:90%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host .lastEdits .body .item .modified,:host .lastEdits .body .item .description,:host .lastEdits .body .item .title{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host .lastEdits .body .item .modified,:host .lastEdits .body .item .description{font-size:var(--font-hint)}:host .lastEdits .body .item .title{font-weight:var(--font-weight-bold)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { 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: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
|
|
23135
23271
|
};
|
|
23136
23272
|
LastEditedAndCreatedComponent = __decorate([
|
|
23137
23273
|
UntilDestroy()
|
|
23138
23274
|
], LastEditedAndCreatedComponent);
|
|
23139
23275
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedComponent, decorators: [{
|
|
23140
23276
|
type: Component,
|
|
23141
|
-
args: [{ selector: 'eo-last-edited-and-created', template: "<yvc-tabs *ngIf=\"
|
|
23142
|
-
}], ctorParameters: () => [{ type: i1.UserService }, { type: i1.SearchService }, { type: i1.SystemService }], propDecorators: {
|
|
23277
|
+
args: [{ selector: 'eo-last-edited-and-created', template: "<yvc-tabs [tabs]=\"tabs\" *ngIf=\"tabs\"\n layoutSettingsID=\"eo.lastEdited.widget.tabs\"></yvc-tabs>\n\n<ng-template [yvcTab]=\"{id: 'LastEdited', label: 'eo.dashboard.modified.title' | translate}\">\n <div class=\"lastEdits\" *ngIf=\"modifiedByMe?.lately.length\">\n <main class=\"body\">\n <div class=\"item\" *ngFor=\"let item of modifiedByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.modified | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </div>\n </main>\n </div>\n</ng-template>\n\n<ng-template [yvcTab]=\"{id: 'LastCreated', label: 'eo.dashboard.created.title' | translate}\">\n <div class=\"lastEdits\" *ngIf=\"createdByMe?.lately.length\">\n <main class=\"body\">\n <div class=\"item\" *ngFor=\"let item of createdByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.created | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </div>\n </main>\n </div>\n</ng-template>", styles: [":host{display:contents}@media screen and (max-width: 800px){:host{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}:host yvc-tabs{--text-color-body: #fff;color:var(--text-color-body);background-color:var(--text-color-body);height:100%}:host yvc-tabs ::ng-deep>header{height:50px;background-color:var(--color-primary-2)}:host .lastEdits{display:flex;flex-flow:column}:host .lastEdits .header{flex:0 0 auto;border-radius:2px;color:var(--color-white);background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .lastEdits .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}:host .lastEdits .header .total{font-size:var(--font-caption);opacity:.7}:host .lastEdits .body{flex:1 1 auto;overflow-y:auto}:host .lastEdits .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:rgba(var(--color-white-rgb),.9);text-decoration:none;cursor:pointer}:host .lastEdits .body .item:focus,:host .lastEdits .body .item:hover{background-color:var(--list-item-hover-background)}:host .lastEdits .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .lastEdits .body .item>div{flex:1 1 auto;width:90%;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host .lastEdits .body .item .modified,:host .lastEdits .body .item .description,:host .lastEdits .body .item .title{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host .lastEdits .body .item .modified,:host .lastEdits .body .item .description{font-size:var(--font-hint)}:host .lastEdits .body .item .title{font-weight:var(--font-weight-bold)}\n"] }]
|
|
23278
|
+
}], ctorParameters: () => [{ type: i1.UserService }, { type: i1.SearchService }, { type: i1.SystemService }, { type: i1.TranslateService }], propDecorators: { availableTabs: [{
|
|
23279
|
+
type: ViewChildren,
|
|
23280
|
+
args: [YvcTabDirective]
|
|
23281
|
+
}], widgetConfig: [{
|
|
23143
23282
|
type: Input
|
|
23144
23283
|
}] } });
|
|
23145
23284
|
|
|
@@ -23472,7 +23611,7 @@ let HitlistSetupComponent = class HitlistSetupComponent {
|
|
|
23472
23611
|
this.widgetConfigChange = new EventEmitter();
|
|
23473
23612
|
this.setupForm = this.fb.group({
|
|
23474
23613
|
storedQuery: [null],
|
|
23475
|
-
size: [],
|
|
23614
|
+
size: ['', [Validators.max(100), Validators.min(3)]],
|
|
23476
23615
|
sortField: [],
|
|
23477
23616
|
firstLabel: [],
|
|
23478
23617
|
secondLabel: [],
|
|
@@ -23608,14 +23747,14 @@ let HitlistSetupComponent = class HitlistSetupComponent {
|
|
|
23608
23747
|
}
|
|
23609
23748
|
}
|
|
23610
23749
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HitlistSetupComponent, deps: [{ token: i1$2.UntypedFormBuilder }, { token: i1.StoredQueriesService }, { token: i1.TranslateService }, { token: i1.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23611
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: HitlistSetupComponent, selector: "eo-hitlist-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, viewQueries: [{ propertyName: "firstLabelPropertyCodesystem", first: true, predicate: ["firstLabelPropertyCodesystem"], descendants: true }, { propertyName: "secondLabelPropertyCodesystem", first: true, predicate: ["secondLabelPropertyCodesystem"], descendants: true }, { propertyName: "thirdLabelPropertyCodesystem", first: true, predicate: ["thirdLabelPropertyCodesystem"], descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <div class=\"listOptions\" *ngIf=\"this.widgetConfig?.storedQuery\">\n
|
|
23750
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: HitlistSetupComponent, selector: "eo-hitlist-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, viewQueries: [{ propertyName: "firstLabelPropertyCodesystem", first: true, predicate: ["firstLabelPropertyCodesystem"], descendants: true }, { propertyName: "secondLabelPropertyCodesystem", first: true, predicate: ["secondLabelPropertyCodesystem"], descendants: true }, { propertyName: "thirdLabelPropertyCodesystem", first: true, predicate: ["thirdLabelPropertyCodesystem"], descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <div class=\"listOptions\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-form-input [skipToggle]=\"true\"\n [invalid]=\"setupForm.get('size').hasError('max') || setupForm.get('size').hasError('min')\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"size\"></eo-number>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"setupForm.get('size').hasError('max') || setupForm.get('size').hasError('min')\">\n <div translate>\n eo.form.property.string.error.classification.partialValue </div>\n </div>\n\n <div class=\"propertyPicker\">\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"propertyPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.firstLabel'|translate\">\n <eo-codesystem #firstLabelPropertyCodesystem formControlName=\"firstLabel\" [pickerTitle]=\"propertyPicker.title\"\n [codesystem]=\"propertyPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"propertyPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.secondLabel'|translate\">\n <eo-codesystem #secondLabelPropertyCodesystem formControlName=\"secondLabel\"\n [pickerTitle]=\"propertyPicker.title\" [codesystem]=\"propertyPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"propertyPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.thirdLabel'|translate\">\n <eo-codesystem #thirdLabelPropertyCodesystem formControlName=\"thirdLabel\" [pickerTitle]=\"propertyPicker.title\"\n [codesystem]=\"propertyPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n </div>\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"propertyPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.sortField'|translate\">\n <eo-codesystem formControlName=\"sortField\" [pickerTitle]=\"propertyPicker.title\"\n [codesystem]=\"propertyPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </div>\n </form>\n\n</div>\n\n<div class=\"preview\" *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <eo-hitlist-widget [widgetConfig]=\"widgetConfig\" [editMode]=\"true\"></eo-hitlist-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-hitlist-widget{border:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: HitlistWidgetComponent, selector: "eo-hitlist-widget", inputs: ["editMode", "widgetConfig"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
23612
23751
|
};
|
|
23613
23752
|
HitlistSetupComponent = __decorate([
|
|
23614
23753
|
UntilDestroy()
|
|
23615
23754
|
], HitlistSetupComponent);
|
|
23616
23755
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HitlistSetupComponent, decorators: [{
|
|
23617
23756
|
type: Component,
|
|
23618
|
-
args: [{ selector: 'eo-hitlist-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <div class=\"listOptions\" *ngIf=\"this.widgetConfig?.storedQuery\">\n
|
|
23757
|
+
args: [{ selector: 'eo-hitlist-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n\n <eo-form-input *ngIf=\"storedQueriesPicker?.codesystem?.entries\" [skipToggle]=\"true\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [required]=\"true\"\n [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <div class=\"listOptions\" *ngIf=\"this.widgetConfig?.storedQuery\">\n <eo-form-input [skipToggle]=\"true\"\n [invalid]=\"setupForm.get('size').hasError('max') || setupForm.get('size').hasError('min')\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"size\"></eo-number>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"setupForm.get('size').hasError('max') || setupForm.get('size').hasError('min')\">\n <div translate>\n eo.form.property.string.error.classification.partialValue </div>\n </div>\n\n <div class=\"propertyPicker\">\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"propertyPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.firstLabel'|translate\">\n <eo-codesystem #firstLabelPropertyCodesystem formControlName=\"firstLabel\" [pickerTitle]=\"propertyPicker.title\"\n [codesystem]=\"propertyPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"propertyPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.secondLabel'|translate\">\n <eo-codesystem #secondLabelPropertyCodesystem formControlName=\"secondLabel\"\n [pickerTitle]=\"propertyPicker.title\" [codesystem]=\"propertyPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"propertyPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.thirdLabel'|translate\">\n <eo-codesystem #thirdLabelPropertyCodesystem formControlName=\"thirdLabel\" [pickerTitle]=\"propertyPicker.title\"\n [codesystem]=\"propertyPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n </div>\n <eo-form-input [skipToggle]=\"true\" *ngIf=\"propertyPicker?.codesystem?.entries\"\n [label]=\"'eo.workspace.widget.form.label.sortField'|translate\">\n <eo-codesystem formControlName=\"sortField\" [pickerTitle]=\"propertyPicker.title\"\n [codesystem]=\"propertyPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </div>\n </form>\n\n</div>\n\n<div class=\"preview\" *ngIf=\"this.widgetConfig?.storedQuery; else tplEmpty\">\n <eo-hitlist-widget [widgetConfig]=\"widgetConfig\" [editMode]=\"true\"></eo-hitlist-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.stored.queries.list.empty'}\"></eo-error-message>\n </div>\n</ng-template>", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-hitlist-widget{border:1px solid var(--panel-divider-color)}\n"] }]
|
|
23619
23758
|
}], ctorParameters: () => [{ type: i1$2.UntypedFormBuilder }, { type: i1.StoredQueriesService }, { type: i1.TranslateService }, { type: i1.UserService }], propDecorators: { widgetConfigChange: [{
|
|
23620
23759
|
type: Output
|
|
23621
23760
|
}], firstLabelPropertyCodesystem: [{
|
|
@@ -23639,7 +23778,10 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
23639
23778
|
this._query = this.searchService.buildQuery(this.storedQuery);
|
|
23640
23779
|
this._widgetConfig.formValue.storedQuery = this.storedQuery.name;
|
|
23641
23780
|
if (this._widgetConfig?.formValue?.aggregation) {
|
|
23642
|
-
|
|
23781
|
+
if (this._widgetConfig?.formValue?.interval) {
|
|
23782
|
+
this.rangeValues = this.generateRange(this._widgetConfig?.formValue?.interval, this._widgetConfig?.formValue?.startingpoint, this._widgetConfig?.formValue?.size);
|
|
23783
|
+
}
|
|
23784
|
+
this.generateChartData(this._widgetConfig?.formValue?.aggregation, this._widgetConfig?.aggregationType, this._widgetConfig?.formValue?.histogramType, this.rangeValues);
|
|
23643
23785
|
}
|
|
23644
23786
|
}, (error) => {
|
|
23645
23787
|
if (error.status === 404) {
|
|
@@ -23710,6 +23852,7 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
23710
23852
|
},
|
|
23711
23853
|
};
|
|
23712
23854
|
this.chartData = [];
|
|
23855
|
+
this.rangeValues = [];
|
|
23713
23856
|
this.editMode = false;
|
|
23714
23857
|
}
|
|
23715
23858
|
getStoredQuery(id) {
|
|
@@ -23717,12 +23860,23 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
23717
23860
|
this.storedQuery = storedQuery;
|
|
23718
23861
|
}));
|
|
23719
23862
|
}
|
|
23720
|
-
|
|
23863
|
+
generateRange(interval, start, size) {
|
|
23864
|
+
const rangeValues = [];
|
|
23865
|
+
for (let j = 0; j < size; j++) {
|
|
23866
|
+
const rangeItem = {
|
|
23867
|
+
o1: parseFloat(start + j * interval),
|
|
23868
|
+
o2: parseFloat(start + (j + 1) * interval),
|
|
23869
|
+
};
|
|
23870
|
+
rangeValues.push(rangeItem);
|
|
23871
|
+
}
|
|
23872
|
+
return rangeValues;
|
|
23873
|
+
}
|
|
23874
|
+
generateChartData(field, type, histogramType, rangeValues) {
|
|
23721
23875
|
this.refreshingRequest = true;
|
|
23722
23876
|
const queryName = this._query.name;
|
|
23723
23877
|
delete this._query.name;
|
|
23724
23878
|
this._query = this.searchService.buildQuery(this._query);
|
|
23725
|
-
if (type === 'DATETIME' && histogramType
|
|
23879
|
+
if (type === 'DATETIME' && histogramType) {
|
|
23726
23880
|
const histogramConfig = {
|
|
23727
23881
|
'yearly': { calendar_interval: 'year', format: 'yyyy' },
|
|
23728
23882
|
'weekly': { calendar_interval: 'week', format: 'yyyy-ww' },
|
|
@@ -23767,10 +23921,26 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
23767
23921
|
}
|
|
23768
23922
|
}
|
|
23769
23923
|
else {
|
|
23924
|
+
const fieldKey = field.replace('sysobject.', '').replace('sysdocument.', '');
|
|
23925
|
+
let aggsQquery;
|
|
23926
|
+
if (Object.keys(rangeValues).length !== 0) {
|
|
23927
|
+
aggsQquery = {
|
|
23928
|
+
[fieldKey]: {
|
|
23929
|
+
size: this._widgetConfig?.formValue?.size || 10,
|
|
23930
|
+
rg: rangeValues
|
|
23931
|
+
}
|
|
23932
|
+
};
|
|
23933
|
+
}
|
|
23934
|
+
else {
|
|
23935
|
+
aggsQquery = {
|
|
23936
|
+
[fieldKey]: {
|
|
23937
|
+
size: this._widgetConfig?.formValue?.size || 10,
|
|
23938
|
+
}
|
|
23939
|
+
};
|
|
23940
|
+
}
|
|
23770
23941
|
this.searchService.executeQuery({
|
|
23771
|
-
aggs:
|
|
23772
|
-
|
|
23773
|
-
}, ...this._query.getQueryJson()
|
|
23942
|
+
aggs: aggsQquery,
|
|
23943
|
+
...this._query.getQueryJson()
|
|
23774
23944
|
}, true)
|
|
23775
23945
|
.subscribe((res) => {
|
|
23776
23946
|
this.refreshingRequest = false;
|
|
@@ -23850,7 +24020,7 @@ let ChartsWidgetComponent = class ChartsWidgetComponent {
|
|
|
23850
24020
|
this._query = this.searchService.buildQuery(this.storedQuery);
|
|
23851
24021
|
this._widgetConfig.formValue.storedQuery = this.storedQuery.name;
|
|
23852
24022
|
if (this._widgetConfig?.formValue?.aggregation) {
|
|
23853
|
-
this.generateChartData(this._widgetConfig?.formValue?.aggregation, this._widgetConfig?.aggregationType, this._widgetConfig?.formValue?.histogramType);
|
|
24023
|
+
this.generateChartData(this._widgetConfig?.formValue?.aggregation, this._widgetConfig?.aggregationType, this._widgetConfig?.formValue?.histogramType, this.rangeValues);
|
|
23854
24024
|
}
|
|
23855
24025
|
}, (error) => {
|
|
23856
24026
|
this.chartData = [];
|
|
@@ -23900,6 +24070,8 @@ let ChartsSetupComponent = class ChartsSetupComponent {
|
|
|
23900
24070
|
size: ['', [Validators.max(100), Validators.min(3)]],
|
|
23901
24071
|
aggregation: [],
|
|
23902
24072
|
histogramType: [],
|
|
24073
|
+
interval: [],
|
|
24074
|
+
startingpoint: []
|
|
23903
24075
|
});
|
|
23904
24076
|
this.storedQueriesPicker = {
|
|
23905
24077
|
title: this.translate.instant('eo.search.title.storedqueries'),
|
|
@@ -24091,6 +24263,8 @@ let ChartsSetupComponent = class ChartsSetupComponent {
|
|
|
24091
24263
|
size: this._widgetConfig?.formValue?.size,
|
|
24092
24264
|
aggregation: this._widgetConfig ? this._widgetConfig.formValue.aggregation : 'sysobject.created',
|
|
24093
24265
|
histogramType: this._widgetConfig && this._widgetConfig?.formValue?.histogramType ? this._widgetConfig?.formValue?.histogramType : 'monthly',
|
|
24266
|
+
interval: this._widgetConfig ? this._widgetConfig.formValue.interval : '',
|
|
24267
|
+
startingpoint: this._widgetConfig ? this._widgetConfig.formValue.startingpoint : '',
|
|
24094
24268
|
});
|
|
24095
24269
|
if (this.storedQuery) {
|
|
24096
24270
|
this.selectedSavedSearchName = this.setupForm.get('storedQuery').value;
|
|
@@ -24116,6 +24290,8 @@ let ChartsSetupComponent = class ChartsSetupComponent {
|
|
|
24116
24290
|
aggregation: this._widgetConfig ? this._widgetConfig.formValue.aggregation : 'sysobject.created',
|
|
24117
24291
|
histogramType: 'monthly',
|
|
24118
24292
|
size: '',
|
|
24293
|
+
interval: '',
|
|
24294
|
+
startingpoint: '',
|
|
24119
24295
|
});
|
|
24120
24296
|
return EMPTY;
|
|
24121
24297
|
}
|
|
@@ -24127,18 +24303,20 @@ let ChartsSetupComponent = class ChartsSetupComponent {
|
|
|
24127
24303
|
aggregation: this._widgetConfig ? this._widgetConfig.formValue.aggregation : 'sysobject.created',
|
|
24128
24304
|
histogramType: this._widgetConfig && this._widgetConfig?.formValue?.histogramType ? this._widgetConfig?.formValue?.histogramType : 'monthly',
|
|
24129
24305
|
size: this._widgetConfig?.formValue?.size,
|
|
24306
|
+
interval: this._widgetConfig ? this._widgetConfig.formValue.interval : '',
|
|
24307
|
+
startingpoint: this._widgetConfig ? this._widgetConfig.formValue.startingpoint : '',
|
|
24130
24308
|
});
|
|
24131
24309
|
}
|
|
24132
24310
|
}
|
|
24133
24311
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChartsSetupComponent, deps: [{ token: i1$2.UntypedFormBuilder }, { token: i1.StoredQueriesService }, { token: i1.TranslateService }, { token: i1.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ChartsSetupComponent, selector: "eo-charts-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, viewQueries: [{ propertyName: "aggregationCodesystem", first: true, predicate: ["aggregationCodesystem"], descendants: true }, { propertyName: "histogramCodesystem", first: true, predicate: ["histogramCodesystem"], descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n [label]=\"'eo.workspace.widget.form.label.chartTypeField' | translate\">\n <eo-codesystem formControlName=\"chartType\" [pickerTitle]=\"chartTypePicker.title\"\n [codesystem]=\"chartTypePicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\" *ngIf=\"storedQueriesPicker?.codesystem?.entries\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n *ngIf=\"aggregationPicker?.codesystem?.entries && this.setupForm.get('storedQuery').value\"\n [label]=\"'eo.workspace.widget.form.label.aggregationField' | translate\">\n <eo-codesystem #aggregationCodesystem formControlName=\"aggregation\" [pickerTitle]=\"aggregationPicker.title\"\n [codesystem]=\"aggregationPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n *ngIf=\"isDateTimeType\" [label]=\"'eo.workspace.widget.form.label.histogram' | translate\">\n <eo-codesystem formControlName=\"histogramType\" [pickerTitle]=\"histogramTypePicker.title\"\n [codesystem]=\"histogramTypePicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [skipToggle]=\"true\"
|
|
24312
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ChartsSetupComponent, selector: "eo-charts-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, viewQueries: [{ propertyName: "aggregationCodesystem", first: true, predicate: ["aggregationCodesystem"], descendants: true }, { propertyName: "histogramCodesystem", first: true, predicate: ["histogramCodesystem"], descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n [label]=\"'eo.workspace.widget.form.label.chartTypeField' | translate\">\n <eo-codesystem formControlName=\"chartType\" [pickerTitle]=\"chartTypePicker.title\"\n [codesystem]=\"chartTypePicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\" *ngIf=\"storedQueriesPicker?.codesystem?.entries\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n *ngIf=\"aggregationPicker?.codesystem?.entries && this.setupForm.get('storedQuery').value\"\n [label]=\"'eo.workspace.widget.form.label.aggregationField' | translate\">\n <eo-codesystem #aggregationCodesystem formControlName=\"aggregation\" [pickerTitle]=\"aggregationPicker.title\"\n [codesystem]=\"aggregationPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n *ngIf=\"isDateTimeType\" [label]=\"'eo.workspace.widget.form.label.histogram' | translate\">\n <eo-codesystem formControlName=\"histogramType\" [pickerTitle]=\"histogramTypePicker.title\"\n [codesystem]=\"histogramTypePicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [skipToggle]=\"true\" [description]=\"'eo.workspace.widget.chart.form.label.description'\"\n [label]=\"'eo.workspace.widget.form.partialValue' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"size\"></eo-number>\n </eo-form-input>\n\n <div class=\"err-msg\" *ngIf=\"setupForm.get('size').hasError('max') || setupForm.get('size').hasError('min')\">\n <div translate>\n eo.form.property.string.error.classification.partialValue </div>\n </div>\n\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.workspace.widget.charts.interval' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"interval\"></eo-number>\n </eo-form-input>\n\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.workspace.widget.charts.startingpoint' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"startingpoint\"></eo-number>\n </eo-form-input>\n\n </form>\n</div>\n\n<div class=\"preview\"\n *ngIf=\"setupForm.get('aggregation').value && setupForm.get('chartType').value && setupForm.get('storedQuery').value && (isDateTimeType && setupForm.get('histogramType').value || !isDateTimeType); else tplEmpty\">\n <eo-charts-widget [widgetConfig]=\"widgetConfig\" [editMode]=\"true\"></eo-charts-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.configuration.notOk'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-charts-widget{border:1px transparent var(--panel-divider-color)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: ChartsWidgetComponent, selector: "eo-charts-widget", inputs: ["editMode", "widgetConfig"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
24135
24313
|
};
|
|
24136
24314
|
ChartsSetupComponent = __decorate([
|
|
24137
24315
|
UntilDestroy()
|
|
24138
24316
|
], ChartsSetupComponent);
|
|
24139
24317
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChartsSetupComponent, decorators: [{
|
|
24140
24318
|
type: Component,
|
|
24141
|
-
args: [{ selector: 'eo-charts-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n [label]=\"'eo.workspace.widget.form.label.chartTypeField' | translate\">\n <eo-codesystem formControlName=\"chartType\" [pickerTitle]=\"chartTypePicker.title\"\n [codesystem]=\"chartTypePicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\" *ngIf=\"storedQueriesPicker?.codesystem?.entries\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n *ngIf=\"aggregationPicker?.codesystem?.entries && this.setupForm.get('storedQuery').value\"\n [label]=\"'eo.workspace.widget.form.label.aggregationField' | translate\">\n <eo-codesystem #aggregationCodesystem formControlName=\"aggregation\" [pickerTitle]=\"aggregationPicker.title\"\n [codesystem]=\"aggregationPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n *ngIf=\"isDateTimeType\" [label]=\"'eo.workspace.widget.form.label.histogram' | translate\">\n <eo-codesystem formControlName=\"histogramType\" [pickerTitle]=\"histogramTypePicker.title\"\n [codesystem]=\"histogramTypePicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [skipToggle]=\"true\"
|
|
24319
|
+
args: [{ selector: 'eo-charts-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n [label]=\"'eo.workspace.widget.form.label.chartTypeField' | translate\">\n <eo-codesystem formControlName=\"chartType\" [pickerTitle]=\"chartTypePicker.title\"\n [codesystem]=\"chartTypePicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\" *ngIf=\"storedQueriesPicker?.codesystem?.entries\"\n [label]=\"'eo.search.title.storedqueries' | translate\" [description]=\"'eo.workspace.widget.stored.queries.description'\">\n <eo-codesystem formControlName=\"storedQuery\" [pickerTitle]=\"storedQueriesPicker.title\"\n [codesystem]=\"storedQueriesPicker.codesystem\"\n [emptyMessage]=\"'eo.workspace.widget.stored.queries.list.notAvailable'\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n *ngIf=\"aggregationPicker?.codesystem?.entries && this.setupForm.get('storedQuery').value\"\n [label]=\"'eo.workspace.widget.form.label.aggregationField' | translate\">\n <eo-codesystem #aggregationCodesystem formControlName=\"aggregation\" [pickerTitle]=\"aggregationPicker.title\"\n [codesystem]=\"aggregationPicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [required]=\"true\" [skipToggle]=\"true\"\n *ngIf=\"isDateTimeType\" [label]=\"'eo.workspace.widget.form.label.histogram' | translate\">\n <eo-codesystem formControlName=\"histogramType\" [pickerTitle]=\"histogramTypePicker.title\"\n [codesystem]=\"histogramTypePicker.codesystem\"></eo-codesystem>\n </eo-form-input>\n\n <eo-form-input [skipToggle]=\"true\" [description]=\"'eo.workspace.widget.chart.form.label.description'\"\n [label]=\"'eo.workspace.widget.form.partialValue' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"size\"></eo-number>\n </eo-form-input>\n\n <div class=\"err-msg\" *ngIf=\"setupForm.get('size').hasError('max') || setupForm.get('size').hasError('min')\">\n <div translate>\n eo.form.property.string.error.classification.partialValue </div>\n </div>\n\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.workspace.widget.charts.interval' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"interval\"></eo-number>\n </eo-form-input>\n\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.workspace.widget.charts.startingpoint' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"startingpoint\"></eo-number>\n </eo-form-input>\n\n </form>\n</div>\n\n<div class=\"preview\"\n *ngIf=\"setupForm.get('aggregation').value && setupForm.get('chartType').value && setupForm.get('storedQuery').value && (isDateTimeType && setupForm.get('histogramType').value || !isDateTimeType); else tplEmpty\">\n <eo-charts-widget [widgetConfig]=\"widgetConfig\" [editMode]=\"true\"></eo-charts-widget>\n</div>\n\n<ng-template #tplEmpty>\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.configuration.notOk'}\"></eo-error-message>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-charts-widget{border:1px transparent var(--panel-divider-color)}\n"] }]
|
|
24142
24320
|
}], ctorParameters: () => [{ type: i1$2.UntypedFormBuilder }, { type: i1.StoredQueriesService }, { type: i1.TranslateService }, { type: i1.UserService }], propDecorators: { widgetConfigChange: [{
|
|
24143
24321
|
type: Output
|
|
24144
24322
|
}], aggregationCodesystem: [{
|
|
@@ -24369,6 +24547,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
24369
24547
|
type: Input
|
|
24370
24548
|
}] } });
|
|
24371
24549
|
|
|
24550
|
+
let LastEditedAndCreatedSetupComponent = class LastEditedAndCreatedSetupComponent {
|
|
24551
|
+
set widgetConfig(c) {
|
|
24552
|
+
this._widgetConfig = c;
|
|
24553
|
+
this.setupForm.patchValue({
|
|
24554
|
+
lastEdited: this._widgetConfig?.lastEdited ? this._widgetConfig?.lastEdited : '' || this._widgetConfig?.lastEdited,
|
|
24555
|
+
lastCreated: this._widgetConfig?.lastCreated ? this._widgetConfig?.lastCreated : '' || this._widgetConfig?.lastCreated,
|
|
24556
|
+
sortRevert: this._widgetConfig?.sortRevert ? this._widgetConfig?.sortRevert : '',
|
|
24557
|
+
number: this._widgetConfig?.number ? this._widgetConfig?.number : '10',
|
|
24558
|
+
});
|
|
24559
|
+
}
|
|
24560
|
+
get widgetConfig() {
|
|
24561
|
+
return this._widgetConfig;
|
|
24562
|
+
}
|
|
24563
|
+
constructor(fb) {
|
|
24564
|
+
this.fb = fb;
|
|
24565
|
+
this.widgetConfigChange = new EventEmitter();
|
|
24566
|
+
this.isEditedChecked = false;
|
|
24567
|
+
this.isCreatedChecked = false;
|
|
24568
|
+
this.setupForm = this.fb.group({
|
|
24569
|
+
lastEdited: [true],
|
|
24570
|
+
lastCreated: [true],
|
|
24571
|
+
sortRevert: [],
|
|
24572
|
+
number: ['', [Validators.max(100), Validators.min(3)]],
|
|
24573
|
+
});
|
|
24574
|
+
this.setupForm.valueChanges.pipe(untilDestroyed(this)).subscribe((_) => {
|
|
24575
|
+
this.setWidgetConfig();
|
|
24576
|
+
this.isCreatedChecked = !this._widgetConfig?.lastEdited;
|
|
24577
|
+
this.isEditedChecked = !this._widgetConfig?.lastCreated;
|
|
24578
|
+
});
|
|
24579
|
+
}
|
|
24580
|
+
ngOnInit() {
|
|
24581
|
+
this.setWidgetConfig();
|
|
24582
|
+
}
|
|
24583
|
+
setWidgetConfig() {
|
|
24584
|
+
if (this.setupForm.valid) {
|
|
24585
|
+
this._widgetConfig = {
|
|
24586
|
+
...this.setupForm.value,
|
|
24587
|
+
};
|
|
24588
|
+
this.widgetConfigChange.emit(this._widgetConfig);
|
|
24589
|
+
}
|
|
24590
|
+
}
|
|
24591
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedSetupComponent, deps: [{ token: i1$2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24592
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: LastEditedAndCreatedSetupComponent, selector: "eo-last-edited-and-created-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\"\n [invalid]=\"setupForm.get('number').hasError('max') || setupForm.get('number').hasError('min')\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"setupForm.get('number').hasError('max') || setupForm.get('number').hasError('min')\">\n <div translate>\n eo.form.property.string.error.classification.partialValue </div>\n </div>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n\n </form>\n</div>\n\n<div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n</div>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: ["widgetConfig"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
24593
|
+
};
|
|
24594
|
+
LastEditedAndCreatedSetupComponent = __decorate([
|
|
24595
|
+
UntilDestroy()
|
|
24596
|
+
], LastEditedAndCreatedSetupComponent);
|
|
24597
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedSetupComponent, decorators: [{
|
|
24598
|
+
type: Component,
|
|
24599
|
+
args: [{ selector: 'eo-last-edited-and-created-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\"\n [invalid]=\"setupForm.get('number').hasError('max') || setupForm.get('number').hasError('min')\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"setupForm.get('number').hasError('max') || setupForm.get('number').hasError('min')\">\n <div translate>\n eo.form.property.string.error.classification.partialValue </div>\n </div>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n\n </form>\n</div>\n\n<div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n</div>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"] }]
|
|
24600
|
+
}], ctorParameters: () => [{ type: i1$2.UntypedFormBuilder }], propDecorators: { widgetConfigChange: [{
|
|
24601
|
+
type: Output
|
|
24602
|
+
}], widgetConfig: [{
|
|
24603
|
+
type: Input
|
|
24604
|
+
}] } });
|
|
24605
|
+
|
|
24372
24606
|
let DashboardComponent = class DashboardComponent {
|
|
24373
24607
|
onKey(event) {
|
|
24374
24608
|
if (event.which === 27) {
|
|
@@ -24456,6 +24690,7 @@ let DashboardComponent = class DashboardComponent {
|
|
|
24456
24690
|
name: 'yuv.widget.LastEdited',
|
|
24457
24691
|
label: this.translate.instant('eo.workspace.widget.lastEditedOrLastCreated.label'),
|
|
24458
24692
|
widgetComponent: LastEditedAndCreatedComponent,
|
|
24693
|
+
setupComponent: LastEditedAndCreatedSetupComponent,
|
|
24459
24694
|
},
|
|
24460
24695
|
{
|
|
24461
24696
|
name: 'yuv.widget.iframe',
|
|
@@ -24643,7 +24878,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
24643
24878
|
}] } });
|
|
24644
24879
|
|
|
24645
24880
|
let SettingsComponent = class SettingsComponent {
|
|
24646
|
-
constructor(renderer, userService, config, notify, systemService, eventService, capabilitiesService, titleService, agentService, fb, cacheService,
|
|
24881
|
+
constructor(renderer, userService, config, notify, systemService, eventService, capabilitiesService, titleService, agentService, fb, cacheService, storageService, translate, elemRef, notification) {
|
|
24647
24882
|
this.renderer = renderer;
|
|
24648
24883
|
this.userService = userService;
|
|
24649
24884
|
this.config = config;
|
|
@@ -24655,7 +24890,6 @@ let SettingsComponent = class SettingsComponent {
|
|
|
24655
24890
|
this.agentService = agentService;
|
|
24656
24891
|
this.fb = fb;
|
|
24657
24892
|
this.cacheService = cacheService;
|
|
24658
|
-
this.listSettingsService = listSettingsService;
|
|
24659
24893
|
this.storageService = storageService;
|
|
24660
24894
|
this.translate = translate;
|
|
24661
24895
|
this.elemRef = elemRef;
|
|
@@ -24673,11 +24907,6 @@ let SettingsComponent = class SettingsComponent {
|
|
|
24673
24907
|
this.showErrorDialog = false;
|
|
24674
24908
|
this.MAX_FILE_SIZE = 524288;
|
|
24675
24909
|
this.viewMode = '';
|
|
24676
|
-
this.cache = {
|
|
24677
|
-
system: true,
|
|
24678
|
-
history: true,
|
|
24679
|
-
layout: true
|
|
24680
|
-
};
|
|
24681
24910
|
this.files = {};
|
|
24682
24911
|
this.titleService.setBaseTitle(this.translate.instant('eo.bar.button.settings.title'));
|
|
24683
24912
|
this.clientLocales = config.getClientLocales();
|
|
@@ -24698,9 +24927,6 @@ let SettingsComponent = class SettingsComponent {
|
|
|
24698
24927
|
this.useAgentControl.valueChanges.pipe(untilDestroyed(this)).subscribe(() => this.agentService.isConnected = this.useAgentControl.value);
|
|
24699
24928
|
});
|
|
24700
24929
|
}
|
|
24701
|
-
get isSSO() {
|
|
24702
|
-
return this.capabilities && this.capabilities.sso;
|
|
24703
|
-
}
|
|
24704
24930
|
get agentStatus() {
|
|
24705
24931
|
return this.agentService.isConnected$;
|
|
24706
24932
|
}
|
|
@@ -24782,8 +25008,8 @@ let SettingsComponent = class SettingsComponent {
|
|
|
24782
25008
|
error: (err) => {
|
|
24783
25009
|
this.notification.error('', err.error.cause.messages[0]);
|
|
24784
25010
|
this.file = null;
|
|
24785
|
-
this.translate.instant('eo.upload.global.error.title')
|
|
24786
|
-
|
|
25011
|
+
this.translate.instant('eo.upload.global.error.title');
|
|
25012
|
+
this.translate.instant('eo.upload.global.error.description');
|
|
24787
25013
|
},
|
|
24788
25014
|
});
|
|
24789
25015
|
}
|
|
@@ -24825,8 +25051,8 @@ let SettingsComponent = class SettingsComponent {
|
|
|
24825
25051
|
error: (err) => {
|
|
24826
25052
|
this.notification.error('', err.error.cause.messages[0]);
|
|
24827
25053
|
this.file = null;
|
|
24828
|
-
this.translate.instant('eo.upload.global.error.title')
|
|
24829
|
-
|
|
25054
|
+
this.translate.instant('eo.upload.global.error.title');
|
|
25055
|
+
this.translate.instant('eo.upload.global.error.description');
|
|
24830
25056
|
},
|
|
24831
25057
|
});
|
|
24832
25058
|
}
|
|
@@ -24849,15 +25075,15 @@ let SettingsComponent = class SettingsComponent {
|
|
|
24849
25075
|
this.renderer.setStyle(this.headerBg.nativeElement, 'background-image', `url(${imageUri + '&t=' + timestamp})`);
|
|
24850
25076
|
}
|
|
24851
25077
|
}
|
|
24852
|
-
|
|
25078
|
+
clearLocalSettings() {
|
|
24853
25079
|
const actions = [
|
|
24854
|
-
this.
|
|
24855
|
-
this.
|
|
24856
|
-
this.cache.layout && this.storageService.clear((key) => key === ResultListComponent.COLUMNS_DEFINITION),
|
|
24857
|
-
this.cache.layout && this.cacheService.clear((key) => !!key.match(/^eo.+(layout)/)),
|
|
24858
|
-
this.cache.system && this.systemService.fetchSystemDefinition(this.user),
|
|
25080
|
+
this.cacheService.clear(),
|
|
25081
|
+
this.storageService.clear(),
|
|
24859
25082
|
].filter(a => a);
|
|
24860
|
-
return actions.length ? forkJoin(actions).subscribe(() =>
|
|
25083
|
+
return actions.length ? forkJoin(actions).subscribe(() => {
|
|
25084
|
+
this.notify.success(this.translate.instant('eo.state.settings.cache.clear.success'));
|
|
25085
|
+
this.saveLocalSettings();
|
|
25086
|
+
}, () => this.notify.error(this.translate.instant('eo.state.settings.cache.clear.error'))) && true : false;
|
|
24861
25087
|
}
|
|
24862
25088
|
async saveLocalSettings() {
|
|
24863
25089
|
const localSettings = this.storageService.getStorage();
|
|
@@ -24871,16 +25097,16 @@ let SettingsComponent = class SettingsComponent {
|
|
|
24871
25097
|
this.cacheService.replaceStorage(settings.cacheSettings);
|
|
24872
25098
|
});
|
|
24873
25099
|
}
|
|
24874
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SettingsComponent, deps: [{ token: i0.Renderer2 }, { token: i1.UserService }, { token: i1.Config }, { token: i1.NotificationsService }, { token: i1.SystemService }, { token: i1.EventService }, { token: i1.CapabilitiesService }, { token: PageTitleService }, { token: AgentService }, { token: i1$2.UntypedFormBuilder }, { token: i1.AppCacheService }, { token:
|
|
24875
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SettingsComponent, selector: "eo-settings", viewQueries: [{ propertyName: "files", first: true, predicate: ["files"], descendants: true }, { propertyName: "headerBg", first: true, predicate: ["headerBg"], descendants: true }, { propertyName: "userAvatar", first: true, predicate: ["userAvatar"], descendants: true }, { propertyName: "confirmDeleteBtn", first: true, predicate: ["confirmDeleteBtn"], descendants: true }, { propertyName: "profileImageOverlay", first: true, predicate: ["profileImageOverlay"], descendants: true }, { propertyName: "deputiesForm", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.cache</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\n <div class=\"cache\">\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n </div>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage 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}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .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: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], 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: UserAvatarComponent, selector: "eo-user-avatar", inputs: ["showPresence", "previewUri"] }, { 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: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: ChangePasswordFormComponent, selector: "eo-change-password-form", inputs: ["userRegex"], outputs: ["onFormSumbit"] }, { kind: "component", type: PermissionsComponent, selector: "eo-permissions", inputs: ["roles"] }, { kind: "component", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
25100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SettingsComponent, deps: [{ token: i0.Renderer2 }, { token: i1.UserService }, { token: i1.Config }, { token: i1.NotificationsService }, { token: i1.SystemService }, { token: i1.EventService }, { token: i1.CapabilitiesService }, { token: PageTitleService }, { token: AgentService }, { token: i1$2.UntypedFormBuilder }, { token: i1.AppCacheService }, { token: i1.LocalStorageService }, { token: i1.TranslateService }, { token: i0.ElementRef }, { token: i1.NotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SettingsComponent, selector: "eo-settings", viewQueries: [{ propertyName: "files", first: true, predicate: ["files"], descendants: true }, { propertyName: "headerBg", first: true, predicate: ["headerBg"], descendants: true }, { propertyName: "userAvatar", first: true, predicate: ["userAvatar"], descendants: true }, { propertyName: "confirmDeleteBtn", first: true, predicate: ["confirmDeleteBtn"], descendants: true }, { propertyName: "profileImageOverlay", first: true, predicate: ["profileImageOverlay"], descendants: true }, { propertyName: "deputiesForm", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n <button translate (click)=\"clearLocalSettings()\">eo.state.settings.localSettings.clear</button>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage 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}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .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: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], 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: UserAvatarComponent, selector: "eo-user-avatar", inputs: ["showPresence", "previewUri"] }, { 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: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: ChangePasswordFormComponent, selector: "eo-change-password-form", inputs: ["userRegex"], outputs: ["onFormSumbit"] }, { kind: "component", type: PermissionsComponent, selector: "eo-permissions", inputs: ["roles"] }, { kind: "component", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
24876
25102
|
};
|
|
24877
25103
|
SettingsComponent = __decorate([
|
|
24878
25104
|
UntilDestroy()
|
|
24879
25105
|
], SettingsComponent);
|
|
24880
25106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SettingsComponent, decorators: [{
|
|
24881
25107
|
type: Component,
|
|
24882
|
-
args: [{ selector: 'eo-settings', template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.cache</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\n <div class=\"cache\">\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n </div>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage 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}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .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"] }]
|
|
24883
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.UserService }, { type: i1.Config }, { type: i1.NotificationsService }, { type: i1.SystemService }, { type: i1.EventService }, { type: i1.CapabilitiesService }, { type: PageTitleService }, { type: AgentService }, { type: i1$2.UntypedFormBuilder }, { type: i1.AppCacheService }, { type:
|
|
25108
|
+
args: [{ selector: 'eo-settings', template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n <button translate (click)=\"clearLocalSettings()\">eo.state.settings.localSettings.clear</button>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage 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}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .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"] }]
|
|
25109
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.UserService }, { type: i1.Config }, { type: i1.NotificationsService }, { type: i1.SystemService }, { type: i1.EventService }, { type: i1.CapabilitiesService }, { type: PageTitleService }, { type: AgentService }, { type: i1$2.UntypedFormBuilder }, { type: i1.AppCacheService }, { type: i1.LocalStorageService }, { type: i1.TranslateService }, { type: i0.ElementRef }, { type: i1.NotificationsService }], propDecorators: { files: [{
|
|
24884
25110
|
type: ViewChild,
|
|
24885
25111
|
args: ['files']
|
|
24886
25112
|
}], headerBg: [{
|
|
@@ -24986,7 +25212,7 @@ class LoginComponent {
|
|
|
24986
25212
|
});
|
|
24987
25213
|
}
|
|
24988
25214
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoginComponent, deps: [{ token: i2$1.ActivatedRoute }, { token: i2$1.Router }, { token: i1.Config }, { token: PageTitleService }, { token: i1.TranslateService }, { token: i1$1.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i1.AuthService }, { token: i1.UserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24989
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: LoginComponent, selector: "eo-login", viewQueries: [{ propertyName: "setAsPresentButton", first: true, predicate: ["setAsPresent"], descendants: true }], ngImport: i0, template: "<div class=\"eo-login-container\" [style.background-image]=\"backgroundImage\">\n <div class=\"eo-login\">\n\n <div class=\"head\">\n <eo-icon [iconSrc]=\"appLogo\"></eo-icon>\n </div>\n\n <div class=\"invalid\" *ngIf=\"invalid\" translate>eo.state.login.msg.invalid</div>\n <div class=\"invalid\" *ngIf=\"licenseExceeded\" translate>eo.state.login.msg.licenseExceeded</div>\n\n <form (ngSubmit)=\"login()\" #loginForm=\"ngForm\">\n\n <fieldset [ngClass]=\"{loading: loading}\">\n\n <div class=\"form-item\" *ngIf=\"native\" [ngClass]=\"{empty: !profiles || profiles.length === 0}\">\n <yvc-dropdown [options]=\"profiles\" placeholder=\"host\"\n [required]=\"true\"\n [(ngModel)]=\"form.host\" name=\"profile\">\n <ng-template let-profile pTemplate=\"item\">\n <div class=\"option-row\">\n <div>{{profile.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"removeProfile(profile.value)\"></eo-icon>\n </div>\n </ng-template>\n </yvc-dropdown>\n <label translate>eo.state.login.host</label>\n </div>\n\n <!-- form login -->\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"username\" placeholder=\"{{'eo.state.login.username'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.username\" name=\"username\" required tabindex=\"1\">\n <label for=\"username\" translate>eo.state.login.username</label>\n </div>\n <div class=\"form-item\">\n <input type=\"password\" class=\"form-control\" id=\"password\"\n placeholder=\"{{'eo.state.login.password'|translate}}\"\n [disabled]=\"loading\"\n [(ngModel)]=\"form.password\" name=\"password\" required tabindex=\"2\">\n <label for=\"password\" translate>eo.state.login.password</label>\n </div>\n\n </fieldset>\n <div class=\"actions\">\n <button type=\"submit\" class=\"primary\" [disabled]=\"!loginForm.form.valid || loading\"\n [ngClass]=\"{spinner: loading}\"\n translate tabindex=\"3\">eo.state.login.submit</button>\n </div>\n </form>\n </div>\n</div>\n\n<eo-dialog [title]=\"'eo.state.login.presence.dialog.title' | translate\" [(visible)]=\"showAbsentDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'login-presence__dialog'\">\n\n <div>\n <span>{{'eo.state.login.presence.dialog.message' | translate}}</span>\n </div>\n\n <div class=\"action-buttons login-presence--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"closeShowAbsentDialog()\"\n translate>eo.state.login.presence.dialog.cancel</button>\n <button type=\"button\" #setAsPresent (click)=\"closeShowAbsentDialog(true)\" class=\"button primary\"\n translate>eo.state.login.presence.dialog.setAsPresent</button>\n </div>\n</eo-dialog>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;align-items:stretch;justify-content:center}.eo-login-container{width:100%;display:flex;justify-content:center;background-size:cover;background-position:center center}.eo-login-container .eo-login{width:400px;display:flex;flex-flow:column;align-items:stretch;justify-content:center}@media screen and (max-width: 432px){.eo-login-container .eo-login{width:100%;box-sizing:border-box;padding:0 var(--app-pane-padding)}}.eo-login-container .eo-login .head{padding-bottom:calc(var(--app-pane-padding) * 3);display:flex;justify-content:flex-end}.eo-login-container .eo-login .head eo-icon{width:60%;height:auto;margin:0;min-width:120px;color:var(--text-color-hint)}.eo-login-container .eo-login .invalid{color:var(--color-error);margin-bottom:var(--app-pane-padding)}.eo-login-container .eo-login fieldset{background:var(--color-white);border:0;padding:0;border-radius:2px;box-shadow:0 2px 8px rgba(var(--color-black-rgb),.26)}.eo-login-container .eo-login fieldset .form-item{display:flex;flex-flow:row nowrap;align-items:center;border-bottom:1px solid var(--list-item-border-color)}.eo-login-container .eo-login fieldset .form-item>*{flex:1 1 auto}.eo-login-container .eo-login fieldset .form-item label{flex:0 0 auto;color:var(--text-color-caption);padding:0 calc(var(--app-pane-padding) / 2)}.eo-login-container .eo-login fieldset input{width:100%;background:transparent;box-sizing:border-box;margin:0;padding:calc(var(--app-pane-padding) * .75) calc(var(--app-pane-padding) / 2);border:0}.eo-login-container .eo-login fieldset input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset}.eo-login-container .eo-login fieldset input:last-child{border-bottom:0}.eo-login-container .eo-login fieldset.loading,.eo-login-container .eo-login fieldset.empty .ui-dropdown-trigger{opacity:.5}.eo-login-container .eo-login .actions{display:flex;flex-flow:row nowrap;justify-content:flex-end}.eo-login-container .eo-login .actions button{margin-top:var(--app-pane-padding)}.eo-login-container .eo-login .actions button[disabled]{opacity:.9}::ng-deep .login-presence__dialog{padding:8px;min-height:unset!important}::ng-deep .login-presence__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: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.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: "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:
|
|
25215
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: LoginComponent, selector: "eo-login", viewQueries: [{ propertyName: "setAsPresentButton", first: true, predicate: ["setAsPresent"], descendants: true }], ngImport: i0, template: "<div class=\"eo-login-container\" [style.background-image]=\"backgroundImage\">\n <div class=\"eo-login\">\n\n <div class=\"head\">\n <eo-icon [iconSrc]=\"appLogo\"></eo-icon>\n </div>\n\n <div class=\"invalid\" *ngIf=\"invalid\" translate>eo.state.login.msg.invalid</div>\n <div class=\"invalid\" *ngIf=\"licenseExceeded\" translate>eo.state.login.msg.licenseExceeded</div>\n\n <form (ngSubmit)=\"login()\" #loginForm=\"ngForm\">\n\n <fieldset [ngClass]=\"{loading: loading}\">\n\n <div class=\"form-item\" *ngIf=\"native\" [ngClass]=\"{empty: !profiles || profiles.length === 0}\">\n <yvc-dropdown [options]=\"profiles\" placeholder=\"host\"\n [required]=\"true\"\n [(ngModel)]=\"form.host\" name=\"profile\">\n <ng-template let-profile pTemplate=\"item\">\n <div class=\"option-row\">\n <div>{{profile.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"removeProfile(profile.value)\"></eo-icon>\n </div>\n </ng-template>\n </yvc-dropdown>\n <label translate>eo.state.login.host</label>\n </div>\n\n <!-- form login -->\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"username\" placeholder=\"{{'eo.state.login.username'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.username\" name=\"username\" required tabindex=\"1\">\n <label for=\"username\" translate>eo.state.login.username</label>\n </div>\n <div class=\"form-item\">\n <input type=\"password\" class=\"form-control\" id=\"password\"\n placeholder=\"{{'eo.state.login.password'|translate}}\"\n [disabled]=\"loading\"\n [(ngModel)]=\"form.password\" name=\"password\" required tabindex=\"2\">\n <label for=\"password\" translate>eo.state.login.password</label>\n </div>\n\n </fieldset>\n <div class=\"actions\">\n <button type=\"submit\" class=\"primary\" [disabled]=\"!loginForm.form.valid || loading\"\n [ngClass]=\"{spinner: loading}\"\n translate tabindex=\"3\">eo.state.login.submit</button>\n </div>\n </form>\n </div>\n</div>\n\n<eo-dialog [title]=\"'eo.state.login.presence.dialog.title' | translate\" [(visible)]=\"showAbsentDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'login-presence__dialog'\">\n\n <div>\n <span>{{'eo.state.login.presence.dialog.message' | translate}}</span>\n </div>\n\n <div class=\"action-buttons login-presence--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"closeShowAbsentDialog()\"\n translate>eo.state.login.presence.dialog.cancel</button>\n <button type=\"button\" #setAsPresent (click)=\"closeShowAbsentDialog(true)\" class=\"button primary\"\n translate>eo.state.login.presence.dialog.setAsPresent</button>\n </div>\n</eo-dialog>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;align-items:stretch;justify-content:center}.eo-login-container{width:100%;display:flex;justify-content:center;background-size:cover;background-position:center center}.eo-login-container .eo-login{width:400px;display:flex;flex-flow:column;align-items:stretch;justify-content:center}@media screen and (max-width: 432px){.eo-login-container .eo-login{width:100%;box-sizing:border-box;padding:0 var(--app-pane-padding)}}.eo-login-container .eo-login .head{padding-bottom:calc(var(--app-pane-padding) * 3);display:flex;justify-content:flex-end}.eo-login-container .eo-login .head eo-icon{width:60%;height:auto;margin:0;min-width:120px;color:var(--text-color-hint)}.eo-login-container .eo-login .invalid{color:var(--color-error);margin-bottom:var(--app-pane-padding)}.eo-login-container .eo-login fieldset{background:var(--color-white);border:0;padding:0;border-radius:2px;box-shadow:0 2px 8px rgba(var(--color-black-rgb),.26)}.eo-login-container .eo-login fieldset .form-item{display:flex;flex-flow:row nowrap;align-items:center;border-bottom:1px solid var(--list-item-border-color)}.eo-login-container .eo-login fieldset .form-item>*{flex:1 1 auto}.eo-login-container .eo-login fieldset .form-item label{flex:0 0 auto;color:var(--text-color-caption);padding:0 calc(var(--app-pane-padding) / 2)}.eo-login-container .eo-login fieldset input{width:100%;background:transparent;box-sizing:border-box;margin:0;padding:calc(var(--app-pane-padding) * .75) calc(var(--app-pane-padding) / 2);border:0}.eo-login-container .eo-login fieldset input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset}.eo-login-container .eo-login fieldset input:last-child{border-bottom:0}.eo-login-container .eo-login fieldset.loading,.eo-login-container .eo-login fieldset.empty .ui-dropdown-trigger{opacity:.5}.eo-login-container .eo-login .actions{display:flex;flex-flow:row nowrap;justify-content:flex-end}.eo-login-container .eo-login .actions button{margin-top:var(--app-pane-padding)}.eo-login-container .eo-login .actions button[disabled]{opacity:.9}::ng-deep .login-presence__dialog{padding:8px;min-height:unset!important}::ng-deep .login-presence__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: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.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: "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: i5$1.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
24990
25216
|
}
|
|
24991
25217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoginComponent, decorators: [{
|
|
24992
25218
|
type: Component,
|
|
@@ -27062,7 +27288,8 @@ class EoClientModule {
|
|
|
27062
27288
|
ChartsWidgetComponent,
|
|
27063
27289
|
ChartsSetupComponent,
|
|
27064
27290
|
CountObjectsWidgetComponent,
|
|
27065
|
-
CountObjectsSetupComponent
|
|
27291
|
+
CountObjectsSetupComponent,
|
|
27292
|
+
LastEditedAndCreatedSetupComponent], imports: [CommonModule,
|
|
27066
27293
|
FormsModule,
|
|
27067
27294
|
ReactiveFormsModule,
|
|
27068
27295
|
ObjectStateModule,
|
|
@@ -27142,7 +27369,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
27142
27369
|
ChartsWidgetComponent,
|
|
27143
27370
|
ChartsSetupComponent,
|
|
27144
27371
|
CountObjectsWidgetComponent,
|
|
27145
|
-
CountObjectsSetupComponent
|
|
27372
|
+
CountObjectsSetupComponent,
|
|
27373
|
+
LastEditedAndCreatedSetupComponent
|
|
27146
27374
|
],
|
|
27147
27375
|
exports: [RouterModule, EoFrameworkModule]
|
|
27148
27376
|
}]
|
|
@@ -27160,5 +27388,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
27160
27388
|
* Generated bundle index. Do not edit.
|
|
27161
27389
|
*/
|
|
27162
27390
|
|
|
27163
|
-
export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppSearchComponent, AppSearchService, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DateComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicListFilterComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListFilterComponent, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OpenDocumentComponent, OrderByPipe, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PaginationComponent, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PipesModule, PluginComponent, PluginDirective, PluginPipe, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, PreventDoubleClickDirective, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QueryScopeSelectComponent, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, RecyclebinDetailsComponent, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SignatureTabComponent, SimpleAccordionComponent, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TextFilterComponent, TotalCountComponent, TrapFocusDirective, TreeComponent, TreeModule, TypeFilter, UNDOCK_WINDOW_NAME, UiModule, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, YearRangeDirective, agentConfigKeys, entryComponents, listAnimation, panelLoadingAnimations };
|
|
27391
|
+
export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppSearchComponent, AppSearchService, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DateComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicListFilterComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, LicenseWarningComponent, ListContainerComponent, ListContainerModule, ListFilterComponent, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OpenDocumentComponent, OrderByPipe, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PaginationComponent, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PipesModule, PluginComponent, PluginDirective, PluginPipe, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, PreventDoubleClickDirective, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QueryScopeSelectComponent, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, RecyclebinDetailsComponent, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SignatureTabComponent, SimpleAccordionComponent, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TextFilterComponent, TotalCountComponent, TrapFocusDirective, TreeComponent, TreeModule, TypeFilter, UNDOCK_WINDOW_NAME, UiModule, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, YearRangeDirective, agentConfigKeys, entryComponents, listAnimation, panelLoadingAnimations };
|
|
27164
27392
|
//# sourceMappingURL=eo-sdk-client.mjs.map
|