@eo-sdk/client 8.0.0-rc.5 → 8.0.0
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/settings/settings.component.d.ts +2 -0
- package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts +3 -1
- package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +1 -0
- package/app/eo-framework-core/agent/agent.service.d.ts +16 -1
- package/assets/_default/config/extend.json +3 -2
- package/assets/_default/config/main.json +4 -0
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +16 -8
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
- package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
- package/bundles/eo-sdk-client.umd.js +86 -42
- package/bundles/eo-sdk-client.umd.js.map +1 -1
- package/bundles/eo-sdk-client.umd.min.js +1 -1
- package/bundles/eo-sdk-client.umd.min.js.map +1 -1
- package/eo-sdk-client.d.ts +9 -8
- package/eo-sdk-client.metadata.json +1 -1
- package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
- package/esm2015/app/eo-client/settings/settings.component.js +16 -6
- package/esm2015/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.js +9 -4
- package/esm2015/app/eo-framework/app-shell/app-bar/app-search/app-search.component.js +13 -10
- package/esm2015/app/eo-framework/form-elements/checkbox/checkbox.component.js +8 -3
- package/esm2015/app/eo-framework/form-elements/datetime-range/datetime-range.component.js +5 -4
- package/esm2015/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.js +1 -1
- package/esm2015/app/eo-framework/upload-overlay/upload-overlay.component.js +4 -4
- package/esm2015/app/eo-framework-core/agent/agent.service.js +16 -8
- package/esm2015/app/eo-framework-core/pipes/locale-date.pipe.js +2 -2
- package/esm2015/eo-sdk-client.js +10 -9
- package/esm2015/projects/eo-sdk/core/lib/config/translate-json-loader.js +13 -6
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +13 -6
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
- package/fesm2015/eo-sdk-client.js +64 -33
- package/fesm2015/eo-sdk-client.js.map +1 -1
- package/package.json +2 -2
- package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
- package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts +1 -0
- package/projects/eo-sdk/core/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { Injectable, NgZone, Pipe, NgModule, EventEmitter, Injector, ɵɵdefineI
|
|
|
2
2
|
import { DecimalPipe, PercentPipe, CurrencyPipe, DatePipe, getLocaleDateTimeFormat, FormatWidth, getLocaleTimeFormat, getLocaleDateFormat, CommonModule, Location, PlatformLocation } from '@angular/common';
|
|
3
3
|
import { HttpClient, HttpResponse, HttpErrorResponse, HttpClientModule, HTTP_INTERCEPTORS, HttpHeaders } from '@angular/common/http';
|
|
4
4
|
import { ReplaySubject, BehaviorSubject, from, forkJoin, of, Subject, fromEvent, AsyncSubject, Observable } from 'rxjs';
|
|
5
|
-
import { groupBy, mergeMap, reduce,
|
|
5
|
+
import { groupBy, mergeMap, reduce, tap, catchError, map, debounceTime, takeUntil, filter, switchMap, pluck, finalize, combineLatest, throttleTime, take, takeWhile, withLatestFrom, first } from 'rxjs/operators';
|
|
6
6
|
import { SearchQuery, SearchState, EnaioEvent, Utils, SearchService, EventService, SystemService, Logger, BackendService, UserService, TranslateService, NotificationsService, AppCacheService, UploadTarget, UploadRegistryService, DmsObject, ClipboardService, DmsService, EnvironmentEnaio, SearchFilter, RangeValue, AuthService, EoError, CapabilitiesService, Config, ClipboardAction, PrepareService, QueryScope, EoSharedModule, InboxService, BpmService, StoredQuery, StoredQueriesService, EnvironmentService, LocalStorageService, FieldDefinition, SortOption, InboxItem, Process, PreparedItem, WorkItem, SubscriptionMode, TranslateModule, UploadFileItem, SearchResult } from '@eo-sdk/core';
|
|
7
7
|
import { Router, NavigationStart, RouterModule, ActivatedRoute, NavigationEnd } from '@angular/router';
|
|
8
8
|
import { NumberFilter, Utils as Utils$1, SimpleFilter, NumberSequence, _ as _$1, RowNode, Autowired, PostConstruct, Bean, ModuleNames, DateFilter } from '@ag-grid-community/core';
|
|
@@ -392,6 +392,11 @@ AppSearchService.ctorParameters = () => [
|
|
|
392
392
|
{ type: SystemService }
|
|
393
393
|
];
|
|
394
394
|
|
|
395
|
+
var agentConfigKeys;
|
|
396
|
+
(function (agentConfigKeys) {
|
|
397
|
+
agentConfigKeys["AUTOCONNECT"] = "autoconnect";
|
|
398
|
+
agentConfigKeys["LOCKSETTINGS"] = "locksettings";
|
|
399
|
+
})(agentConfigKeys || (agentConfigKeys = {}));
|
|
395
400
|
class AgentService {
|
|
396
401
|
constructor(logger, http, systemService, backendService, userService, translate, notifications, appCacheService) {
|
|
397
402
|
this.logger = logger;
|
|
@@ -411,13 +416,16 @@ class AgentService {
|
|
|
411
416
|
this._isConnected = false;
|
|
412
417
|
this.isConnectedSource = new ReplaySubject(1);
|
|
413
418
|
this.isConnected$ = this.isConnectedSource.asObservable();
|
|
419
|
+
this.agentConfig = new BehaviorSubject(null);
|
|
420
|
+
this.agentConfig$ = this.agentConfig.asObservable();
|
|
414
421
|
this.getAgentConnectionStatus();
|
|
415
422
|
}
|
|
416
423
|
getAgentConnectionStatus() {
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
424
|
+
forkJoin([this.appCacheService.getItem('eo.agent.connected'), this.getAgentConfig()])
|
|
425
|
+
.pipe(tap(([storage, config]) => this.isConnected = (config && config.hasOwnProperty(agentConfigKeys.AUTOCONNECT) ? config.autoconnect : storage !== null ? storage : null))).subscribe();
|
|
426
|
+
}
|
|
427
|
+
getAgentConfig() {
|
|
428
|
+
return this.http.get('assets/_default/config/extend.json').pipe(catchError(() => of(null)), tap((config) => this.agentConfig.next(Object.assign({}, config === null || config === void 0 ? void 0 : config.agent))), map((config) => config === null || config === void 0 ? void 0 : config.agent));
|
|
421
429
|
}
|
|
422
430
|
set isConnected(isConnected) {
|
|
423
431
|
this._isConnected = isConnected;
|
|
@@ -1157,7 +1165,7 @@ class LocaleDatePipe extends DatePipe {
|
|
|
1157
1165
|
this.translate = translate;
|
|
1158
1166
|
}
|
|
1159
1167
|
get lang() {
|
|
1160
|
-
return this.translate.currentLang;
|
|
1168
|
+
return this.translate.currentLang ? this.translate.currentLang : 'en';
|
|
1161
1169
|
}
|
|
1162
1170
|
transform(value, format = '', timezone, locale) {
|
|
1163
1171
|
if (format === 'eoNiceShort') {
|
|
@@ -4314,14 +4322,17 @@ class AppSearchComponent {
|
|
|
4314
4322
|
// set up form data from indexdata query filters
|
|
4315
4323
|
formData = idxFilters;
|
|
4316
4324
|
}
|
|
4317
|
-
this.systemService
|
|
4318
|
-
|
|
4319
|
-
.
|
|
4320
|
-
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4325
|
+
const objectType = this.systemService.getObjectType(type.name);
|
|
4326
|
+
if (objectType) {
|
|
4327
|
+
this.systemService
|
|
4328
|
+
.getObjectTypeForm(type.name, 'SEARCH')
|
|
4329
|
+
.subscribe(model => {
|
|
4330
|
+
this.idxSearch.formOptions = {
|
|
4331
|
+
formModel: model,
|
|
4332
|
+
data: formData
|
|
4333
|
+
};
|
|
4334
|
+
});
|
|
4335
|
+
}
|
|
4325
4336
|
}
|
|
4326
4337
|
processQueryState(queryState) {
|
|
4327
4338
|
this.loading = false;
|
|
@@ -4760,7 +4771,7 @@ class AppSearchComponent {
|
|
|
4760
4771
|
AppSearchComponent.decorators = [
|
|
4761
4772
|
{ type: Component, args: [{
|
|
4762
4773
|
selector: 'eo-app-search',
|
|
4763
|
-
template: "<eo-dialog class=\"eo-app-search-dialog\" [appendTo]=\"''\" [visible]=\"true\" (hide)=\"closeSearchMenu($event)\">\r\n\r\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\r\n\r\n <div class=\"head\">\r\n\r\n <div class=\"search\">\r\n <form (submit)=\"executeSearch()\">\r\n <div class=\"title\" translate>eo.search</div>\r\n\r\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\r\n\r\n <div class=\"search-box\">\r\n <p-autoComplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput class=\"form-control\"\r\n [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\" [suggestions]=\"autocompleteResults\"\r\n (onSelect)=\"autocompleteSelect()\" (completeMethod)=\"autocompleteSuggest($event)\" (paste)=\"autocompletePaste($event)\"\r\n (onClear)=\"autocompleteSuggest()\" [delay]=\"500\" [minLength]=\"3\"></p-autoComplete>\r\n\r\n <ng-template #expertInput>\r\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\r\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\r\n </ng-template>\r\n\r\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\r\n <!--<span translate>eo.search.mode.expert</span>-->\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\r\n <ng-template #close>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\r\n </ng-template>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\r\n (click)=\"resetExpertModeInput()\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\r\n </button>\r\n\r\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div class=\"result\" *ngIf=\"!loading; else spinner\">\r\n {{queryState.totalCount | localeDecimal}}\r\n </div>\r\n <ng-template #spinner>\r\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\r\n </ng-template>\r\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu($event)\"></eo-icon>\r\n\r\n </div>\r\n\r\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\r\n\r\n <p-tabView [styleClass]=\"'tab-main'\" (onChange)=\"onTabChange($event.index)\" [activeIndex]=\"activeTabIndex\">\r\n <!-- object type restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.type'|translate}}\" headerStyleClass=\"search-tab-objecttype\">\r\n\r\n <!-- object type selection -->\r\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\r\n *ngIf=\"objectTypeGroups && !idxSearch\">\r\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups\">\r\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\r\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\r\n <div class=\"type\" *ngFor=\"let type of group.types\"\r\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\r\n\r\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"item\" (click)=\"selectObjectType(type)\">\r\n <eo-icon [objectType]=\"type\"></eo-icon>\r\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) + ')' : ''}}</div>\r\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- indexdata search -->\r\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\r\n <h2>\r\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\r\n (click)=\"exitIndexdataSearch()\"></eo-icon>\r\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\r\n </h2>\r\n\r\n <!-- context type selection -->\r\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\r\n\r\n <div class=\"context-select\">\r\n <div translate>eo.search.objecttype.form.context</div>\r\n <div class=\"spacer\"></div>\r\n\r\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\r\n [selected]=\"currentContextFolderName === ctx.name\"\r\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\r\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\r\n </eo-context-search>\r\n </div>\r\n\r\n <section class=\"context form\">\r\n <eo-object-form class=\"dark\" #ctxform\r\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\r\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n\r\n\r\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\r\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\r\n (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <!-- created restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.creation' | translate}}\" headerStyleClass=\"search-tab-created\">\r\n\r\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\r\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #createdForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\r\n [withTime]=\"createdField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-creator\">\r\n <h3 translate>eo.search.agg.creator</h3>\r\n <form #creatorForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\r\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n </div>\r\n\r\n </p-tabPanel>\r\n <p-tabPanel header=\"{{'eo.search.restrict.modification'|translate}}\" headerStyleClass=\"search-tab-changed\">\r\n\r\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\r\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #modifiedForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\r\n [withTime]=\"modifiedField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-modifier\">\r\n <h3 translate>eo.search.agg.modifier</h3>\r\n <form #modifierForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\r\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\r\n [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <p-tabPanel header=\"{{'eo.search.restrict.file'|translate}}\" headerStyleClass=\"search-tab-docfile\">\r\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-mimetype-group\">\r\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\r\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"checkbox\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filesize\">\r\n <h3 translate>eo.search.restrict.filesize</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\r\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filename\">\r\n <h3 translate>eo.search.restrict.filename</h3>\r\n <form #filenameForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\r\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\r\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\r\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n\r\n\r\n <!-- summary of the current search filters -->\r\n <div class=\"summary-panel\">\r\n\r\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\r\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\r\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\r\n </div>\r\n\r\n <ng-template #reghead>\r\n <div class=\"headline\" translate>eo.search.aside.summary</div>\r\n </ng-template>\r\n\r\n <section class=\"query-types\">\r\n <!-- search term -->\r\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\r\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\r\n <div class=\"filter\">\r\n <div class=\"label\">{{query.term}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- context type -->\r\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- object type -->\r\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.types\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #filterTemplate let-filter let-translate>\r\n <ng-container *ngIf=\"filter.innerValue.length\">\r\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\r\n <div class=\"label\">{{filter.label[i] | async}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <div class=\"section section-creation\"\r\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue.length || filtersModel[PARAMS.CREATOR].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.creation</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-modification\"\r\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue.length || filtersModel[PARAMS.MODIFIER].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.modification</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-mimetypegroup\"\r\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.file</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\r\n </div>\r\n </section>\r\n\r\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\r\n\r\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\r\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\r\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\r\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-container>\r\n\r\n <ng-template #regactions>\r\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-template>\r\n\r\n\r\n </div>\r\n\r\n <ng-template #emptySearch>\r\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <!-- expert mode body panel containing explanations -->\r\n <ng-template #expert>\r\n <div class=\"body expert\">\r\n\r\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\r\n\r\n <!--\r\n <h2><span translate>eo.search.mode.expert</span></h2>\r\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\r\n\r\n <div class=\"base-params fields\">\r\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"system-types fields\">\r\n\r\n <div class=\"column column-group\">\r\n <h2 translate>eo.search.mode.expert.support.group</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\r\n (click)=\"xpSelectGroup(group)\">\r\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\r\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\r\n <h2 translate>eo.search.mode.expert.support.type</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\r\n (click)=\"xpSelectType(type)\">\r\n <div>{{type.label}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\r\n <h2 translate>eo.search.mode.expert.support.field</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n -->\r\n </div>\r\n </ng-template>\r\n </div>\r\n</eo-dialog>\r\n",
|
|
4774
|
+
template: "<eo-dialog class=\"eo-app-search-dialog\" [appendTo]=\"''\" [visible]=\"true\" (hide)=\"closeSearchMenu($event)\">\r\n\r\n <div class=\"eo-app-search\" [ngClass]=\"{expert: query.expertMode}\" eoRtlAware=\"full\" *ngIf=\"query\">\r\n\r\n <div class=\"head\">\r\n\r\n <div class=\"search\">\r\n <form (submit)=\"executeSearch()\">\r\n <div class=\"title\" translate>eo.search</div>\r\n\r\n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\r\n\r\n <div class=\"search-box\">\r\n <p-autoComplete *ngIf=\"!query.expertMode; else expertInput\" #searchInput class=\"form-control\"\r\n [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\" [suggestions]=\"autocompleteResults\"\r\n (onSelect)=\"autocompleteSelect()\" (completeMethod)=\"autocompleteSuggest($event)\" (paste)=\"autocompletePaste($event)\"\r\n (onClear)=\"autocompleteSuggest()\" [delay]=\"500\" [minLength]=\"3\"></p-autoComplete>\r\n\r\n <ng-template #expertInput>\r\n <input autofocus=\"autofocus\" class=\"expert-search__input\" #xpinput type=\"text\"\r\n (ngModelChange)=\"expertTermChanged()\" [(ngModel)]=\"query.term\" [ngModelOptions]=\"{standalone: true}\">\r\n </ng-template>\r\n\r\n <button class=\"btn expert-mode\" type=\"button\" (click)=\"toggleExpertMode()\">\r\n <!--<span translate>eo.search.mode.expert</span>-->\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert' | translate)\" *ngIf=\"!query?.expertMode; else close\"></eo-icon>\r\n <ng-template #close>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_expert-search.svg'\"\r\n [iconTitle]=\"('eo.search.mode.expert.close' | translate)\"></eo-icon>\r\n </ng-template>\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn expert-mode expert-mode__reset\" [ngClass]=\"{active: query.term}\"\r\n (click)=\"resetExpertModeInput()\">\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.clear.search' | translate)\"></eo-icon>\r\n </button>\r\n\r\n <button class=\"btn btn-default\" type=\"submit\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <div class=\"result\" *ngIf=\"!loading; else spinner\">{{queryState.totalCount | localeDecimal}}</div>\r\n <ng-template #spinner>\r\n <eo-loading-spinner class=\"search-aggregator__loader\" [size]=\"'medium'\" [mode]=\"'dark'\"></eo-loading-spinner>\r\n </ng-template>\r\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\r\n [iconTitle]=\"('eo.search.close' | translate)\" (click)=\"closeSearchMenu($event)\"></eo-icon>\r\n\r\n </div>\r\n\r\n <div class=\"body\" *ngIf=\"!query.expertMode; else expert\">\r\n\r\n <p-tabView [styleClass]=\"'tab-main'\" (onChange)=\"onTabChange($event.index)\" [activeIndex]=\"activeTabIndex\">\r\n <!-- object type restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.type'|translate}}\" headerStyleClass=\"search-tab-objecttype\">\r\n\r\n <!-- object type selection -->\r\n <div class=\"object-types rest-box-container\" [ngClass]=\"{idxenabled: query.types.length < 1}\"\r\n *ngIf=\"objectTypeGroups && !idxSearch\">\r\n <div class=\"group rest-box\" *ngFor=\"let group of objectTypeGroups\">\r\n <h3 *ngIf=\"group.label !== '0'\">{{group.label}}</h3>\r\n <h3 *ngIf=\"group.label === '0'\" translate>{{'eo.search.group.general'}}</h3>\r\n <div class=\"type\" *ngFor=\"let type of group.types\"\r\n [ngClass]=\"{context: type.isContextFolder, folder: type.isFolder, abstract: type.isAbstract, selected: isTypeActive(type), saved: isTypeSaved(type)}\">\r\n\r\n <div class=\"checkbox\" (click)=\"toggleType(type)\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"item\" (click)=\"selectObjectType(type)\">\r\n <eo-icon [objectType]=\"type\"></eo-icon>\r\n <div class=\"label\">{{type.label}} {{type.isAbstract ? '('+ ('eo.search.type.abstract' | translate) + ')' : ''}}</div>\r\n <div class=\"count\">{{getAggregationCount(type) | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- indexdata search -->\r\n <div class=\"indexdata-search\" *ngIf=\"idxSearch\">\r\n <h2>\r\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_arrow_back.svg'\"\r\n (click)=\"exitIndexdataSearch()\"></eo-icon>\r\n <span translate [translateParams]=\"{type: idxSearch.type.label}\">eo.search.objecttype.form</span>\r\n </h2>\r\n\r\n <!-- context type selection -->\r\n <div class=\"context\" *ngIf=\"idxSearch.contextModels.length\">\r\n\r\n <div class=\"context-select\">\r\n <div translate>eo.search.objecttype.form.context</div>\r\n <div class=\"spacer\"></div>\r\n\r\n <eo-context-search *ngFor=\"let ctx of idxSearch.contextModels; index as i\" [ctx]=\"ctx\" [query]=\"query\"\r\n [selected]=\"currentContextFolderName === ctx.name\"\r\n [disabled]=\"(currentContextFolderName && currentContextFolderName !== ctx.name)\"\r\n [idxSearch]=\"idxSearch\" (setContext)=\"setContext($event)\">\r\n </eo-context-search>\r\n </div>\r\n\r\n <section class=\"context form\">\r\n <eo-object-form class=\"dark\" #ctxform\r\n *ngIf=\"idxSearch.contextFormOptions && idxSearch.contextFormOptions?.formModel?.elements?.length\"\r\n [formOptions]=\"idxSearch.contextFormOptions\" (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n\r\n\r\n <section class=\"object-type form\" *ngIf=\"idxSearch.formOptions\">\r\n <eo-object-form #idxform [formOptions]=\"idxSearch.formOptions\"\r\n (statusChanged)=\"onIndexDataChanged($event)\">\r\n </eo-object-form>\r\n </section>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <!-- created restriction panel -->\r\n <p-tabPanel header=\"{{'eo.search.restrict.creation' | translate}}\" headerStyleClass=\"search-tab-created\">\r\n\r\n <div class=\"created rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.CREATED]\"\r\n (click)=\"toggleFilter(PARAMS.CREATED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #createdForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #createdField [(ngModel)]=\"filtersModel[PARAMS.CREATED].value\" name=\"range\"\r\n [operator]=\"filtersModel[PARAMS.CREATED].value ? filtersModel[PARAMS.CREATED].value.operator : OPERATOR.EQUAL\"\r\n [withTime]=\"createdField.searchOption && createdField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATED, OPERATOR.EQUAL, $event, createdForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-creator\">\r\n <h3 translate>eo.search.agg.creator</h3>\r\n <form #creatorForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.createdby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.CREATOR].value\" name=\"creator\"\r\n (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.CREATOR], $event)\" [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.CREATOR, OPERATOR.IN, $event, creatorForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n </div>\r\n\r\n </p-tabPanel>\r\n <p-tabPanel header=\"{{'eo.search.restrict.modification'|translate}}\" headerStyleClass=\"search-tab-changed\">\r\n\r\n <div class=\"modified rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-timespan\">\r\n <h3 translate>eo.search.agg.time.span</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MODIFIED]\"\r\n (click)=\"toggleFilter(PARAMS.MODIFIED, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-timespan-custom\">\r\n <h3 translate>eo.search.agg.time.span.custom</h3>\r\n <form #modifiedForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.time.span' | translate\">\r\n <eo-datetime-range #modifiedField [(ngModel)]=\"filtersModel[PARAMS.MODIFIED].value\" name=\"range\"\r\n [operator]=\"filtersModel[PARAMS.MODIFIED].value ? filtersModel[PARAMS.MODIFIED].value.operator : OPERATOR.EQUAL\"\r\n [withTime]=\"modifiedField.searchOption && modifiedField.searchOption !== OPERATOR.EQUAL\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIED, OPERATOR.EQUAL, $event, modifiedForm)\">\r\n </eo-datetime-range>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n\r\n <div class=\"rest-box box-modifier\">\r\n <h3 translate>eo.search.agg.modifier</h3>\r\n <form #modifierForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.agg.modifiedby' | translate\">\r\n <eo-organization [multiselect]=\"true\" [(ngModel)]=\"filtersModel[PARAMS.MODIFIER].value\"\r\n name=\"modifier\" (onValueResolved)=\"resolveLabel(filtersModel[PARAMS.MODIFIER], $event)\"\r\n [situation]=\"'SEARCH'\"\r\n (ngModelChange)=\"setFilter(PARAMS.MODIFIER, OPERATOR.IN, $event, modifierForm)\"></eo-organization>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n\r\n <p-tabPanel header=\"{{'eo.search.restrict.file'|translate}}\" headerStyleClass=\"search-tab-docfile\">\r\n <div class=\"file rest-box-container\" *ngIf=\"queryState.aggregations\">\r\n\r\n <div class=\"rest-box box-mimetype-group\">\r\n <h3 translate>eo.search.restrict.mimetypegroup</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.MIMETYPEGROUP]\"\r\n (click)=\"setFilter(PARAMS.MIMETYPEGROUP, OPERATOR.IN, resolveSelection(aggregationsModel[PARAMS.MIMETYPEGROUP], agg.key, agg.selected))\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"checkbox\">\r\n <svg fill=\"#ffffff\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\r\n </svg>\r\n </div>\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filesize\">\r\n <h3 translate>eo.search.restrict.filesize</h3>\r\n <div class=\"rest-item\" *ngFor=\"let agg of aggregationsModel[PARAMS.FILESIZE]\"\r\n (click)=\"toggleFilter(PARAMS.FILESIZE, OPERATOR.RANGE, agg.key, agg.selected)\"\r\n [ngClass]=\"{selected: agg.selected, saved: agg.saved}\">\r\n <div class=\"label\">{{agg.label}}</div>\r\n <div class=\"count\">{{agg.value | localeDecimal}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"rest-box box-filename\">\r\n <h3 translate>eo.search.restrict.filename</h3>\r\n <form #filenameForm=\"ngForm\">\r\n <eo-form-input [label]=\"'eo.search.restrict.filename' | translate\">\r\n <eo-string [autocomplete]=\"true\" [qname]=\"'filename'\"\r\n [(ngModel)]=\"filtersModel[PARAMS.FILENAME].value\" name=\"filename\"\r\n (ngModelChange)=\"setFilter(PARAMS.FILENAME, OPERATOR.EQUAL, $event, filenameForm)\"></eo-string>\r\n </eo-form-input>\r\n </form>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n\r\n\r\n <!-- summary of the current search filters -->\r\n <div class=\"summary-panel\">\r\n\r\n <div class=\"headline stored-query\" *ngIf=\"isStoredQuery; else reghead\">\r\n <div class=\"pre\" translate>eo.search.aside.summary.storedquery</div>\r\n <div class=\"stored-query-name\">{{storedQuery.name}}</div>\r\n </div>\r\n\r\n <ng-template #reghead>\r\n <div class=\"headline\" translate>eo.search.aside.summary</div>\r\n </ng-template>\r\n\r\n <section class=\"query-types\">\r\n <!-- search term -->\r\n <div class=\"section section-searchterm\" *ngIf=\"query.term\">\r\n <div class=\"title\" translate>eo.search.aside.summary.term</div>\r\n <div class=\"filter\">\r\n <div class=\"label\">{{query.term}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeTerm()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- context type -->\r\n <div class=\"section section-contexttype\" *ngIf=\"query.contextFolderTypes.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.contextfoldertypes</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.contextFolderTypes\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeContextType()\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <!-- object type -->\r\n <div class=\"section section-objecttype\" *ngIf=\"query.types.length\">\r\n <div class=\"title\" translate>eo.search.aside.summary.types</div>\r\n <div class=\"filter\" *ngFor=\"let type of query.types\">\r\n <div class=\"label\">{{type.label}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"removeType(type)\"></eo-icon>\r\n </div>\r\n </div>\r\n\r\n <ng-template #filterTemplate let-filter let-translate>\r\n <ng-container *ngIf=\"filter.innerValue.length\">\r\n <div class=\"filter\" *ngFor=\"let val of filter.innerValue; index as i\">\r\n <div class=\"label\">{{filter.label[i] | async}}</div>\r\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"resetFilter(filter, val)\"></eo-icon>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <div class=\"section section-creation\"\r\n *ngIf=\"filtersModel[PARAMS.CREATED].innerValue.length || filtersModel[PARAMS.CREATOR].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.creation</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.CREATOR] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-modification\"\r\n *ngIf=\"filtersModel[PARAMS.MODIFIED].innerValue.length || filtersModel[PARAMS.MODIFIER].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.modification</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIED] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MODIFIER] }\"></ng-template>\r\n </div>\r\n\r\n <div class=\"section section-mimetypegroup\"\r\n *ngIf=\"filtersModel[PARAMS.MIMETYPEGROUP].innerValue.length || filtersModel[PARAMS.FILESIZE].innerValue.length || filtersModel[PARAMS.FILENAME].innerValue.length\">\r\n <div class=\"title\" translate>eo.search.restrict.file</div>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.MIMETYPEGROUP] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILESIZE] }\"></ng-template>\r\n <ng-template [ngTemplateOutlet]=\"filterTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: filtersModel[PARAMS.FILENAME] }\"></ng-template>\r\n </div>\r\n </section>\r\n\r\n <div class=\"actions\" *ngIf=\"query.term || query.filters.length || query.types.length; else emptySearch\">\r\n\r\n <ng-container *ngIf=\"isStoredQuery; else regactions\">\r\n <button class=\"secondary btn-reset\" (click)=\"resetQuery()\" translate>eo.search.storedquery.close</button>\r\n <button class=\"primary grey btn-update\" (click)=\"updateStoredQuery()\"\r\n *ngIf=\"capabilities.storedqueries && isOwnQuery\" translate>eo.search.storedquery.update</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-container>\r\n\r\n <ng-template #regactions>\r\n <button class=\"primary grey btn-reset\" (click)=\"resetQuery()\" translate>eo.search.reset</button>\r\n <button class=\"primary grey btn-save\" (click)=\"saveQuery()\"\r\n *ngIf=\"capabilities.storedqueries && !isOwnQuery\" translate>eo.search.save</button>\r\n <button class=\"primary btn-submit\" (click)=\"executeSearch()\" [disabled]=\"queryState.isEmpty\"\r\n translate>eo.search.submit</button>\r\n </ng-template>\r\n\r\n\r\n </div>\r\n\r\n <ng-template #emptySearch>\r\n <div class=\"empty-search\" translate>eo.search.summary.empty</div>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n <!-- expert mode body panel containing explanations -->\r\n <ng-template #expert>\r\n <div class=\"body expert\">\r\n\r\n <div class=\"empty\" *ngIf=\"expertModeQueryEmpty\"><span translate>eo.search.mode.expert.result.empty</span></div>\r\n\r\n <!--\r\n <h2><span translate>eo.search.mode.expert</span></h2>\r\n <div class=\"intro\" translate>eo.search.mode.expert.intro</div>\r\n\r\n <div class=\"base-params fields\">\r\n <h2 translate>eo.search.mode.expert.support.baseparams</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.baseParams\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"system-types fields\">\r\n\r\n <div class=\"column column-group\">\r\n <h2 translate>eo.search.mode.expert.support.group</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let group of typeGroupTree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedGroup && group.id === expertModeSupport.selectedGroup.id}\"\r\n (click)=\"xpSelectGroup(group)\">\r\n <div *ngIf=\"group.label !== '0'\">{{group.label}}</div>\r\n <div *ngIf=\"group.label === '0'\">{{'eo.search.group.general' | translate}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column column-type\" *ngIf=\"expertModeSupport.selectedGroup\">\r\n <h2 translate>eo.search.mode.expert.support.type</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let type of expertModeSupport.selectedGroup.tree\"\r\n [ngClass]=\"{selected: expertModeSupport.selectedType && type.id === expertModeSupport.selectedType.id}\"\r\n (click)=\"xpSelectType(type)\">\r\n <div>{{type.label}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"column section-field\" *ngIf=\"expertModeSupport.selectedType\">\r\n <h2 translate>eo.search.mode.expert.support.field</h2>\r\n <div class=\"items\">\r\n <div class=\"item\" *ngFor=\"let el of expertModeSupport.selectedType.children\" (click)=\"xpAddToTerm(el.data)\">\r\n <div class=\"label\"><span>{{el.label}}</span><span class=\"type\">{{el.type}}</span></div>\r\n <div class=\"data\">{{el.data}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n -->\r\n </div>\r\n </ng-template>\r\n </div>\r\n</eo-dialog>\r\n",
|
|
4764
4775
|
encapsulation: ViewEncapsulation.None
|
|
4765
4776
|
// todo: apply onPush change detection (agg search result right now doesn't update)
|
|
4766
4777
|
// changeDetection: ChangeDetectionStrategy.OnPush
|
|
@@ -5513,7 +5524,12 @@ class CheckboxComponent {
|
|
|
5513
5524
|
this.propagateChange(this.value);
|
|
5514
5525
|
}
|
|
5515
5526
|
writeValue(value) {
|
|
5516
|
-
|
|
5527
|
+
if (typeof value === 'undefined') {
|
|
5528
|
+
this.value = null;
|
|
5529
|
+
}
|
|
5530
|
+
else {
|
|
5531
|
+
this.value = value;
|
|
5532
|
+
}
|
|
5517
5533
|
}
|
|
5518
5534
|
registerOnChange(fn) {
|
|
5519
5535
|
this.propagateChange = fn;
|
|
@@ -5530,7 +5546,7 @@ class CheckboxComponent {
|
|
|
5530
5546
|
CheckboxComponent.decorators = [
|
|
5531
5547
|
{ type: Component, args: [{
|
|
5532
5548
|
selector: 'eo-checkbox',
|
|
5533
|
-
template: "<div [class.tristate]=\"tristate\" *ngIf=\"tristate; else twostate\">\r\n <p-triStateCheckbox [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"readonly\"\r\n [ngClass]=\"{undefined: value
|
|
5549
|
+
template: "<div [class.tristate]=\"tristate\" *ngIf=\"tristate; else twostate\">\r\n <p-triStateCheckbox [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"readonly\"\r\n [ngClass]=\"{undefined: value === null}\"></p-triStateCheckbox>\r\n <eo-icon *ngIf=\"!readonly && value !== null && tristate\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"reset()\"></eo-icon>\r\n</div>\r\n\r\n<ng-template #twostate>\r\n <p-checkbox binary=\"true\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"readonly\"\r\n [ngClass]=\"{undefined: value === null}\"></p-checkbox>\r\n</ng-template>\r\n\r\n",
|
|
5534
5550
|
providers: [
|
|
5535
5551
|
{
|
|
5536
5552
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -5820,6 +5836,7 @@ class DatetimeRangeComponent {
|
|
|
5820
5836
|
constructor(fb, translate) {
|
|
5821
5837
|
this.fb = fb;
|
|
5822
5838
|
this.translate = translate;
|
|
5839
|
+
this.operator = 'eq';
|
|
5823
5840
|
this.isValid = true;
|
|
5824
5841
|
// options for search situation
|
|
5825
5842
|
this.availableSearchOptions = [
|
|
@@ -5828,8 +5845,6 @@ class DatetimeRangeComponent {
|
|
|
5828
5845
|
{ label: RangeValue.getOperatorLabel(SearchFilter.OPERATOR.LESS_OR_EQUAL), value: SearchFilter.OPERATOR.LESS_OR_EQUAL },
|
|
5829
5846
|
{ label: RangeValue.getOperatorLabel(SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH), value: SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH }
|
|
5830
5847
|
];
|
|
5831
|
-
// the selected search option
|
|
5832
|
-
this.searchOption = this.availableSearchOptions[0].value;
|
|
5833
5848
|
this.propagateChange = (_) => {
|
|
5834
5849
|
};
|
|
5835
5850
|
this.datePipe = new LocaleDatePipe(translate);
|
|
@@ -5909,6 +5924,7 @@ class DatetimeRangeComponent {
|
|
|
5909
5924
|
return (this.isValid) ? null : err;
|
|
5910
5925
|
}
|
|
5911
5926
|
ngOnInit() {
|
|
5927
|
+
this.searchOption = this.operator;
|
|
5912
5928
|
this.createForm();
|
|
5913
5929
|
this.onFormValueChange();
|
|
5914
5930
|
}
|
|
@@ -5938,7 +5954,8 @@ DatetimeRangeComponent.ctorParameters = () => [
|
|
|
5938
5954
|
];
|
|
5939
5955
|
DatetimeRangeComponent.propDecorators = {
|
|
5940
5956
|
withTime: [{ type: Input }],
|
|
5941
|
-
pickerTitle: [{ type: Input }]
|
|
5957
|
+
pickerTitle: [{ type: Input }],
|
|
5958
|
+
operator: [{ type: Input }]
|
|
5942
5959
|
};
|
|
5943
5960
|
|
|
5944
5961
|
const moment = moment_;
|
|
@@ -16082,10 +16099,11 @@ ActionModule.decorators = [
|
|
|
16082
16099
|
];
|
|
16083
16100
|
|
|
16084
16101
|
class AppLayoutComponent extends UnsubscribeOnDestroy {
|
|
16085
|
-
constructor(cd, layoutService) {
|
|
16102
|
+
constructor(cd, layoutService, pendingChanges) {
|
|
16086
16103
|
super();
|
|
16087
16104
|
this.cd = cd;
|
|
16088
16105
|
this.layoutService = layoutService;
|
|
16106
|
+
this.pendingChanges = pendingChanges;
|
|
16089
16107
|
this.areas = [];
|
|
16090
16108
|
}
|
|
16091
16109
|
get disableCache() {
|
|
@@ -16104,7 +16122,9 @@ class AppLayoutComponent extends UnsubscribeOnDestroy {
|
|
|
16104
16122
|
// }
|
|
16105
16123
|
// this.toggleCache(area.visible);
|
|
16106
16124
|
// }
|
|
16107
|
-
this.
|
|
16125
|
+
if (!this.pendingChanges.check()) {
|
|
16126
|
+
this.layoutService.toggleArea(area);
|
|
16127
|
+
}
|
|
16108
16128
|
}
|
|
16109
16129
|
undock() {
|
|
16110
16130
|
this.layoutService.undockArea();
|
|
@@ -16131,7 +16151,8 @@ AppLayoutComponent.decorators = [
|
|
|
16131
16151
|
];
|
|
16132
16152
|
AppLayoutComponent.ctorParameters = () => [
|
|
16133
16153
|
{ type: ChangeDetectorRef },
|
|
16134
|
-
{ type: LayoutService }
|
|
16154
|
+
{ type: LayoutService },
|
|
16155
|
+
{ type: PendingChangesService }
|
|
16135
16156
|
];
|
|
16136
16157
|
AppLayoutComponent.propDecorators = {
|
|
16137
16158
|
areas: [{ type: Input }],
|
|
@@ -17479,7 +17500,7 @@ TabViewNavComponent.decorators = [
|
|
|
17479
17500
|
{ type: Component, args: [{
|
|
17480
17501
|
selector: 'eo-tab-view-nav',
|
|
17481
17502
|
template: "<div cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"tabs\" (cdkDropListDropped)=\"onHeaderDrop.emit($event)\">\r\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\r\n <li cdkDrag [cdkDragData]=\"tab\" [cdkDragDisabled]=\"!dndEnabled\" [class]=\"getDefaultHeaderClass(tab)\" [ngStyle]=\"tab.headerStyle\" role=\"presentation\"\r\n [ngClass]=\"{'ui-tabview-selected ui-state-active': tab.selected, 'ui-state-disabled': tab.disabled}\"\r\n (click)=\"clickTab($event,tab)\" *ngIf=\"!tab.closed\">\r\n <a [attr.id]=\"tab.id + '-label'\" href=\"#\" role=\"tab\" [attr.aria-selected]=\"tab.selected\" [attr.aria-controls]=\"tab.id\">\r\n <span class=\"ui-tabview-left-icon fa\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon\"></span>\r\n <span class=\"ui-tabview-title\">{{tab.header}}</span>\r\n <span class=\"ui-tabview-right-icon fa\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon\"></span>\r\n </a>\r\n <span *ngIf=\"tab.closable\" class=\"ui-tabview-close pi pi-times\" (click)=\"clickClose($event,tab)\"></span>\r\n </li>\r\n </ng-template>\r\n</div>",
|
|
17482
|
-
styles: [".cdk-drop-list{display:flex;flex-wrap:
|
|
17503
|
+
styles: [".cdk-drop-list{display:flex;flex-wrap:wrap;margin-right:30px;overflow:auto hidden;width:100%}.cdk-drop-list::-webkit-scrollbar{height:0}.cdk-drag{cursor:pointer}.cdk-drag a{pointer-events:none}.cdk-drag-preview{border:none;list-style:none;opacity:.3}.cdk-drag-placeholder{border:none;list-style:none;opacity:.7}.cdk-drop-list-dragging .cdk-drag{cursor:move;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}"]
|
|
17483
17504
|
},] }
|
|
17484
17505
|
];
|
|
17485
17506
|
TabViewNavComponent.propDecorators = {
|
|
@@ -19322,7 +19343,7 @@ class UploadOverlayComponent {
|
|
|
19322
19343
|
}
|
|
19323
19344
|
if (!this.invalidInput) {
|
|
19324
19345
|
this.setFileOver(true);
|
|
19325
|
-
this.onFilesDropped(transfer.files);
|
|
19346
|
+
this.onFilesDropped(Array.from(transfer.files));
|
|
19326
19347
|
}
|
|
19327
19348
|
}
|
|
19328
19349
|
}
|
|
@@ -19388,8 +19409,8 @@ class UploadOverlayComponent {
|
|
|
19388
19409
|
// clear queue when new files are added
|
|
19389
19410
|
// todo: remove in future releases to support collective file adding
|
|
19390
19411
|
this.queue = [];
|
|
19391
|
-
for (let
|
|
19392
|
-
this.queue.push(new UploadFileItem(
|
|
19412
|
+
for (let file of fileItems) {
|
|
19413
|
+
this.queue.push(new UploadFileItem(file));
|
|
19393
19414
|
}
|
|
19394
19415
|
// bind ESC key listener for closing the dialog as late as possible
|
|
19395
19416
|
if (!this.escKeyListener) {
|
|
@@ -21682,6 +21703,8 @@ class SettingsComponent extends UnsubscribeOnDestroy {
|
|
|
21682
21703
|
this.storageService = storageService;
|
|
21683
21704
|
this.translate = translate;
|
|
21684
21705
|
this.LockSettings = LockSettings;
|
|
21706
|
+
this.showAgentConfig = true;
|
|
21707
|
+
this.defaultLockSetting = false;
|
|
21685
21708
|
this.cache = {
|
|
21686
21709
|
system: true,
|
|
21687
21710
|
history: true,
|
|
@@ -21693,8 +21716,16 @@ class SettingsComponent extends UnsubscribeOnDestroy {
|
|
|
21693
21716
|
this.getSchemaLocales();
|
|
21694
21717
|
this.getUserData();
|
|
21695
21718
|
this.agentLockSettings = userService.getCurrentUser().userSettings.alwayslock;
|
|
21696
|
-
this.agentService.isConnected$.pipe(take(1)).subscribe((isConnected) => {
|
|
21719
|
+
this.agentService.isConnected$.pipe(take(1), withLatestFrom(this.agentService.agentConfig$)).subscribe(([isConnected, config]) => {
|
|
21697
21720
|
this.useAgentControl = this.fb.control(isConnected);
|
|
21721
|
+
if (config.hasOwnProperty(agentConfigKeys.AUTOCONNECT)) {
|
|
21722
|
+
this.showAgentConfig = config[agentConfigKeys.AUTOCONNECT];
|
|
21723
|
+
this.useAgentControl.disable();
|
|
21724
|
+
}
|
|
21725
|
+
if (config.hasOwnProperty(agentConfigKeys.LOCKSETTINGS) && Object.values(LockSettings).includes(config[agentConfigKeys.LOCKSETTINGS])) {
|
|
21726
|
+
this.defaultLockSetting = true;
|
|
21727
|
+
this.agentLockSettings = config[agentConfigKeys.LOCKSETTINGS];
|
|
21728
|
+
}
|
|
21698
21729
|
this.useAgentControl.valueChanges.pipe(takeUntil(this.componentDestroyed$)).subscribe(() => this.agentService.isConnected = this.useAgentControl.value);
|
|
21699
21730
|
});
|
|
21700
21731
|
}
|
|
@@ -21774,8 +21805,8 @@ class SettingsComponent extends UnsubscribeOnDestroy {
|
|
|
21774
21805
|
SettingsComponent.decorators = [
|
|
21775
21806
|
{ type: Component, args: [{
|
|
21776
21807
|
selector: 'eo-settings',
|
|
21777
|
-
template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\r\n\r\n <div class=\"header\">\r\n\r\n <div #header class=\"bg\"></div>\r\n <div class=\"fill\">\r\n <div class=\"meta username\">{{user.name}}</div>\r\n <h1>{{user.firstname}} {{user.lastname}}</h1>\r\n <div class=\"meta email\">{{user.email}}</div>\r\n\r\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\r\n <button class=\"toggle dark present\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"
|
|
21778
|
-
styles: [":host{bottom:0;justify-content:center;left:0;position:absolute;right:0;top:0}:host,:host .cache{display:flex;flex-flow:row}:host .cache{margin:0 var(--app-pane-padding)}.eo-settings{background:var(--color-white);box-shadow:0 2px 5px 0 rgba(0,0,0,.2);box-sizing:border-box;display:flex;flex-flow:column;margin:var(--app-pane-padding);width:800px}@media (max-width:832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{flex:1 1;max-height:300px;min-height:200px;position:relative}@media (max-width:480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;margin:0;padding:0}.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{background-position:50%;background-size:cover;bottom:0;filter:grayscale(1);left:0;position:absolute;right:0;top:0}.eo-settings .header .fill{background:rgba(var(--color-primary-rgb),.85);bottom:0;color:var(--color-white);left:0;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.eo-settings .header .userImage{background-position:50%;background-size:cover;border:4px solid var(--color-white);bottom:calc(var(--app-pane-padding)*-1);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26);height:150px;position:absolute;right:var(--app-pane-padding);width:150px;z-index:1}@media (max-width:480px){.eo-settings .header .userImage{height:105px;width:105px}}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{bottom:0;box-sizing:border-box;left:0;overflow-y:auto;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.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{border-radius:2px;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-settings .body .section.section-deputies form.dirty{background-color:rgba(var(--color-black-rgb),.06);padding: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{align-items:center;display:flex;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{border:0;border-radius:4px;color:var(--color-white);height:calc(var(--app-pane-padding)*0.6);width:calc(var(--app-pane-padding)*0.75)}.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;min-height:27px;padding:0 0 2px 2px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{border-color:transparent;opacity:1}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:0 0 0 150px}@media (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{height:0;opacity:0;overflow:hidden;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{height:100%;opacity:1}@media (max-width:480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{color:var(--text-color-caption);flex:0 0 150px}@media (max-width:480px){.eo-settings .body .section .entry .label{flex:0 0 auto;margin-bottom:calc(var(--app-pane-padding)/2)}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{cursor:pointer;margin:0 4px 4px 0}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .use-agent{align-items:center;display:flex}.eo-settings .body .section .entry .use-agent .use-agent-label{color:var(--text-color-caption);margin:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{border-radius:50%;box-sizing:border-box;color:var(--text-color-caption);margin:0;padding:3px}.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{align-items:flex-start;display:flex;flex-flow:column}.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{color:var(--text-color-hint);height:18px;width:18px}.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{color:var(--text-color-caption);font-size:var(--font-caption)}.eo-settings .body .toggle-btn{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);border-radius:2px;color:var(--text-color-caption);cursor:pointer;display:inline-block;margin-right:3px;padding:2px 5px;text-decoration:none}.eo-settings.rtl .header .userImage{left:var(--app-pane-padding);right:auto}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}"]
|
|
21808
|
+
template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\r\n\r\n <div class=\"header\">\r\n\r\n <div #header class=\"bg\"></div>\r\n <div class=\"fill\">\r\n <div class=\"meta username\">{{user.name}}</div>\r\n <h1>{{user.firstname}} {{user.lastname}}</h1>\r\n <div class=\"meta email\">{{user.email}}</div>\r\n\r\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\r\n <button class=\"toggle dark present\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\r\n translate>eo.state.settings.presence.present</button>\r\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" [ngClass]=\"{active: !user.present}\"\r\n translate>eo.state.settings.presence.absent</button>\r\n </div>\r\n </div>\r\n <eo-user-avatar class=\"userImage\"></eo-user-avatar>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <div class=\"body-wrap\">\r\n\r\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\r\n <h3 translate>eo.state.settings.deputies</h3>\r\n\r\n <!-- deputies -->\r\n <div class=\"entry\">\r\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\r\n <div class=\"values\">\r\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\r\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\r\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" [(ngModel)]=\"deputies.data\"></eo-organization>\r\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\r\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\r\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <!-- substitute of -->\r\n <div class=\"entry substitute\">\r\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\r\n <div class=\"values\">\r\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\r\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\r\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\r\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\r\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\r\n <span>{{sub.title}} ({{sub.name}})</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- password -->\r\n <section *ngIf=\"!isCloud && !isSSO || !isCloud && isSSO\" class=\"section section-password\">\r\n <div class=\"entry\">\r\n <div class=\"label\" translate>eo.password.reset</div>\r\n <div class=\"values\">\r\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\r\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\r\n\r\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.onTabClose()\"></eo-change-password-form>\r\n </eo-simple-accordion>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <!-- language -->\r\n <div class=\"section section-lang\">\r\n <h3 translate>eo.state.settings.language</h3>\r\n <div class=\"entry lang-app\">\r\n <div class=\"label\" translate>eo.state.settings.language.client</div>\r\n <div class=\"values\">\r\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\r\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\r\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"entry lang-def\">\r\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\r\n <div class=\"values\">\r\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\r\n [ngClass]=\"{active: activeSchema === locale.code}\"\r\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- permissions -->\r\n <div class=\"section section-perm\">\r\n <h3 translate>eo.state.settings.permission</h3>\r\n <div class=\"entry perm-roles\">\r\n <div class=\"label\" translate>eo.state.settings.roles</div>\r\n <div class=\"values roles\">\r\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\r\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\r\n </eo-simple-accordion>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- agent -->\r\n <div class=\"section section-others\" *ngIf=\"!isCloud\">\r\n <h3 translate>eo.state.settings.others</h3>\r\n <ng-container *ngIf=\"showAgentConfig\">\r\n <div class=\"entry\">\r\n <div class=\"label\" translate>eo.state.settings.agent</div>\r\n <div class=\"values\">\r\n <div class=\"use-agent\">\r\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\r\n *ngIf=\"useAgentControl\"></eo-checkbox>\r\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\r\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\r\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\r\n </a> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\r\n <div class=\"label\" translate>eo.state.settings.lock</div>\r\n <div class=\"values\">\r\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\r\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\r\n translate>eo.state.settings.lock.enable</button>\r\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\r\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\r\n translate>eo.state.settings.lock.disable</button>\r\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\r\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\r\n translate>eo.state.settings.lock.ask</button>\r\n </div>\r\n </div>\r\n\r\n\r\n </ng-container>\r\n\r\n <div class=\"entry\">\r\n <div class=\"label\" translate>eo.state.settings.cache</div>\r\n <div class=\"values\">\r\n <div class=\"flex-row\">\r\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\r\n <div class=\"cache\">\r\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\r\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\r\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\r\n </eo-form-input>\r\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\r\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\r\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\r\n </eo-form-input>\r\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\r\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\r\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\r\n </eo-form-input>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n</div>",
|
|
21809
|
+
styles: [":host{bottom:0;justify-content:center;left:0;position:absolute;right:0;top:0}:host,:host .cache{display:flex;flex-flow:row}:host .cache{margin:0 var(--app-pane-padding)}.eo-settings{background:var(--color-white);box-shadow:0 2px 5px 0 rgba(0,0,0,.2);box-sizing:border-box;display:flex;flex-flow:column;margin:var(--app-pane-padding);width:800px}@media (max-width:832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{flex:1 1;max-height:300px;min-height:200px;position:relative}@media (max-width:480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;margin:0;padding:0}.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{background-position:50%;background-size:cover;bottom:0;filter:grayscale(1);left:0;position:absolute;right:0;top:0}.eo-settings .header .fill{background:rgba(var(--color-primary-rgb),.85);bottom:0;color:var(--color-white);left:0;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.eo-settings .header .userImage{background-position:50%;background-size:cover;border:4px solid var(--color-white);bottom:calc(var(--app-pane-padding)*-1);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26);height:150px;position:absolute;right:var(--app-pane-padding);width:150px;z-index:1}@media (max-width:480px){.eo-settings .header .userImage{height:105px;width:105px}}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{bottom:0;box-sizing:border-box;left:0;overflow-y:auto;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.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{border-radius:2px;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-settings .body .section.section-deputies form.dirty{background-color:rgba(var(--color-black-rgb),.06);padding: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{align-items:center;display:flex;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{border:0;border-radius:4px;color:var(--color-white);height:calc(var(--app-pane-padding)*0.6);width:calc(var(--app-pane-padding)*0.75)}.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;min-height:27px;padding:0 0 2px 2px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{border-color:transparent;opacity:1}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:0 0 0 150px}@media (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{height:0;opacity:0;overflow:hidden;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{height:100%;opacity:1}@media (max-width:480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{color:var(--text-color-caption);flex:0 0 150px}@media (max-width:480px){.eo-settings .body .section .entry .label{flex:0 0 auto;margin-bottom:calc(var(--app-pane-padding)/2)}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{cursor:pointer;margin:0 4px 4px 0}.eo-settings .body .section .entry .values button.active,.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{align-items:center;display:flex}.eo-settings .body .section .entry .use-agent .use-agent-label{color:var(--text-color-caption);margin:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{border-radius:50%;box-sizing:border-box;color:var(--text-color-caption);margin:0;padding:3px}.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{align-items:flex-start;display:flex;flex-flow:column}.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{color:var(--text-color-hint);height:18px;width:18px}.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{color:var(--text-color-caption);font-size:var(--font-caption)}.eo-settings .body .toggle-btn{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);border-radius:2px;color:var(--text-color-caption);cursor:pointer;display:inline-block;margin-right:3px;padding:2px 5px;text-decoration:none}.eo-settings.rtl .header .userImage{left:var(--app-pane-padding);right:auto}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}"]
|
|
21779
21810
|
},] }
|
|
21780
21811
|
];
|
|
21781
21812
|
SettingsComponent.ctorParameters = () => [
|
|
@@ -22082,10 +22113,10 @@ class AboutStateComponent {
|
|
|
22082
22113
|
this.http = http;
|
|
22083
22114
|
this.userService = userService;
|
|
22084
22115
|
this.config = config;
|
|
22085
|
-
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.0.0
|
|
22116
|
+
this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "6.0.0-beta.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
|
|
22086
22117
|
this.ctrl = {
|
|
22087
22118
|
productName: 'yuuvis® RAD client',
|
|
22088
|
-
clientVersion: '8.0.0
|
|
22119
|
+
clientVersion: '8.0.0'
|
|
22089
22120
|
};
|
|
22090
22121
|
this.licenses = {
|
|
22091
22122
|
'MIT': {
|
|
@@ -23927,5 +23958,5 @@ EoClientModule.ctorParameters = () => [
|
|
|
23927
23958
|
* Generated bundle index. Do not edit.
|
|
23928
23959
|
*/
|
|
23929
23960
|
|
|
23930
|
-
export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppLayoutComponent, AppSearchComponent, AppSearchService, AreaState, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, ContextType, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DatepickerComponent, DatetimeComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PluginComponent, PluginDirective, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SimpleAccordionComponent, SplitAreaComponent, SplitComponent, SplitGutterDirective, SplitModule, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TabContainerComponent, TabContainerModule, TabPanelComponent, TabPluginComponent, TabViewComponent, TabViewNavComponent, TextFilterComponent, TotalCountComponent, TreeComponent, TreeModule, TypeFilter, UNDOCK_WINDOW_NAME, UiModule, UndockSplitComponent, UndockSplitService, UnsubscribeOnDestroy, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, entryComponents, listAnimation, panelLoadingAnimations, ɵ0, ɵ1, PendingChangesGuard as ɵa, UploadOverlayGuard as ɵb, DownloadPdfActionComponent as ɵba, OpenDocumentActionComponent as ɵbb, EmailActionComponent as ɵbc, EmailLinkActionComponent as ɵbd, EmailOriginalActionComponent as ɵbe, EmailPdfActionComponent as ɵbf, ClipboardActionComponent as ɵbg, ClipboardLinkActionComponent as ɵbh, ClipboardOriginalActionComponent as ɵbi, ClipboardPdfActionComponent as ɵbj, FavoriteActionComponent as ɵbk, DeleteActionComponent as ɵbl, DeleteComponent as ɵbm, OpenVersionsActionComponent as ɵbn, RestoreVersionActionComponent as ɵbo, DeletePreparedActionComponent as ɵbp, AddSubscriptionActionComponent as ɵbq, AddSubscriptionComponent as ɵbr, RemoveSubscriptionActionComponent as ɵbs, WorkflowActionComponent as ɵbt, WorkflowComponent as ɵbu, CustomActionsComponent as ɵbv, AddResubmissionActionComponent as ɵbw, AddResubmissionComponent as ɵbx, UpdateResubmissionActionComponent as ɵby, ShareObjectActionComponent as ɵbz, AppShellRoutingModule as ɵc, ShareObjectComponent as ɵca, CutActionComponent as ɵcb, FinalizeActionComponent as ɵcc, DefinalizeActionComponent as ɵcd, DeleteContentActionComponent as ɵce, UnlockActionComponent as ɵcf, SimpleWorkflowActionComponent as ɵcg, PreventDoubleClickDirective as ɵch,
|
|
23961
|
+
export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppLayoutComponent, AppSearchComponent, AppSearchService, AreaState, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, ContextType, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DatepickerComponent, DatetimeComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PluginComponent, PluginDirective, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SimpleAccordionComponent, SplitAreaComponent, SplitComponent, SplitGutterDirective, SplitModule, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TabContainerComponent, TabContainerModule, TabPanelComponent, TabPluginComponent, TabViewComponent, TabViewNavComponent, TextFilterComponent, TotalCountComponent, TreeComponent, TreeModule, TypeFilter, UNDOCK_WINDOW_NAME, UiModule, UndockSplitComponent, UndockSplitService, UnsubscribeOnDestroy, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, agentConfigKeys, entryComponents, listAnimation, panelLoadingAnimations, ɵ0, ɵ1, PendingChangesGuard as ɵa, UploadOverlayGuard as ɵb, DownloadPdfActionComponent as ɵba, OpenDocumentActionComponent as ɵbb, EmailActionComponent as ɵbc, EmailLinkActionComponent as ɵbd, EmailOriginalActionComponent as ɵbe, EmailPdfActionComponent as ɵbf, ClipboardActionComponent as ɵbg, ClipboardLinkActionComponent as ɵbh, ClipboardOriginalActionComponent as ɵbi, ClipboardPdfActionComponent as ɵbj, FavoriteActionComponent as ɵbk, DeleteActionComponent as ɵbl, DeleteComponent as ɵbm, OpenVersionsActionComponent as ɵbn, RestoreVersionActionComponent as ɵbo, DeletePreparedActionComponent as ɵbp, AddSubscriptionActionComponent as ɵbq, AddSubscriptionComponent as ɵbr, RemoveSubscriptionActionComponent as ɵbs, WorkflowActionComponent as ɵbt, WorkflowComponent as ɵbu, CustomActionsComponent as ɵbv, AddResubmissionActionComponent as ɵbw, AddResubmissionComponent as ɵbx, UpdateResubmissionActionComponent as ɵby, ShareObjectActionComponent as ɵbz, AppShellRoutingModule as ɵc, ShareObjectComponent as ɵca, CutActionComponent as ɵcb, FinalizeActionComponent as ɵcc, DefinalizeActionComponent as ɵcd, DeleteContentActionComponent as ɵce, UnlockActionComponent as ɵcf, SimpleWorkflowActionComponent as ɵcg, PreventDoubleClickDirective as ɵch, PendingChangesService as ɵci, EditIconComponent as ɵcj, DuetimeInfoComponent as ɵck, PrepareContentExistsInfoComponent as ɵcl, ObjectStateRoutingModule as ɵcm, InboxStateRoutingModule as ɵcn, PrepareStateRoutingModule as ɵco, EoClientRoutingModule as ɵcp, ProcessStateComponent as ɵcq, AppProcessComponent as ɵd, PipesModule as ɵe, QueryScopeSelectComponent as ɵf, IndexdataSummaryEntryComponent as ɵg, OrderByPipe as ɵh, TreeNodeComponent as ɵi, DatepickerService as ɵj, YearRangeDirective as ɵk, ReferenceFinderComponent as ɵl, fadeInOut as ɵm, ReferenceFinderService as ɵn, ReferenceFinderEntryComponent as ɵo, DynamicListFilterComponent as ɵp, ListFilterComponent as ɵq, PaginationComponent as ɵr, ProcessFormModule as ɵs, ProcessFormComponent as ɵt, ActionComponentAnchorDirective as ɵu, OpenDocumentComponent as ɵv, CopyActionComponent as ɵw, OpenContextActionComponent as ɵx, DownloadActionComponent as ɵy, DownloadOriginalActionComponent as ɵz };
|
|
23931
23962
|
//# sourceMappingURL=eo-sdk-client.js.map
|