@eo-sdk/client 11.0.0-rc.6 → 11.0.0-rc.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/app/eo-client/login/login.component.d.ts +3 -1
  2. package/app/eo-client/login/login.component.d.ts.map +1 -1
  3. package/app/eo-framework/actions/actions/signature-action/signature-action.component.d.ts.map +1 -1
  4. package/app/eo-framework/form-elements/string/string.component.d.ts +1 -0
  5. package/app/eo-framework/form-elements/string/string.component.d.ts.map +1 -1
  6. package/app/eo-framework/frame/frame.component.d.ts +2 -1
  7. package/app/eo-framework/frame/frame.component.d.ts.map +1 -1
  8. package/app/eo-framework/media/media.component.d.ts +9 -18
  9. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  10. package/app/eo-framework/util/services/utilities.service.d.ts +46 -41
  11. package/app/eo-framework/util/services/utilities.service.d.ts.map +1 -1
  12. package/app/eo-framework-core/api/plugins.service.d.ts +4 -0
  13. package/app/eo-framework-core/api/plugins.service.d.ts.map +1 -1
  14. package/assets/_default/i18n/de.json +6 -6
  15. package/assets/_default/i18n/en.json +14 -14
  16. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  17. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget-setup/picture-widget-setup.component.mjs +2 -2
  18. package/esm2022/app/eo-client/dashboard/widgets/picture-widget/picture-widget.component.mjs +4 -3
  19. package/esm2022/app/eo-client/dashboard/widgets/todowidget/todo-widget.component.mjs +2 -2
  20. package/esm2022/app/eo-client/login/login.component.mjs +14 -11
  21. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +6 -6
  22. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
  23. package/esm2022/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -2
  24. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +2 -2
  25. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +2 -2
  26. package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +7 -4
  27. package/esm2022/app/eo-framework/frame/frame.component.mjs +3 -2
  28. package/esm2022/app/eo-framework/media/media.component.mjs +11 -35
  29. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +3 -3
  30. package/esm2022/app/eo-framework-core/api/plugins.service.mjs +45 -1
  31. package/fesm2022/eo-sdk-client.mjs +91 -62
  32. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  33. package/package.json +2 -2
  34. package/proxy.config.json +15 -0
@@ -4,7 +4,7 @@ import * as i1$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, tap as tap$1, fromEvent, firstValueFrom, AsyncSubject, Observable, debounceTime as debounceTime$1, EMPTY, map as map$2, skip, switchMap as switchMap$1, catchError as catchError$1 } from 'rxjs';
7
+ import { ReplaySubject, BehaviorSubject, from, forkJoin, of, Subject, fromEvent, firstValueFrom, AsyncSubject, tap as tap$1, Observable, debounceTime as debounceTime$1, EMPTY, map as map$2, skip, switchMap as switchMap$1, catchError as catchError$1 } from 'rxjs';
8
8
  import { groupBy, mergeMap, reduce, tap, catchError, map, debounceTime, throttleTime, filter as filter$1, switchMap, take as take$1, combineLatest, finalize, pluck, withLatestFrom, first as first$1 } from 'rxjs/operators';
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';
@@ -13,7 +13,7 @@ import { NavigationStart, Router, RouterModule, NavigationEnd } from '@angular/r
13
13
  import { NumberFilter, _, BeanStub, RowNode, Autowired, Bean, ModuleNames, PopupService, SimpleFilter } from '@ag-grid-community/core';
14
14
  import { __decorate } from 'tslib';
15
15
  import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
16
- import { isNaN as isNaN$1, assign, bind, camelCase, capitalize, ceil, chunk, clone, cloneDeep, concat, debounce, each, endsWith, entries, escape, every, extend, filter, find, findIndex, findKey, first, flatMap, floor, forEach, get, groupBy as groupBy$1, has, includes, indexOf, isArray, isDate, isEmpty, isNumber, isObject, isString, join, keys, map as map$1, orderBy, reduce as reduce$1, remove, replace, reverse, set, slice, some, sortBy, split, startsWith, sum, take, uniqBy, values } from 'lodash-es';
16
+ import { isNaN as isNaN$1, assign, bind, camelCase, capitalize, ceil, chunk, clone, cloneDeep, concat, debounce, each, endsWith, entries, escape, every, extend, filter, find, findIndex, findKey, first, flatMap, floor, forEach, forOwn, get, groupBy as groupBy$1, has, includes, indexOf, isArray, isDate, isEmpty, isNumber, isObject, isString, join, keys, map as map$1, orderBy, reduce as reduce$1, remove, replace, reverse, round, set, slice, some, sortBy, split, startsWith, sum, take, uniqBy, values } from 'lodash-es';
17
17
  import * as i1$1 from '@angular/platform-browser';
18
18
  import * as i1$3 from '@angular/forms';
19
19
  import { Validators, UntypedFormControl, UntypedFormGroup, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgModel, FormsModule, ReactiveFormsModule, FormGroup, FormControl, NgForm } from '@angular/forms';
@@ -811,6 +811,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
811
811
  type: Injectable
812
812
  }], ctorParameters: () => [{ type: i1.EventService }] });
813
813
 
814
+ function onLoad() {
815
+ window.addEventListener('message', (e) => {
816
+ console.log(e);
817
+ if (!e || !e.data || !e.data.match || !e.data.match('MessageId'))
818
+ return;
819
+ var data = JSON.parse(e.data);
820
+ if (!data)
821
+ return;
822
+ if (data.MessageId === 'Host_PostmessageObjectUpdating' || data.MessageId === 'Host_PostmessageObjectConverted') {
823
+ setTimeout(() => {
824
+ var btn = window['api'].util.$('eo-object-details .refresh-button');
825
+ btn && btn.click();
826
+ }, 3500);
827
+ }
828
+ else if (data.MessageId === 'UI_EditClick' && data.Values.url) {
829
+ var w = window.open(decodeURIComponent(data.Values.url));
830
+ var http = window['api'].http;
831
+ w.addEventListener('message', (e) => {
832
+ if (!e || !e.data || !e.data.match || !e.data.match('MessageId'))
833
+ return;
834
+ if (e.data.match('User_Activity')) {
835
+ console.log(e);
836
+ http.get('auth/info', '/').then(() => {
837
+ console.log('dashlet session extended...');
838
+ });
839
+ }
840
+ ;
841
+ });
842
+ window['api'].content.windows = (window['api'].content.windows || []).concat([
843
+ w
844
+ ]);
845
+ }
846
+ });
847
+ return () => {
848
+ (window['api'].content.windows || []).forEach(w => w && !w.closed && w.close());
849
+ };
850
+ }
814
851
  const UNDOCK_WINDOW_NAME = 'eoViewer';
815
852
  class PluginsService {
816
853
  get currentUrl() {
@@ -819,6 +856,9 @@ class PluginsService {
819
856
  get api() {
820
857
  return this.getApi();
821
858
  }
859
+ get availableServices() {
860
+ return this.services || [];
861
+ }
822
862
  applyFunction(value, params, args) {
823
863
  const fnc = value?.toString().trim();
824
864
  if (!fnc)
@@ -857,10 +897,14 @@ class PluginsService {
857
897
  CLIPBOARD_AS_PDF: 'eo.agent.action.clipboard-pdf',
858
898
  EXTERNAL: 'eo.agent.action.external'
859
899
  };
900
+ this.unload = () => { };
860
901
  window['api'] = this.api;
861
902
  this.userService
862
903
  .user$
863
904
  .subscribe((user) => this.user = user);
905
+ this.backend.get(`config/services`, '/').subscribe((services) => (this.services = services));
906
+ this.unload = onLoad();
907
+ this.eventService.on(EnaioEvent.LOGOUT).subscribe(() => this.unload());
864
908
  }
865
909
  // todo: create inreface for API
866
910
  getApi() {
@@ -1267,7 +1311,7 @@ class UtilitiesService {
1267
1311
  return typeof val === 'boolean' ? !val : UtilitiesService.isEmpty(val);
1268
1312
  }
1269
1313
  // minimal selection of lodash functions
1270
- static { this.lodash = { assign, bind, camelCase, capitalize, ceil, chunk, clone, cloneDeep, concat, debounce, each, endsWith, entries, escape, every, extend, filter, find, findIndex, findKey, first, flatMap, floor, forEach, get, groupBy: groupBy$1, has, includes, indexOf, isArray, isDate, isEmpty, isNaN: isNaN$1, isNumber, isObject, isString, join, keys, map: map$1, orderBy, reduce: reduce$1, remove, replace, reverse, set, slice, some, sortBy, split, startsWith, sum, take, uniqBy, values }; }
1314
+ static { this.lodash = { assign, bind, camelCase, capitalize, ceil, chunk, clone, cloneDeep, concat, debounce, each, endsWith, entries, escape, every, extend, filter, find, findIndex, findKey, first, flatMap, floor, forEach, forOwn, get, groupBy: groupBy$1, has, includes, indexOf, isArray, isDate, isEmpty, isNaN: isNaN$1, isNumber, isObject, isString, join, keys, map: map$1, orderBy, reduce: reduce$1, remove, replace, reverse, round, set, slice, some, sortBy, split, startsWith, sum, take, uniqBy, values }; }
1271
1315
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UtilitiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1272
1316
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UtilitiesService }); }
1273
1317
  }
@@ -6122,13 +6166,16 @@ class StringComponent {
6122
6166
  this.propagateChange = (_) => {
6123
6167
  };
6124
6168
  }
6169
+ _propagate() {
6170
+ this.propagateChange(this.value?.length ? this.value : null);
6171
+ }
6125
6172
  onKeyUpEnter(event) {
6126
6173
  // applies to multiselect and autocomplete
6127
6174
  const input = event.target.value.trim();
6128
6175
  if (input) {
6129
6176
  this.value = this.value ? this.value : [];
6130
6177
  this.value = [...this.value, input];
6131
- this.propagateChange(this.value);
6178
+ this._propagate();
6132
6179
  event.target.value = '';
6133
6180
  }
6134
6181
  }
@@ -6145,11 +6192,11 @@ class StringComponent {
6145
6192
  onValueChange(evt) {
6146
6193
  this.formatedValue = Utils.formatMailTo(evt, this.classification === 'email');
6147
6194
  this.value = evt;
6148
- this.propagateChange(this.value);
6195
+ this._propagate();
6149
6196
  }
6150
6197
  onBlur() {
6151
6198
  if (this.trimValue()) {
6152
- this.propagateChange(this.value);
6199
+ this._propagate();
6153
6200
  }
6154
6201
  }
6155
6202
  /**
@@ -6630,7 +6677,7 @@ class DynamicListComponent {
6630
6677
  }
6631
6678
  set selectedNodes(n) {
6632
6679
  if (n && !Array.isArray(n)) {
6633
- this.autocompleteFn(n.value);
6680
+ this.autocompleteFn(n.value || n.name);
6634
6681
  }
6635
6682
  this._selectedNodes = structuredClone(n);
6636
6683
  }
@@ -7774,18 +7821,16 @@ let MediaComponent = class MediaComponent {
7774
7821
  this.previewUri = '';
7775
7822
  }
7776
7823
  }
7777
- constructor(translate, dms, renderer, system, config, pluginsService, backend) {
7824
+ constructor(translate, dms, renderer, system, config, pluginsService) {
7778
7825
  this.translate = translate;
7779
7826
  this.dms = dms;
7780
7827
  this.renderer = renderer;
7781
7828
  this.system = system;
7782
7829
  this.config = config;
7783
7830
  this.pluginsService = pluginsService;
7784
- this.backend = backend;
7785
7831
  this.SIZE_LIMIT = 1024 * 1024 * 10; // 10MB
7786
7832
  this.attachments = [];
7787
7833
  this.customConfig = [];
7788
- this.requiredServices = [];
7789
7834
  this.popoutTriggerPosition = PopoutTriggerPosition.BOTTOM_RIGHT;
7790
7835
  this.defaultViewers = [
7791
7836
  {
@@ -7805,8 +7850,7 @@ let MediaComponent = class MediaComponent {
7805
7850
  "viewer": "viewer/view/api/mail/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}"
7806
7851
  },
7807
7852
  {
7808
- "requiredService": "office365",
7809
- "supportsAttachments": false,
7853
+ "disabled": "() => { return availableServices.indexOf('office365') < 0 || file.uriPdf.match(new RegExp('attachment=(\\\\d+)'));}", // disable office365 viewer if not available
7810
7854
  "mimeType": [
7811
7855
  "application/msword",
7812
7856
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
@@ -7830,10 +7874,7 @@ let MediaComponent = class MediaComponent {
7830
7874
  "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"
7831
7875
  ],
7832
7876
  "viewer": "() => { let url = ''; let isLinkedDocument = dmsObject.id !== dmsObject.content.id; url = location.origin + '/dashlet365/?id=' + dmsObject.content.id + '&version=' + (!isLinkedDocument ? dmsObject.version : -1) + '&type=' + dmsObject.content.type + (parameters.mimeType ? '&mimeType=' + parameters.mimeType : ''); return url; }"
7833
- },
7834
- {
7835
- "type": "extend",
7836
- "viewer": "() => { window._o365 = window._o365 || window.addEventListener('message', (e) => { if (!e || !e.data || !e.data.match || !e.data.match('MessageId')) return; var data = JSON.parse(e.data); if (!data) return; if (data.MessageId === 'Host_PostmessageObjectUpdating' || data.MessageId === 'Host_PostmessageObjectConverted') { setTimeout(() => { var btn = api.util.$('eo-object-details .refresh-button'); btn && btn.click(); }, 3500) } else if(data.MessageId === 'UI_EditClick' && data.Values.url) { var w = window.open(decodeURIComponent(data.Values.url)); window['api'].content.windows = (window['api'].content.windows || []).concat([w]); } }); return parameters.viewer; }"
7877
+ // "viewer": "() => { parameters.path = parameters.path.replace('localhost:4200', 'kolibriproliant.optimal-systems.de'); var edit = true; return 'dashlet365/?id=' + dmsObject.content.id + (edit ? '' : '_' + dmsObject.version) + '&version=' + dmsObject.version + '&mimeType=${mimeType}&path=${path}&fileExtension=${fileExtension}&locale=${lang}&allowedExtensions=doc,docx,xls,xlsx,ppt,pptx&editMode=' + edit + '&displayName=' + ''; }"
7837
7878
  },
7838
7879
  // ONLY applies to localhost env; fixed email cors for localhost testing
7839
7880
  {
@@ -7844,7 +7885,6 @@ let MediaComponent = class MediaComponent {
7844
7885
  { "viewer": "() => {var attachment = parameters.pathPdf.match(new RegExp('attachment=(\\\\d+)')); var a = attachment && api.content.viewer().document.querySelector('iframe').contentDocument.querySelector('a[data-src$=\"' + attachment[0] + '\"]'); var params = a && (api.content.attachments || []).find(att => api.util.decodeHtmlCharCodes(att.name) === a.getAttribute('data-filename')); if(params && params.previewUri) { parameters.pathPdf = location.origin + params.previewUri; } return parameters.defaultViewer;}" },
7845
7886
  { "error": true, "type": "error", "viewer": "viewer/view/api/error/?path=${path}&mimeType=${mimeType}&fileExtension=${fileExtension}&lang=${lang}&theme=${theme}" }
7846
7887
  ];
7847
- this.initialized = false;
7848
7888
  this.undockDisabled = false;
7849
7889
  this.enableCloseBtn = false;
7850
7890
  // by default, the viewer ignores the version of the dms object. This will always show the latest version.
@@ -7862,22 +7902,9 @@ let MediaComponent = class MediaComponent {
7862
7902
  ]);
7863
7903
  uri && win && (win.location.href = this.resolveUri(uri, parameters));
7864
7904
  });
7865
- this.customConfig.forEach((c) => {
7866
- if (c.requiredService && !this.requiredServices.find(requiredService => requiredService.name === c.requiredService)) {
7867
- this.requiredServices.push({ name: c.requiredService });
7868
- }
7869
- });
7870
- const tasks = this.requiredServices.map((rS) => this.backend.get('/manage/health', '/' + rS.name).pipe(tap$1((res) => rS.running = res?.status === 'UP')));
7871
- forkJoin(tasks).subscribe(() => {
7872
- this.initialized = true;
7873
- this.setupViewer();
7874
- }, () => {
7875
- this.initialized = true;
7876
- this.setupViewer();
7877
- });
7878
7905
  }
7879
7906
  setupViewer() {
7880
- if (!this.initialized || !this._previewFile) {
7907
+ if (!this._previewFile) {
7881
7908
  return;
7882
7909
  }
7883
7910
  this.viewer = this.getViewer(this._previewFile);
@@ -7922,12 +7949,11 @@ let MediaComponent = class MediaComponent {
7922
7949
  refresh() {
7923
7950
  this.loadDocument(this.previewUri, true);
7924
7951
  }
7925
- getMatchingConfig(fileExtension, mimeType, matchingConfig) {
7952
+ getMatchingConfig(fileExtension, mimeType, file) {
7926
7953
  return this.customConfig.find((c) => {
7927
7954
  const matchMT = !c.mimeType || (typeof c.mimeType === 'string' ? [c.mimeType] : c.mimeType).includes(mimeType?.toLowerCase());
7928
7955
  const matchFE = !c.fileExtension || (typeof c.fileExtension === 'string' ? [c.fileExtension] : c.fileExtension).includes((fileExtension).toLowerCase());
7929
- const supportsAttachments = !this.attachments.length || typeof c.supportsAttachments === 'undefined' || c.supportsAttachments;
7930
- return matchMT && matchFE && (!c.type || c.type === 'default') && supportsAttachments && c !== matchingConfig;
7956
+ return matchMT && matchFE && (!c.type || c.type === 'default') && !this.pluginsService.applyFunction(c.disabled || false, 'dmsObject, file, availableServices', [this._dmsObject, file, this.pluginsService.availableServices]);
7931
7957
  });
7932
7958
  }
7933
7959
  getViewer(file) {
@@ -7935,10 +7961,7 @@ let MediaComponent = class MediaComponent {
7935
7961
  const defaultViewer = isVideo ? MediaComponent_1.VIDEO_VIEWER : MediaComponent_1.PDF_VIEWER;
7936
7962
  const fileExtension = file.fileExtension || (file.path?.includes('.') ? file.path.split('.').pop() : '');
7937
7963
  const mimeType = file.mimetype;
7938
- let config = this.getMatchingConfig(fileExtension, mimeType);
7939
- if (!(config.requiredService && this.requiredServices.find(requiredService => requiredService.name === config.requiredService)?.running)) {
7940
- config = this.getMatchingConfig(fileExtension, mimeType, config);
7941
- }
7964
+ let config = this.getMatchingConfig(fileExtension, mimeType, file);
7942
7965
  const parameters = {
7943
7966
  file,
7944
7967
  path: location.origin + file.uri,
@@ -8051,7 +8074,7 @@ let MediaComponent = class MediaComponent {
8051
8074
  }
8052
8075
  ngOnDestroy() {
8053
8076
  }
8054
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MediaComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i0.Renderer2 }, { token: i1.SystemService }, { token: i1.Config }, { token: PluginsService }, { token: i1.BackendService }], target: i0.ɵɵFactoryTarget.Component }); }
8077
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MediaComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i0.Renderer2 }, { token: i1.SystemService }, { token: i1.Config }, { token: PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
8055
8078
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: MediaComponent, selector: "eo-media", inputs: { undockDisabled: "undockDisabled", enableCloseBtn: "enableCloseBtn", useVersion: "useVersion", setAttachments: ["attachments", "setAttachments"], setSearchTerm: ["searchTerm", "setSearchTerm"], previewUri: "previewUri", previewFile: "previewFile", dmsObject: "dmsObject" }, host: { properties: { "class.open": "this.open" } }, providers: [ContentPreviewService], viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true, static: true }], ngImport: i0, template: "<div [hidden]=\"!open\">\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\"\n [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\" (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <yvc-popout\n [popoutWindowConfig]=\"popoutWindowConfig\"\n [triggerPosition]=\"popoutTriggerPosition\" [disabled]=\"undockDisabled\">\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"loader-overlay__mask\" *ngIf=\"loading\">\n <eo-loading-spinner class=\"iframe__loader\"></eo-loading-spinner>\n </div>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n </yvc-popout>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n", styles: [":host>div{height:100%}:host ::ng-deep .popoutWrapper{height:100%}:host ::ng-deep .popoutWrapper button.trigger{z-index:100}:host ::ng-deep .popoutWrapper button.trigger .yvc-icon{width:100%;height:100%}:host .empty-container{display:flex;justify-content:center;align-items:center;height:100%}:host .empty-container .nofile{width:128px;height:128px;opacity:.09}:host .preview-container{position:absolute;inset:0;overflow:hidden}:host .preview-container .slide{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;align-items:center;justify-content:center}:host .preview-container .slide .large-content{position:absolute;top:0;cursor:pointer;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;justify-content:center;width:100%;padding:var(--app-pane-padding);color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.5)}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{width:128px;height:128px;opacity:.2}:host .attachments{position:absolute;z-index:5;color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.6);right:calc(var(--app-pane-padding) / 2);bottom:calc(var(--app-pane-padding) * 3);display:flex;flex-flow:row;align-items:flex-end;border-radius:2px;max-width:calc(100% - 16px)}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding) / 2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;max-height:150px;padding:calc(var(--app-pane-padding) / 2);flex-flow:wrap}:host .attachments .attachments-list .attachment{border-radius:4px;background-color:rgba(var(--color-white-rgb),.1);padding:calc(var(--app-pane-padding) / 4);margin:calc(var(--app-pane-padding) / 8);cursor:pointer;border:1px solid rgba(var(--color-white-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);order:100;flex:1 1 100%}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{background-color:rgba(var(--color-primary-rgb),.9);align-items:center;bottom:calc(var(--app-pane-padding) / 2)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .iframe__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7$1.PopoutComponent, selector: "yvc-popout", inputs: ["triggerPosition", "triggerIconSVG", "triggerTooltip", "popoutWindowConfig", "disabled"], outputs: ["popOut", "popIn"] }] }); }
8056
8079
  };
8057
8080
  MediaComponent = MediaComponent_1 = __decorate([
@@ -8060,7 +8083,7 @@ MediaComponent = MediaComponent_1 = __decorate([
8060
8083
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MediaComponent, decorators: [{
8061
8084
  type: Component,
8062
8085
  args: [{ selector: 'eo-media', providers: [ContentPreviewService], template: "<div [hidden]=\"!open\">\n <!-- attachments overlay -->\n <div class=\"attachments\" *ngIf=\"attachments?.length\"\n [ngClass]=\"{notmain: latestUri !== previewUri && !attachmentsShown, active: attachmentsShown}\"\n (eoOutsideClick)=\"attachmentsShown = false\">\n <div class=\"attachments-list\" *ngIf=\"attachmentsShown\">\n <div class=\"attachment main\" (click)=\"selectAttachment(null)\" [ngClass]=\"{current: latestUri === previewUri}\">{{dmsObjectTitle}}</div>\n <div class=\"attachment\" *ngFor=\"let a of attachments\" (click)=\"selectAttachment(a)\" [ngClass]=\"{current: latestUri === a.previewUri}\">\n {{a.name}}\n </div>\n </div>\n\n <eo-icon class=\"button\" [badge]=\"attachments?.length\" (click)=\"attachmentsShown = !attachmentsShown\"\n [iconSrc]=\"attachmentsShown ? 'assets/_default/svg/ic_clear.svg' : 'assets/_default/svg/ic_attachment.svg'\"></eo-icon>\n </div>\n\n <yvc-popout\n [popoutWindowConfig]=\"popoutWindowConfig\"\n [triggerPosition]=\"popoutTriggerPosition\" [disabled]=\"undockDisabled\">\n\n <div class=\"preview-container\" [style.overflow]=\"'hidden'\">\n <iframe [hidden]=\"isUndocked || loading\" #iframe height=\"100%\" width=\"100%\" frameborder=\"0\"></iframe>\n <div class=\"loader-overlay__mask\" *ngIf=\"loading\">\n <eo-loading-spinner class=\"iframe__loader\"></eo-loading-spinner>\n </div>\n <div class=\"slide\" *ngIf=\"isUndocked\">\n <eo-icon *ngIf=\"mediaType\" [objectType]=\"mediaType\"></eo-icon>\n </div>\n </div>\n </yvc-popout>\n</div>\n\n<div [hidden]=\"open\" class=\"empty-container\">\n <eo-icon class=\"nofile\" [iconSrc]=\"'assets/_default/svg/ic_no-file.svg'\"></eo-icon>\n</div>\n", styles: [":host>div{height:100%}:host ::ng-deep .popoutWrapper{height:100%}:host ::ng-deep .popoutWrapper button.trigger{z-index:100}:host ::ng-deep .popoutWrapper button.trigger .yvc-icon{width:100%;height:100%}:host .empty-container{display:flex;justify-content:center;align-items:center;height:100%}:host .empty-container .nofile{width:128px;height:128px;opacity:.09}:host .preview-container{position:absolute;inset:0;overflow:hidden}:host .preview-container .slide{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;height:100%;align-items:center;justify-content:center}:host .preview-container .slide .large-content{position:absolute;top:0;cursor:pointer;display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;justify-content:center;width:100%;padding:var(--app-pane-padding);color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.5)}:host .preview-container .slide .large-content.not-supported,:host .preview-container .slide .large-content:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .preview-container .slide .large-content.not-supported{cursor:inherit}:host .preview-container .slide img{padding:var(--app-pane-padding);width:100%}:host .preview-container .slide eo-icon{width:128px;height:128px;opacity:.2}:host .attachments{position:absolute;z-index:5;color:var(--color-white);background-color:rgba(var(--color-primary-rgb),.6);right:calc(var(--app-pane-padding) / 2);bottom:calc(var(--app-pane-padding) * 3);display:flex;flex-flow:row;align-items:flex-end;border-radius:2px;max-width:calc(100% - 16px)}:host .attachments:hover{background-color:rgba(var(--color-primary-rgb),.9)}:host .attachments eo-icon{flex:0 0 auto;margin:calc(var(--app-pane-padding) / 2)}:host .attachments .attachments-list{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;overflow:auto;max-height:150px;padding:calc(var(--app-pane-padding) / 2);flex-flow:wrap}:host .attachments .attachments-list .attachment{border-radius:4px;background-color:rgba(var(--color-white-rgb),.1);padding:calc(var(--app-pane-padding) / 4);margin:calc(var(--app-pane-padding) / 8);cursor:pointer;border:1px solid rgba(var(--color-white-rgb),0);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .attachments .attachments-list .attachment:hover{border-color:rgba(var(--color-white-rgb),.5)}:host .attachments .attachments-list .attachment.current{background-color:var(--color-accent)}:host .attachments .attachments-list .attachment.main{background-color:var(--color-primary);order:100;flex:1 1 100%}:host .attachments .attachments-list .attachment:not(.main){font-style:italic}:host .attachments.notmain{background-color:var(--color-accent)}:host .attachments.active{background-color:rgba(var(--color-primary-rgb),.9);align-items:center;bottom:calc(var(--app-pane-padding) / 2)}:host .loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}:host .loader-overlay__mask .iframe__loader{margin:auto}\n"] }]
8063
- }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i0.Renderer2 }, { type: i1.SystemService }, { type: i1.Config }, { type: PluginsService }, { type: i1.BackendService }], propDecorators: { undockDisabled: [{
8086
+ }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i0.Renderer2 }, { type: i1.SystemService }, { type: i1.Config }, { type: PluginsService }], propDecorators: { undockDisabled: [{
8064
8087
  type: Input
8065
8088
  }], enableCloseBtn: [{
8066
8089
  type: Input
@@ -14447,8 +14470,8 @@ class AddSubscriptionComponent {
14447
14470
  if (includesFolders && includesDocuments) {
14448
14471
  this.subscriptionModeCodesystem = {
14449
14472
  entries: [
14450
- { id: 0, defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.meta.label'), data: SubscriptionMode.ONLY_INDEX_DATA_CHANGED },
14451
- { id: 2, defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.both.label'), data: SubscriptionMode.DMS_OBJECT_CHANGED }
14473
+ { id: this.translate.instant('eo.subscription.field.mode.entries.meta.label'), defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.meta.label'), data: SubscriptionMode.ONLY_INDEX_DATA_CHANGED },
14474
+ { id: this.translate.instant('eo.subscription.field.mode.entries.both.label'), defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.both.label'), data: SubscriptionMode.DMS_OBJECT_CHANGED }
14452
14475
  ]
14453
14476
  };
14454
14477
  }
@@ -14462,9 +14485,9 @@ class AddSubscriptionComponent {
14462
14485
  else {
14463
14486
  this.subscriptionModeCodesystem = {
14464
14487
  entries: [
14465
- { id: 0, defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.meta.label'), data: SubscriptionMode.ONLY_INDEX_DATA_CHANGED },
14466
- { id: 1, defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.content.label'), data: SubscriptionMode.ONLY_DOCUMENT_CONTENT_CHANGED },
14467
- { id: 2, defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.both.label'), data: SubscriptionMode.DMS_OBJECT_CHANGED }
14488
+ { id: this.translate.instant('eo.subscription.field.mode.entries.meta.label'), defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.meta.label'), data: SubscriptionMode.ONLY_INDEX_DATA_CHANGED },
14489
+ { id: this.translate.instant('eo.subscription.field.mode.entries.content.label'), defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.content.label'), data: SubscriptionMode.ONLY_DOCUMENT_CONTENT_CHANGED },
14490
+ { id: this.translate.instant('eo.subscription.field.mode.entries.both.label'), defaultrepresentation: this.translate.instant('eo.subscription.field.mode.entries.both.label'), data: SubscriptionMode.DMS_OBJECT_CHANGED }
14468
14491
  ]
14469
14492
  };
14470
14493
  }
@@ -15661,11 +15684,11 @@ class SignatureComponent {
15661
15684
  this.signingFormListener.unsubscribe();
15662
15685
  }
15663
15686
  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$3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
15664
- 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: i1$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$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: 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" }] }); }
15687
+ 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 [skipToggle]=\"true\" class=\"checkbox\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\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 [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: i1$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$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: 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" }] }); }
15665
15688
  }
15666
15689
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SignatureComponent, decorators: [{
15667
15690
  type: Component,
15668
- 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"] }]
15691
+ 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 [skipToggle]=\"true\" class=\"checkbox\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\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 [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"] }]
15669
15692
  }], 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$3.UntypedFormBuilder }], propDecorators: { dialog: [{
15670
15693
  type: ViewChild,
15671
15694
  args: ['dialog']
@@ -15682,7 +15705,10 @@ class SignatureActionComponent extends DmsObjectTarget {
15682
15705
  this.range = SelectionRange.SINGLE_SELECT;
15683
15706
  this.extComponents = SignatureComponent;
15684
15707
  this.label = this.translate.instant('eo.action.signature.label');
15685
- this.description = this.translate.instant('eo.action.signature.description');
15708
+ this.signingService.getInfo().subscribe((info) => {
15709
+ let platformName = info.platform === 'docusign' ? 'DocuSign' : 'Adobe Sign';
15710
+ this.description = this.translate.instant('eo.action.signature.description', { platform: platformName });
15711
+ });
15686
15712
  }
15687
15713
  isExecutable(element) {
15688
15714
  return of(!this.signingService.signatureRequested(element)
@@ -16171,7 +16197,7 @@ let AppBarComponent = class AppBarComponent {
16171
16197
  .user$
16172
16198
  .subscribe(data => {
16173
16199
  const docu = this.config.getRaw('about.docu');
16174
- const link = docu.link.replace('###userLang###', data.userSettings.clientlocale.substring(0, 2));
16200
+ const link = docu.link.replace('###userLang###', data?.userSettings?.clientlocale?.substring(0, 2) || this.user.getClientLocale());
16175
16201
  this.docu = { ...docu, link };
16176
16202
  });
16177
16203
  }
@@ -18267,6 +18293,7 @@ class FrameComponent {
18267
18293
  .subscribe((user) => {
18268
18294
  this.dir = user ? user.uiDirection : 'ltr';
18269
18295
  this.roles = user?.roles?.map(r => r.name).join(';') || '';
18296
+ this.user = user;
18270
18297
  });
18271
18298
  this.router
18272
18299
  .events
@@ -18295,7 +18322,7 @@ class FrameComponent {
18295
18322
  .user$
18296
18323
  .subscribe(data => {
18297
18324
  const docu = this.config.getRaw('about.docu');
18298
- const link = docu.link.replace('###userLang###', data?.userSettings?.clientlocale.substring(0, 2));
18325
+ const link = docu.link.replace('###userLang###', data?.userSettings?.clientlocale?.substring(0, 2) || this.user.getClientLocale());
18299
18326
  this.docu = { ...docu, link };
18300
18327
  });
18301
18328
  }
@@ -22950,10 +22977,10 @@ class AboutStateComponent {
22950
22977
  this.backend = backend;
22951
22978
  this.userService = userService;
22952
22979
  this.config = config;
22953
- 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.1.1", "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.14.0", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.0.0-rc.5", "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": "@yuuvis/components", "version": "2.0.1", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "2.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "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" }];
22980
+ 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.1.1", "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.14.0", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "11.0.0-rc.7", "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": "@yuuvis/components", "version": "2.0.1", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "2.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.30.1", "license": "MIT" }, { "name": "ngx-toastr", "version": "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" }];
22954
22981
  this.ctrl = {
22955
22982
  componentName: 'yuuvis® RAD client',
22956
- componentVersion: '11.0.0-rc.6',
22983
+ componentVersion: '11.0.0-rc.8',
22957
22984
  productName: '',
22958
22985
  productVersion: ''
22959
22986
  };
@@ -24997,14 +25024,14 @@ let TodoWidgetComponent = class TodoWidgetComponent {
24997
25024
  this.subscriptions.forEach((s) => s.unsubscribe());
24998
25025
  }
24999
25026
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TodoWidgetComponent, deps: [{ token: i1.UserService }, { token: i2$5.WidgetGridRegistry }, { token: i1$3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
25000
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TodoWidgetComponent, selector: "eo-todo-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<div class=\"container\">\n\n <header>\n <div class=\"header-title\">\n @if (widgetConfig?.headline) {\n <div class=\"title\">{{ widgetConfig?.headline }}</div>\n }\n </div>\n </header>\n\n <main class=\"todos\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n @if (todos.length > 0) {\n @for (t of todos; track $index) {\n <div class=\"todo\" cdkDrag [ngClass]=\"{done: t.done}\">\n <div class=\"dragHandle\" cdkDragHandle>\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\">\n <path\n d=\"M9 20q-.825 0-1.412-.587Q7 18.825 7 18q0-.825.588-1.413Q8.175 16 9 16t1.413.587Q11 17.175 11 18q0 .825-.587 1.413Q9.825 20 9 20Zm6 0q-.825 0-1.412-.587Q13 18.825 13 18q0-.825.588-1.413Q14.175 16 15 16t1.413.587Q17 17.175 17 18q0 .825-.587 1.413Q15.825 20 15 20Zm-6-6q-.825 0-1.412-.588Q7 12.825 7 12t.588-1.413Q8.175 10 9 10t1.413.587Q11 11.175 11 12q0 .825-.587 1.412Q9.825 14 9 14Zm6 0q-.825 0-1.412-.588Q13 12.825 13 12t.588-1.413Q14.175 10 15 10t1.413.587Q17 11.175 17 12q0 .825-.587 1.412Q15.825 14 15 14ZM9 8q-.825 0-1.412-.588Q7 6.825 7 6t.588-1.412Q8.175 4 9 4t1.413.588Q11 5.175 11 6t-.587 1.412Q9.825 8 9 8Zm6 0q-.825 0-1.412-.588Q13 6.825 13 6t.588-1.412Q14.175 4 15 4t1.413.588Q17 5.175 17 6t-.587 1.412Q15.825 8 15 8Z\"/>\n </svg>\n </div>\n <button class=\"checkbox\" (click)=\"toggleDone(t)\"></button>\n <div class=\"task\" (click)=\"toggleDone(t)\">{{ t.title }}</div>\n <button class=\"remove\" *ngIf=\"t.done\" (click)=\"removeTask($index)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"/>\n </svg>\n </button>\n </div>\n }\n } @else {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_task.svg', text: 'eo.workspace.widget.todo.noTasks'}\"></eo-error-message>\n </div>\n }\n </main>\n\n <footer>\n <form [formGroup]=\"addForm\">\n <eo-form-input tabindex=\"0\" [invalid]=\"addForm.dirty && addForm.get('task').invalid\"\n [label]=\"'eo.workspace.widget.todo.taskTitle' | translate\" [skipToggle]=\"true\">\n <eo-string [autofocus]=\"true\" [size]=\"'large'\" [maxlength]=\"50\" autocomplete=\"true\" (keyup.enter)=\"addTask()\"\n formControlName=\"task\"></eo-string>\n </eo-form-input>\n\n <button class=\"primary add\" [disabled]=\"!addForm.dirty\" (click)=\"addTask()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7z\"/>\n </svg>\n </button>\n\n @if (addForm.dirty && addForm.get('task').invalid) {\n <div class=\"err-msg\" [translateParams]=\"{maxlength: 50}\" translate>\n eo.form.property.maxlength\n </div>\n }\n </form>\n </footer>\n</div>\n", styles: [":host .container{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr;grid-template-areas:\"header\" \"main\" \"footer\";background:var(--panel-background);color:var(--text-color-body)}:host .container header{grid-area:header;grid-row:1;color:var(--text-color-body);display:grid;height:40px}:host .container header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host .container header .title{text-align:center;flex-grow:1;justify-content:center}:host .container .todos{grid-area:main;grid-row:2;max-width:100%;min-height:60px;display:block;overflow-y:auto}:host .container .todos .todo{padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:solid 1px var(--panel-divider-color);color:var(--text-color-body);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box}:host .container .todos .todo:last-child{border:none}:host .container .todos .todo.done .checkbox:after{content:\"\";width:50%;height:50%;background-color:var(--text-color-body);border-radius:50%}:host .container .todos .todo.done .task{text-decoration:line-through}:host .container .todos .todo .dragHandle{cursor:move}:host .container .todos .todo .remove{padding:0}:host .container .todos .todo .checkbox{border:2px solid var(--text-color-hint);width:24px;height:24px;margin:0 var(--app-pane-padding);padding:0;display:flex;align-items:center;justify-content:center}:host .container .todos .todo .task{flex:1;word-break:break-all;line-height:1.5em}:host .container .todos .empty{display:contents}:host .container footer{grid-area:footer;grid-row:3;display:flex}:host .container footer form{display:flex;flex:1;padding:calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--panel-divider-color);background-color:var(--panel-divider-color);justify-content:space-between}:host .container footer form eo-form-input{flex:1;padding:calc(var(--app-pane-padding) / 4)}:host .container footer form .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 .container footer form>button{display:flex;align-items:center;margin:calc(var(--app-pane-padding) / 4);border-radius:calc(var(--app-pane-padding) / 4)}:host .container footer form label{width:100%;color:var(--text-color-body);flex:1;align-items:center;display:flex}:host .container footer form label input{color:var(--text-color-body);border:0;flex:1;padding:.5em;background-color:var(--panel-background);margin:calc(var(--app-pane-padding) / 2);border-radius:2px;box-shadow:0 1px 3px #0003}:host .cdk-drag-placeholder{opacity:.5}:host .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}:host .todos.cdk-drop-list-dragging .todo:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "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: 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: "directive", type: i4$2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
25027
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TodoWidgetComponent, selector: "eo-todo-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<div class=\"container\">\n\n <header>\n <div class=\"header-title\">\n @if (widgetConfig?.headline) {\n <div class=\"title\">{{ widgetConfig?.headline }}</div>\n }\n </div>\n </header>\n\n <main class=\"todos\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n @if (todos.length > 0) {\n @for (t of todos; track $index) {\n <div class=\"todo\" cdkDrag [ngClass]=\"{done: t.done}\">\n <div class=\"dragHandle\" cdkDragHandle>\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\">\n <path\n d=\"M9 20q-.825 0-1.412-.587Q7 18.825 7 18q0-.825.588-1.413Q8.175 16 9 16t1.413.587Q11 17.175 11 18q0 .825-.587 1.413Q9.825 20 9 20Zm6 0q-.825 0-1.412-.587Q13 18.825 13 18q0-.825.588-1.413Q14.175 16 15 16t1.413.587Q17 17.175 17 18q0 .825-.587 1.413Q15.825 20 15 20Zm-6-6q-.825 0-1.412-.588Q7 12.825 7 12t.588-1.413Q8.175 10 9 10t1.413.587Q11 11.175 11 12q0 .825-.587 1.412Q9.825 14 9 14Zm6 0q-.825 0-1.412-.588Q13 12.825 13 12t.588-1.413Q14.175 10 15 10t1.413.587Q17 11.175 17 12q0 .825-.587 1.412Q15.825 14 15 14ZM9 8q-.825 0-1.412-.588Q7 6.825 7 6t.588-1.412Q8.175 4 9 4t1.413.588Q11 5.175 11 6t-.587 1.412Q9.825 8 9 8Zm6 0q-.825 0-1.412-.588Q13 6.825 13 6t.588-1.412Q14.175 4 15 4t1.413.588Q17 5.175 17 6t-.587 1.412Q15.825 8 15 8Z\"/>\n </svg>\n </div>\n <button class=\"checkbox\" (click)=\"toggleDone(t)\"></button>\n <div class=\"task\" (click)=\"toggleDone(t)\">{{ t.title }}</div>\n <button class=\"remove\" *ngIf=\"t.done\" (click)=\"removeTask($index)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"/>\n </svg>\n </button>\n </div>\n }\n } @else {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_task.svg', text: 'eo.workspace.widget.todo.noTasks'}\"></eo-error-message>\n </div>\n }\n </main>\n\n <footer>\n <form [formGroup]=\"addForm\">\n <eo-form-input tabindex=\"0\" [invalid]=\"addForm.dirty && addForm.get('task').invalid\"\n [label]=\"'eo.workspace.widget.todo.taskTitle' | translate\" [skipToggle]=\"true\">\n <eo-string [autofocus]=\"true\" [size]=\"'large'\" [maxlength]=\"50\" autocomplete=\"true\" (keyup.enter)=\"addTask()\"\n formControlName=\"task\"></eo-string>\n </eo-form-input>\n\n <button class=\"primary add\" [disabled]=\"!addForm.dirty\" (click)=\"addTask()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7z\"/>\n </svg>\n </button>\n\n @if (addForm.dirty && addForm.get('task').invalid) {\n <div class=\"err-msg\" [translateParams]=\"{maxlength: 50}\" translate>\n eo.form.property.maxlength\n </div>\n }\n </form>\n </footer>\n</div>\n", styles: [":host .container{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr;grid-template-areas:\"header\" \"main\" \"footer\";background:var(--panel-background);color:var(--text-color-body)}:host .container header{grid-area:header;grid-row:1;color:#fff;display:grid;height:40px}:host .container header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host .container header .title{text-align:center;flex-grow:1;justify-content:center}:host .container .todos{grid-area:main;grid-row:2;max-width:100%;min-height:60px;display:block;overflow-y:auto}:host .container .todos .todo{padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:solid 1px var(--panel-divider-color);color:var(--text-color-body);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box}:host .container .todos .todo:last-child{border:none}:host .container .todos .todo.done .checkbox:after{content:\"\";width:50%;height:50%;background-color:var(--text-color-body);border-radius:50%}:host .container .todos .todo.done .task{text-decoration:line-through}:host .container .todos .todo .dragHandle{cursor:move}:host .container .todos .todo .remove{padding:0}:host .container .todos .todo .checkbox{border:2px solid var(--text-color-hint);width:24px;height:24px;margin:0 var(--app-pane-padding);padding:0;display:flex;align-items:center;justify-content:center}:host .container .todos .todo .task{flex:1;word-break:break-all;line-height:1.5em}:host .container .todos .empty{display:contents}:host .container footer{grid-area:footer;grid-row:3;display:flex}:host .container footer form{display:flex;flex:1;padding:calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--panel-divider-color);background-color:var(--panel-divider-color);justify-content:space-between}:host .container footer form eo-form-input{flex:1;padding:calc(var(--app-pane-padding) / 4)}:host .container footer form .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 .container footer form>button{display:flex;align-items:center;margin:calc(var(--app-pane-padding) / 4);border-radius:calc(var(--app-pane-padding) / 4)}:host .container footer form label{width:100%;color:var(--text-color-body);flex:1;align-items:center;display:flex}:host .container footer form label input{color:var(--text-color-body);border:0;flex:1;padding:.5em;background-color:var(--panel-background);margin:calc(var(--app-pane-padding) / 2);border-radius:2px;box-shadow:0 1px 3px #0003}:host .cdk-drag-placeholder{opacity:.5}:host .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}:host .todos.cdk-drop-list-dragging .todo:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "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: 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: "directive", type: i4$2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
25001
25028
  };
25002
25029
  TodoWidgetComponent = __decorate([
25003
25030
  UntilDestroy()
25004
25031
  ], TodoWidgetComponent);
25005
25032
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TodoWidgetComponent, decorators: [{
25006
25033
  type: Component,
25007
- args: [{ selector: 'eo-todo-widget', template: "<div class=\"container\">\n\n <header>\n <div class=\"header-title\">\n @if (widgetConfig?.headline) {\n <div class=\"title\">{{ widgetConfig?.headline }}</div>\n }\n </div>\n </header>\n\n <main class=\"todos\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n @if (todos.length > 0) {\n @for (t of todos; track $index) {\n <div class=\"todo\" cdkDrag [ngClass]=\"{done: t.done}\">\n <div class=\"dragHandle\" cdkDragHandle>\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\">\n <path\n d=\"M9 20q-.825 0-1.412-.587Q7 18.825 7 18q0-.825.588-1.413Q8.175 16 9 16t1.413.587Q11 17.175 11 18q0 .825-.587 1.413Q9.825 20 9 20Zm6 0q-.825 0-1.412-.587Q13 18.825 13 18q0-.825.588-1.413Q14.175 16 15 16t1.413.587Q17 17.175 17 18q0 .825-.587 1.413Q15.825 20 15 20Zm-6-6q-.825 0-1.412-.588Q7 12.825 7 12t.588-1.413Q8.175 10 9 10t1.413.587Q11 11.175 11 12q0 .825-.587 1.412Q9.825 14 9 14Zm6 0q-.825 0-1.412-.588Q13 12.825 13 12t.588-1.413Q14.175 10 15 10t1.413.587Q17 11.175 17 12q0 .825-.587 1.412Q15.825 14 15 14ZM9 8q-.825 0-1.412-.588Q7 6.825 7 6t.588-1.412Q8.175 4 9 4t1.413.588Q11 5.175 11 6t-.587 1.412Q9.825 8 9 8Zm6 0q-.825 0-1.412-.588Q13 6.825 13 6t.588-1.412Q14.175 4 15 4t1.413.588Q17 5.175 17 6t-.587 1.412Q15.825 8 15 8Z\"/>\n </svg>\n </div>\n <button class=\"checkbox\" (click)=\"toggleDone(t)\"></button>\n <div class=\"task\" (click)=\"toggleDone(t)\">{{ t.title }}</div>\n <button class=\"remove\" *ngIf=\"t.done\" (click)=\"removeTask($index)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"/>\n </svg>\n </button>\n </div>\n }\n } @else {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_task.svg', text: 'eo.workspace.widget.todo.noTasks'}\"></eo-error-message>\n </div>\n }\n </main>\n\n <footer>\n <form [formGroup]=\"addForm\">\n <eo-form-input tabindex=\"0\" [invalid]=\"addForm.dirty && addForm.get('task').invalid\"\n [label]=\"'eo.workspace.widget.todo.taskTitle' | translate\" [skipToggle]=\"true\">\n <eo-string [autofocus]=\"true\" [size]=\"'large'\" [maxlength]=\"50\" autocomplete=\"true\" (keyup.enter)=\"addTask()\"\n formControlName=\"task\"></eo-string>\n </eo-form-input>\n\n <button class=\"primary add\" [disabled]=\"!addForm.dirty\" (click)=\"addTask()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7z\"/>\n </svg>\n </button>\n\n @if (addForm.dirty && addForm.get('task').invalid) {\n <div class=\"err-msg\" [translateParams]=\"{maxlength: 50}\" translate>\n eo.form.property.maxlength\n </div>\n }\n </form>\n </footer>\n</div>\n", styles: [":host .container{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr;grid-template-areas:\"header\" \"main\" \"footer\";background:var(--panel-background);color:var(--text-color-body)}:host .container header{grid-area:header;grid-row:1;color:var(--text-color-body);display:grid;height:40px}:host .container header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host .container header .title{text-align:center;flex-grow:1;justify-content:center}:host .container .todos{grid-area:main;grid-row:2;max-width:100%;min-height:60px;display:block;overflow-y:auto}:host .container .todos .todo{padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:solid 1px var(--panel-divider-color);color:var(--text-color-body);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box}:host .container .todos .todo:last-child{border:none}:host .container .todos .todo.done .checkbox:after{content:\"\";width:50%;height:50%;background-color:var(--text-color-body);border-radius:50%}:host .container .todos .todo.done .task{text-decoration:line-through}:host .container .todos .todo .dragHandle{cursor:move}:host .container .todos .todo .remove{padding:0}:host .container .todos .todo .checkbox{border:2px solid var(--text-color-hint);width:24px;height:24px;margin:0 var(--app-pane-padding);padding:0;display:flex;align-items:center;justify-content:center}:host .container .todos .todo .task{flex:1;word-break:break-all;line-height:1.5em}:host .container .todos .empty{display:contents}:host .container footer{grid-area:footer;grid-row:3;display:flex}:host .container footer form{display:flex;flex:1;padding:calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--panel-divider-color);background-color:var(--panel-divider-color);justify-content:space-between}:host .container footer form eo-form-input{flex:1;padding:calc(var(--app-pane-padding) / 4)}:host .container footer form .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 .container footer form>button{display:flex;align-items:center;margin:calc(var(--app-pane-padding) / 4);border-radius:calc(var(--app-pane-padding) / 4)}:host .container footer form label{width:100%;color:var(--text-color-body);flex:1;align-items:center;display:flex}:host .container footer form label input{color:var(--text-color-body);border:0;flex:1;padding:.5em;background-color:var(--panel-background);margin:calc(var(--app-pane-padding) / 2);border-radius:2px;box-shadow:0 1px 3px #0003}:host .cdk-drag-placeholder{opacity:.5}:host .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}:host .todos.cdk-drop-list-dragging .todo:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
25034
+ args: [{ selector: 'eo-todo-widget', template: "<div class=\"container\">\n\n <header>\n <div class=\"header-title\">\n @if (widgetConfig?.headline) {\n <div class=\"title\">{{ widgetConfig?.headline }}</div>\n }\n </div>\n </header>\n\n <main class=\"todos\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n @if (todos.length > 0) {\n @for (t of todos; track $index) {\n <div class=\"todo\" cdkDrag [ngClass]=\"{done: t.done}\">\n <div class=\"dragHandle\" cdkDragHandle>\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" width=\"24\">\n <path\n d=\"M9 20q-.825 0-1.412-.587Q7 18.825 7 18q0-.825.588-1.413Q8.175 16 9 16t1.413.587Q11 17.175 11 18q0 .825-.587 1.413Q9.825 20 9 20Zm6 0q-.825 0-1.412-.587Q13 18.825 13 18q0-.825.588-1.413Q14.175 16 15 16t1.413.587Q17 17.175 17 18q0 .825-.587 1.413Q15.825 20 15 20Zm-6-6q-.825 0-1.412-.588Q7 12.825 7 12t.588-1.413Q8.175 10 9 10t1.413.587Q11 11.175 11 12q0 .825-.587 1.412Q9.825 14 9 14Zm6 0q-.825 0-1.412-.588Q13 12.825 13 12t.588-1.413Q14.175 10 15 10t1.413.587Q17 11.175 17 12q0 .825-.587 1.412Q15.825 14 15 14ZM9 8q-.825 0-1.412-.588Q7 6.825 7 6t.588-1.412Q8.175 4 9 4t1.413.588Q11 5.175 11 6t-.587 1.412Q9.825 8 9 8Zm6 0q-.825 0-1.412-.588Q13 6.825 13 6t.588-1.412Q14.175 4 15 4t1.413.588Q17 5.175 17 6t-.587 1.412Q15.825 8 15 8Z\"/>\n </svg>\n </div>\n <button class=\"checkbox\" (click)=\"toggleDone(t)\"></button>\n <div class=\"task\" (click)=\"toggleDone(t)\">{{ t.title }}</div>\n <button class=\"remove\" *ngIf=\"t.done\" (click)=\"removeTask($index)\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <path d=\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"/>\n </svg>\n </button>\n </div>\n }\n } @else {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_task.svg', text: 'eo.workspace.widget.todo.noTasks'}\"></eo-error-message>\n </div>\n }\n </main>\n\n <footer>\n <form [formGroup]=\"addForm\">\n <eo-form-input tabindex=\"0\" [invalid]=\"addForm.dirty && addForm.get('task').invalid\"\n [label]=\"'eo.workspace.widget.todo.taskTitle' | translate\" [skipToggle]=\"true\">\n <eo-string [autofocus]=\"true\" [size]=\"'large'\" [maxlength]=\"50\" autocomplete=\"true\" (keyup.enter)=\"addTask()\"\n formControlName=\"task\"></eo-string>\n </eo-form-input>\n\n <button class=\"primary add\" [disabled]=\"!addForm.dirty\" (click)=\"addTask()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7z\"/>\n </svg>\n </button>\n\n @if (addForm.dirty && addForm.get('task').invalid) {\n <div class=\"err-msg\" [translateParams]=\"{maxlength: 50}\" translate>\n eo.form.property.maxlength\n </div>\n }\n </form>\n </footer>\n</div>\n", styles: [":host .container{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr;grid-template-areas:\"header\" \"main\" \"footer\";background:var(--panel-background);color:var(--text-color-body)}:host .container header{grid-area:header;grid-row:1;color:#fff;display:grid;height:40px}:host .container header .header-title{background-color:var(--color-primary-2);display:flex;justify-content:space-between;align-items:center}:host .container header .title{text-align:center;flex-grow:1;justify-content:center}:host .container .todos{grid-area:main;grid-row:2;max-width:100%;min-height:60px;display:block;overflow-y:auto}:host .container .todos .todo{padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);border-bottom:solid 1px var(--panel-divider-color);color:var(--text-color-body);display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box}:host .container .todos .todo:last-child{border:none}:host .container .todos .todo.done .checkbox:after{content:\"\";width:50%;height:50%;background-color:var(--text-color-body);border-radius:50%}:host .container .todos .todo.done .task{text-decoration:line-through}:host .container .todos .todo .dragHandle{cursor:move}:host .container .todos .todo .remove{padding:0}:host .container .todos .todo .checkbox{border:2px solid var(--text-color-hint);width:24px;height:24px;margin:0 var(--app-pane-padding);padding:0;display:flex;align-items:center;justify-content:center}:host .container .todos .todo .task{flex:1;word-break:break-all;line-height:1.5em}:host .container .todos .empty{display:contents}:host .container footer{grid-area:footer;grid-row:3;display:flex}:host .container footer form{display:flex;flex:1;padding:calc(var(--app-pane-padding) / 8) 0 calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2);border-bottom:1px solid var(--panel-divider-color);background-color:var(--panel-divider-color);justify-content:space-between}:host .container footer form eo-form-input{flex:1;padding:calc(var(--app-pane-padding) / 4)}:host .container footer form .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 .container footer form>button{display:flex;align-items:center;margin:calc(var(--app-pane-padding) / 4);border-radius:calc(var(--app-pane-padding) / 4)}:host .container footer form label{width:100%;color:var(--text-color-body);flex:1;align-items:center;display:flex}:host .container footer form label input{color:var(--text-color-body);border:0;flex:1;padding:.5em;background-color:var(--panel-background);margin:calc(var(--app-pane-padding) / 2);border-radius:2px;box-shadow:0 1px 3px #0003}:host .cdk-drag-placeholder{opacity:.5}:host .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}:host .todos.cdk-drop-list-dragging .todo:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
25008
25035
  }], ctorParameters: () => [{ type: i1.UserService }, { type: i2$5.WidgetGridRegistry }, { type: i1$3.UntypedFormBuilder }], propDecorators: { widgetConfig: [{
25009
25036
  type: Input
25010
25037
  }] } });
@@ -25080,11 +25107,11 @@ class PictureWidgetComponent {
25080
25107
  : 'none';
25081
25108
  }
25082
25109
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PictureWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25083
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: PictureWidgetComponent, selector: "eo-picture-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<div [ngStyle]=\"style\"></div>\n", styles: [":host{height:100%;width:100%;display:block}:host>div{max-width:100%;max-height:100%;width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat}:host img{object-fit:cover}:host.wholeImage{display:inline-block;height:auto;width:auto}\n"], dependencies: [{ kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
25110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PictureWidgetComponent, selector: "eo-picture-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "@if (imageUri) {\n <div [ngStyle]=\"style\"></div>\n\n} @else {\n<div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_noImage.svg', text: 'eo.workspace.widget.picture.noImage'}\"></eo-error-message>\n</div>\n}", styles: [":host{height:100%;width:100%;display:block}:host>div{max-width:100%;max-height:100%;width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat}:host img{object-fit:cover}:host.wholeImage{display:inline-block;height:auto;width:auto}:host .empty{display:contents}\n"], dependencies: [{ kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }] }); }
25084
25111
  }
25085
25112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PictureWidgetComponent, decorators: [{
25086
25113
  type: Component,
25087
- args: [{ selector: 'eo-picture-widget', template: "<div [ngStyle]=\"style\"></div>\n", styles: [":host{height:100%;width:100%;display:block}:host>div{max-width:100%;max-height:100%;width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat}:host img{object-fit:cover}:host.wholeImage{display:inline-block;height:auto;width:auto}\n"] }]
25114
+ args: [{ selector: 'eo-picture-widget', template: "@if (imageUri) {\n <div [ngStyle]=\"style\"></div>\n\n} @else {\n<div class=\"empty\">\n <eo-error-message [emptyState]=\"{icon: 'ic_noImage.svg', text: 'eo.workspace.widget.picture.noImage'}\"></eo-error-message>\n</div>\n}", styles: [":host{height:100%;width:100%;display:block}:host>div{max-width:100%;max-height:100%;width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat}:host img{object-fit:cover}:host.wholeImage{display:inline-block;height:auto;width:auto}:host .empty{display:contents}\n"] }]
25088
25115
  }], propDecorators: { widgetConfig: [{
25089
25116
  type: Input
25090
25117
  }] } });
@@ -25123,11 +25150,11 @@ class PictureWidgetSetupComponent {
25123
25150
  }
25124
25151
  }
25125
25152
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PictureWidgetSetupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PictureWidgetSetupComponent, selector: "eo-picture-widget-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, viewQueries: [{ propertyName: "fileInputEl", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <button class=\"primary\" (click)=\"pick(); $event.target.value = null\">\n <input type=\"file\" accept=\"image/*\" #fileInput (change)=\"fileInputChangeListener($event)\">\n <eo-icon class=\"button sync-tab-btn\" [iconSrc]=\"'assets/_default/svg/ic_photo_library.svg'\"\n [iconTitle]=\"'eo.workspace.widget.picture.tooltip' | translate\"></eo-icon>\n </button>\n</div>\n<div class=\"preview\">\n <eo-picture-widget [widgetConfig]=\"widgetConfig\"></eo-picture-widget>\n</div>\n\n<eo-dialog [title]=\"'eo.workspace.widget.picture.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>\n <p>{{ fileName }}</p>\n @if (errorType === 'size') {\n <p translate>eo.workspace.widget.picture.dialog.sizeError</p>\n }\n @if (errorType === 'image') {\n <p translate>eo.state.settings.details.upload.dialog.fileError </p>\n }\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\n </button>\n <button type=\"button\" (click)=\"pick(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back\n </button>\n </div>\n</eo-dialog>\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{display:flex;grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color);justify-content:center;align-items:center;height:100%;width:100%}:host .setup input[type=file]{display:none}:host .setup .primary{display:flex;height:5cm;align-content:center;align-items:center;width:5cm;justify-content:center}:host .setup .primary eo-icon{--eoSvgIcon-size: 100px}:host .preview{grid-area:preview;background-color:var(--panel-background);padding:var(--app-pane-padding);pointer-events:none;display:flex;align-items:center;justify-content:center}::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: 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: PictureWidgetComponent, selector: "eo-picture-widget", inputs: ["widgetConfig"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
25153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PictureWidgetSetupComponent, selector: "eo-picture-widget-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange" }, viewQueries: [{ propertyName: "fileInputEl", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <button class=\"primary\" (click)=\"pick(); $event.target.value = null\">\n <input type=\"file\" accept=\"image/*\" #fileInput (change)=\"fileInputChangeListener($event)\">\n <eo-icon class=\"button sync-tab-btn\" [iconSrc]=\"'assets/_default/svg/ic_photo_library.svg'\"\n [iconTitle]=\"'eo.workspace.widget.picture.tooltip' | translate\"></eo-icon>\n </button>\n</div>\n<div class=\"preview\">\n <eo-picture-widget [widgetConfig]=\"widgetConfig\"></eo-picture-widget>\n</div>\n\n<eo-dialog [title]=\"'eo.workspace.widget.picture.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>\n <p>{{ fileName }}</p>\n @if (errorType === 'size') {\n <p translate>eo.workspace.widget.picture.dialog.sizeError</p>\n }\n @if (errorType === 'image') {\n <p translate>eo.state.settings.details.upload.dialog.fileError </p>\n }\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\n </button>\n <button type=\"button\" (click)=\"pick(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back\n </button>\n </div>\n</eo-dialog>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%;overflow-y:hidden}:host .setup{display:flex;grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color);justify-content:center;align-items:center;height:100%;width:100%}:host .setup input[type=file]{display:none}:host .setup .primary{display:flex;height:5cm;align-content:center;align-items:center;width:5cm;justify-content:center}:host .setup .primary eo-icon{--eoSvgIcon-size: 100px}:host .preview{grid-area:preview;padding:var(--app-pane-padding);pointer-events:none;display:flex;align-items:center;justify-content:center}::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: 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: PictureWidgetComponent, selector: "eo-picture-widget", inputs: ["widgetConfig"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
25127
25154
  }
25128
25155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PictureWidgetSetupComponent, decorators: [{
25129
25156
  type: Component,
25130
- args: [{ selector: 'eo-picture-widget-setup', template: "<div class=\"setup\">\n <button class=\"primary\" (click)=\"pick(); $event.target.value = null\">\n <input type=\"file\" accept=\"image/*\" #fileInput (change)=\"fileInputChangeListener($event)\">\n <eo-icon class=\"button sync-tab-btn\" [iconSrc]=\"'assets/_default/svg/ic_photo_library.svg'\"\n [iconTitle]=\"'eo.workspace.widget.picture.tooltip' | translate\"></eo-icon>\n </button>\n</div>\n<div class=\"preview\">\n <eo-picture-widget [widgetConfig]=\"widgetConfig\"></eo-picture-widget>\n</div>\n\n<eo-dialog [title]=\"'eo.workspace.widget.picture.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>\n <p>{{ fileName }}</p>\n @if (errorType === 'size') {\n <p translate>eo.workspace.widget.picture.dialog.sizeError</p>\n }\n @if (errorType === 'image') {\n <p translate>eo.state.settings.details.upload.dialog.fileError </p>\n }\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\n </button>\n <button type=\"button\" (click)=\"pick(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back\n </button>\n </div>\n</eo-dialog>\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{display:flex;grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color);justify-content:center;align-items:center;height:100%;width:100%}:host .setup input[type=file]{display:none}:host .setup .primary{display:flex;height:5cm;align-content:center;align-items:center;width:5cm;justify-content:center}:host .setup .primary eo-icon{--eoSvgIcon-size: 100px}:host .preview{grid-area:preview;background-color:var(--panel-background);padding:var(--app-pane-padding);pointer-events:none;display:flex;align-items:center;justify-content:center}::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"] }]
25157
+ args: [{ selector: 'eo-picture-widget-setup', template: "<div class=\"setup\">\n <button class=\"primary\" (click)=\"pick(); $event.target.value = null\">\n <input type=\"file\" accept=\"image/*\" #fileInput (change)=\"fileInputChangeListener($event)\">\n <eo-icon class=\"button sync-tab-btn\" [iconSrc]=\"'assets/_default/svg/ic_photo_library.svg'\"\n [iconTitle]=\"'eo.workspace.widget.picture.tooltip' | translate\"></eo-icon>\n </button>\n</div>\n<div class=\"preview\">\n <eo-picture-widget [widgetConfig]=\"widgetConfig\"></eo-picture-widget>\n</div>\n\n<eo-dialog [title]=\"'eo.workspace.widget.picture.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>\n <p>{{ fileName }}</p>\n @if (errorType === 'size') {\n <p translate>eo.workspace.widget.picture.dialog.sizeError</p>\n }\n @if (errorType === 'image') {\n <p translate>eo.state.settings.details.upload.dialog.fileError </p>\n }\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\n </button>\n <button type=\"button\" (click)=\"pick(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back\n </button>\n </div>\n</eo-dialog>\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%;overflow-y:hidden}:host .setup{display:flex;grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color);justify-content:center;align-items:center;height:100%;width:100%}:host .setup input[type=file]{display:none}:host .setup .primary{display:flex;height:5cm;align-content:center;align-items:center;width:5cm;justify-content:center}:host .setup .primary eo-icon{--eoSvgIcon-size: 100px}:host .preview{grid-area:preview;padding:var(--app-pane-padding);pointer-events:none;display:flex;align-items:center;justify-content:center}::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"] }]
25131
25158
  }], ctorParameters: () => [], propDecorators: { fileInputEl: [{
25132
25159
  type: ViewChild,
25133
25160
  args: ['fileInput']
@@ -25608,7 +25635,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
25608
25635
  }] } });
25609
25636
 
25610
25637
  class LoginComponent {
25611
- constructor(route, router, config, titleService, translate, sanitizer, cd, authService, userService) {
25638
+ constructor(route, router, config, titleService, translate, sanitizer, cd, authService, userService, pluginsSerice) {
25612
25639
  this.route = route;
25613
25640
  this.router = router;
25614
25641
  this.config = config;
@@ -25618,6 +25645,7 @@ class LoginComponent {
25618
25645
  this.cd = cd;
25619
25646
  this.authService = authService;
25620
25647
  this.userService = userService;
25648
+ this.pluginsSerice = pluginsSerice;
25621
25649
  this.form = {};
25622
25650
  this.profiles = [];
25623
25651
  this.loading = false;
@@ -25639,6 +25667,7 @@ class LoginComponent {
25639
25667
  }
25640
25668
  ngOnInit() {
25641
25669
  if (this.route.snapshot.params['logout']) {
25670
+ this.pluginsSerice.unload();
25642
25671
  this.authService.logout(true);
25643
25672
  }
25644
25673
  this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
@@ -25692,13 +25721,13 @@ class LoginComponent {
25692
25721
  this.cd.markForCheck();
25693
25722
  });
25694
25723
  }
25695
- 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 }); }
25724
+ 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 }, { token: PluginsService }], target: i0.ɵɵFactoryTarget.Component }); }
25696
25725
  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: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "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" }] }); }
25697
25726
  }
25698
25727
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LoginComponent, decorators: [{
25699
25728
  type: Component,
25700
25729
  args: [{ selector: 'eo-login', 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"] }]
25701
- }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: i1.Config }, { type: PageTitleService }, { type: i1.TranslateService }, { type: i1$1.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i1.AuthService }, { type: i1.UserService }], propDecorators: { setAsPresentButton: [{
25730
+ }], ctorParameters: () => [{ type: i2$1.ActivatedRoute }, { type: i2$1.Router }, { type: i1.Config }, { type: PageTitleService }, { type: i1.TranslateService }, { type: i1$1.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i1.AuthService }, { type: i1.UserService }, { type: PluginsService }], propDecorators: { setAsPresentButton: [{
25702
25731
  type: ViewChild,
25703
25732
  args: ['setAsPresent']
25704
25733
  }] } });
@@ -27892,5 +27921,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
27892
27921
  * Generated bundle index. Do not edit.
27893
27922
  */
27894
27923
 
27895
- 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 };
27924
+ 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, onLoad, panelLoadingAnimations };
27896
27925
  //# sourceMappingURL=eo-sdk-client.mjs.map