@eo-sdk/client 10.6.28 → 10.6.30

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 (35) hide show
  1. package/app/eo-client/index.d.ts +3 -0
  2. package/app/eo-client/index.d.ts.map +1 -1
  3. package/app/eo-client/process-state/filter-label.d.ts +10 -0
  4. package/app/eo-client/process-state/filter-label.d.ts.map +1 -0
  5. package/app/eo-client/settings/settings.component.d.ts +4 -2
  6. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  7. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  8. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
  9. package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts +6 -0
  10. package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts.map +1 -1
  11. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  12. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  13. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +0 -1
  14. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
  15. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +7 -0
  16. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
  17. package/assets/_default/i18n/de.json +2 -1
  18. package/assets/_default/i18n/en.json +2 -1
  19. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  20. package/esm2020/app/eo-client/index.mjs +4 -1
  21. package/esm2020/app/eo-client/process-state/filter-label.mjs +11 -0
  22. package/esm2020/app/eo-client/settings/settings.component.mjs +9 -6
  23. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +4 -3
  24. package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +4 -3
  25. package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +19 -10
  26. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +2 -2
  27. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +8 -3
  28. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -8
  29. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +1 -9
  30. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +14 -2
  31. package/fesm2015/eo-sdk-client.mjs +115 -87
  32. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  33. package/fesm2020/eo-sdk-client.mjs +115 -87
  34. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  35. package/package.json +2 -2
@@ -3374,9 +3374,21 @@ class EoDialogComponent {
3374
3374
  });
3375
3375
  this.overlayRef.afterClosed$.subscribe(() => this.hide.emit());
3376
3376
  }
3377
+ /**
3378
+ * Closes the dialog if it is currently visible.
3379
+ *
3380
+ * This method sets the `_visible` property to `false` if the dialog is visible,
3381
+ * closes the overlay reference if it exists, and emits the `visibleChange` event
3382
+ * with the updated visibility status.
3383
+ */
3377
3384
  closeDialog() {
3378
- if (this.overlayRef)
3385
+ if (this._visible) {
3386
+ this._visible = false;
3387
+ }
3388
+ if (this.overlayRef) {
3379
3389
  this.overlayRef.close();
3390
+ }
3391
+ this.visibleChange.emit(this._visible);
3380
3392
  }
3381
3393
  togglePreview() {
3382
3394
  this.showPreview = !this.showPreview;
@@ -5465,8 +5477,9 @@ let DatetimeRangeComponent = DatetimeRangeComponent_1 = class DatetimeRangeCompo
5465
5477
  dateValue = newDateValue.toISOString();
5466
5478
  }
5467
5479
  if (this.isValid) {
5480
+ const oldSearchOption = this.searchOption;
5468
5481
  this._setValue(!dateValue ? null : new RangeValue(searchOption, dateValue));
5469
- if (this.previousDateValue !== dateValue || this.searchOption !== searchOption) {
5482
+ if (this.previousDateValue !== dateValue || oldSearchOption !== searchOption) {
5470
5483
  this.propagateChange(this.value);
5471
5484
  this.previousDateValue = dateValue;
5472
5485
  }
@@ -5479,7 +5492,7 @@ let DatetimeRangeComponent = DatetimeRangeComponent_1 = class DatetimeRangeCompo
5479
5492
  return;
5480
5493
  if (value && value instanceof RangeValue && (value.firstValue || value.secondValue)) {
5481
5494
  // This prevents the value change event from being fired twice during initialization or when there is already a value
5482
- if (this.rangeForm.pristine && this.value != null && value != this.value) {
5495
+ if (this.rangeForm.pristine && this.value != null && value !== this.value && value.operator === this.value.operator) {
5483
5496
  return;
5484
5497
  }
5485
5498
  const fV = value.firstValue ? new Date(value.firstValue) : null;
@@ -6351,7 +6364,7 @@ StringComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
6351
6364
  useExisting: forwardRef(() => StringComponent),
6352
6365
  multi: true
6353
6366
  }
6354
- ], ngImport: i0, template: "<div class=\"eo-form-string\">\n\n <input *ngIf=\"!multiline && !multiselect && !autocomplete\" type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\"\n [disabled]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n\n <!-- single line input with autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && !multiselect && autocomplete\" #autocomplete [(ngModel)]=\"value\"\n [disabled]=\"readonly\" [autocompleteValues]=\"autocompleteRes\" (blur)=\"onBlur()\"\n (suggestionSelect)=\"onValueChange($event)\" (ngModelChange)=\"onValueChange($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n </yvc-autocomplete>\n\n <!-- single line input with multiselect-->\n <yvc-chips *ngIf=\"!multiline && multiselect && !autocomplete\" [(ngModel)]=\"value\" [disabled]=\"readonly\"\n (blur)=\"onBlur()\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-chips>\n\n <!-- single line input with multiselect and autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && multiselect && autocomplete\" [autocompleteValues]=\"autocompleteRes\"\n [multiple]=\"true\" [disabled]=\"readonly\" (blur)=\"onBlur()\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-autocomplete>\n\n <!-- multi line text inputs -->\n <textarea class=\"input-textarea size-{{size}}\" *ngIf=\"multiline\" (blur)=\"onBlur()\" [(ngModel)]=\"value\"\n [readonly]=\"readonly\" [disabled]=\"readonly\" (ngModelChange)=\"onValueChange($event)\"></textarea>\n\n <div class=\"classify\" [ngClass]=\"{empty: !value || situation === 'SEARCH'}\">\n <a target=\"_blank\" href=\"mailto:{{formatedValue}}\" *ngIf=\"classification === 'email' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M180.309-212.001q-27.008 0-45.658-18.662-18.65-18.662-18.65-45.686v-407.626q0-27.024 18.65-45.524t45.658-18.5h599.382q27.008 0 45.658 18.662 18.65 18.662 18.65 45.686v407.626q0 27.024-18.65 45.524t-45.658 18.5H180.309ZM480-449.694 168-633.309v357q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462h599.382q5.385 0 8.847-3.462 3.462-3.462 3.462-8.847v-357L480-449.694ZM480-517l305.846-179H174.154L480-517ZM168-633.309V-696-276.309q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462H168v-369.309Z\" />\n </svg>\n </a>\n <a target=\"_blank\" href=\"{{value}}\" *ngIf=\"classification === 'url' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M480-116.001q-75.154 0-141.499-28.462-66.346-28.461-115.962-78.076-49.615-49.616-78.076-115.962Q116.001-404.846 116.001-480q0-75.769 28.462-141.807 28.461-66.038 78.076-115.654 49.616-49.615 115.962-78.076Q404.846-843.999 480-843.999q75.769 0 141.807 28.462 66.038 28.461 115.654 78.076 49.615 49.616 78.076 115.654Q843.999-555.769 843.999-480q0 75.154-28.462 141.499-28.461 66.346-78.076 115.962-49.616 49.615-115.654 78.076Q555.769-116.001 480-116.001Zm0-53.845q21.616-21.616 40.539-70.424 18.923-48.808 29.077-108.808H410.384q10.923 61.539 29.462 110.347 18.538 48.808 40.154 68.885Zm-64.46-5q-19-30-34.308-75.539t-23.462-98.693H197.076q31.693 69.309 89.501 115.194 57.809 45.885 128.963 59.038Zm128.92 0q71.154-13.153 128.963-59.038 57.808-45.885 89.501-115.194H602.23Q592.153-295.539 576.845-250q-15.308 45.539-32.385 75.154Zm79.463-226.23h173.693q4.231-21.308 6.039-40.731 1.808-19.424 1.808-38.193t-1.808-38.693q-1.808-19.923-6.039-40.231H623.923q1.231 19.385 1.154 40.385-.077 21-.077 40.539t.077 39.539q.077 20-1.154 37.385Zm-218.308 0h148.77q2.769-22.308 3.462-41.347.692-19.038.692-37.577 0-18.539-.692-38.077-.693-19.539-3.462-40.847h-148.77q-2.769 21.308-3.462 40.847-.692 19.538-.692 38.077 0 18.539.692 38.077.693 19.539 3.462 40.847Zm-243.231 0h173.693q-1.231-19.385-1.154-40.385.077-21 .077-40.539t-.077-39.539q-.077-20 1.154-37.385H162.384q-4.231 21.308-6.039 40.731-1.808 19.424-1.808 38.193t1.808 38.193q1.808 19.423 6.039 40.731ZM602.23-610.922h160.694Q730.846-681 674-726.116q-56.847-45.115-129.54-59.423 19 31.923 33.923 76.885 14.924 44.962 23.847 97.732Zm-191.846 0h139.232q-10.923-61.154-30.039-110.924-19.115-49.769-39.577-68.308-20.462 18.539-39.577 68.308-19.116 49.77-30.039 110.924Zm-213.308 0H357.77q8.923-52.77 23.847-97.732 14.923-44.962 33.923-76.885-73.077 14.308-129.732 59.616-56.654 45.308-88.732 115.001Z\" />\n </svg>\n </a>\n </div>\n\n</div>\n", styles: [".eo-form-string{display:flex;flex-flow:row nowrap;align-items:center}.eo-form-string yvc-chips,.eo-form-string yvc-autocomplete{width:100%;border:0;outline:0!important}.eo-form-string .classify a{color:var(--text-color-hint);display:flex;flex-flow:column;align-items:center;justify-content:center}.eo-form-string .classify a:hover,.eo-form-string .classify a:focus,.eo-form-string .classify a:focus-visible{color:var(--color-accent);outline:0}.eo-form-string .classify a svg{fill:currentColor}.eo-form-string .classify.empty{display:none}.eo-form-string .input-textarea{width:100%;resize:vertical;border:0;background-color:transparent;color:var(--text-color-body)}.eo-form-string .input-textarea.size-small{height:4em}.eo-form-string .input-textarea.size-medium{height:6em}.eo-form-string .input-textarea.size-large{height:8em}:host ::ng-deep input{width:100%;background:transparent;border:0;padding:.25em}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.Chips, selector: "yvc-chips", inputs: ["field", "placeholder", "max", "disabled"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] });
6367
+ ], ngImport: i0, template: "<div class=\"eo-form-string\">\n\n <input *ngIf=\"!multiline && !multiselect && !autocomplete\" type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\"\n [disabled]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n\n <!-- single line input with autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && !multiselect && autocomplete\" #autocomplete [(ngModel)]=\"value\"\n [disabled]=\"readonly\" [autocompleteValues]=\"autocompleteRes\" (blur)=\"onBlur()\"\n (suggestionSelect)=\"onValueChange($event)\" (ngModelChange)=\"onValueChange($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n </yvc-autocomplete>\n\n <!-- single line input with multiselect-->\n <yvc-chips *ngIf=\"!multiline && multiselect && !autocomplete\" [(ngModel)]=\"value\" [disabled]=\"readonly\"\n (blur)=\"onBlur()\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-chips>\n\n <!-- single line input with multiselect and autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && multiselect && autocomplete\" [autocompleteValues]=\"autocompleteRes\"\n [multiple]=\"true\" [disabled]=\"readonly\" (blur)=\"onBlur()\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-autocomplete>\n\n <!-- multi line text inputs -->\n <textarea class=\"input-textarea size-{{size}}\" *ngIf=\"multiline\" (blur)=\"onBlur()\" [(ngModel)]=\"value\"\n [readonly]=\"readonly\" [disabled]=\"readonly\" (ngModelChange)=\"onValueChange($event)\"></textarea>\n\n <div class=\"classify\" [ngClass]=\"{empty: !value || situation === 'SEARCH'}\">\n <a target=\"_blank\" href=\"mailto:{{formatedValue}}\" *ngIf=\"classification === 'email' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M180.309-212.001q-27.008 0-45.658-18.662-18.65-18.662-18.65-45.686v-407.626q0-27.024 18.65-45.524t45.658-18.5h599.382q27.008 0 45.658 18.662 18.65 18.662 18.65 45.686v407.626q0 27.024-18.65 45.524t-45.658 18.5H180.309ZM480-449.694 168-633.309v357q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462h599.382q5.385 0 8.847-3.462 3.462-3.462 3.462-8.847v-357L480-449.694ZM480-517l305.846-179H174.154L480-517ZM168-633.309V-696-276.309q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462H168v-369.309Z\" />\n </svg>\n </a>\n <a target=\"_blank\" href=\"{{value}}\" *ngIf=\"classification === 'url' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M480-116.001q-75.154 0-141.499-28.462-66.346-28.461-115.962-78.076-49.615-49.616-78.076-115.962Q116.001-404.846 116.001-480q0-75.769 28.462-141.807 28.461-66.038 78.076-115.654 49.616-49.615 115.962-78.076Q404.846-843.999 480-843.999q75.769 0 141.807 28.462 66.038 28.461 115.654 78.076 49.615 49.616 78.076 115.654Q843.999-555.769 843.999-480q0 75.154-28.462 141.499-28.461 66.346-78.076 115.962-49.616 49.615-115.654 78.076Q555.769-116.001 480-116.001Zm0-53.845q21.616-21.616 40.539-70.424 18.923-48.808 29.077-108.808H410.384q10.923 61.539 29.462 110.347 18.538 48.808 40.154 68.885Zm-64.46-5q-19-30-34.308-75.539t-23.462-98.693H197.076q31.693 69.309 89.501 115.194 57.809 45.885 128.963 59.038Zm128.92 0q71.154-13.153 128.963-59.038 57.808-45.885 89.501-115.194H602.23Q592.153-295.539 576.845-250q-15.308 45.539-32.385 75.154Zm79.463-226.23h173.693q4.231-21.308 6.039-40.731 1.808-19.424 1.808-38.193t-1.808-38.693q-1.808-19.923-6.039-40.231H623.923q1.231 19.385 1.154 40.385-.077 21-.077 40.539t.077 39.539q.077 20-1.154 37.385Zm-218.308 0h148.77q2.769-22.308 3.462-41.347.692-19.038.692-37.577 0-18.539-.692-38.077-.693-19.539-3.462-40.847h-148.77q-2.769 21.308-3.462 40.847-.692 19.538-.692 38.077 0 18.539.692 38.077.693 19.539 3.462 40.847Zm-243.231 0h173.693q-1.231-19.385-1.154-40.385.077-21 .077-40.539t-.077-39.539q-.077-20 1.154-37.385H162.384q-4.231 21.308-6.039 40.731-1.808 19.424-1.808 38.193t1.808 38.193q1.808 19.423 6.039 40.731ZM602.23-610.922h160.694Q730.846-681 674-726.116q-56.847-45.115-129.54-59.423 19 31.923 33.923 76.885 14.924 44.962 23.847 97.732Zm-191.846 0h139.232q-10.923-61.154-30.039-110.924-19.115-49.769-39.577-68.308-20.462 18.539-39.577 68.308-19.116 49.77-30.039 110.924Zm-213.308 0H357.77q8.923-52.77 23.847-97.732 14.923-44.962 33.923-76.885-73.077 14.308-129.732 59.616-56.654 45.308-88.732 115.001Z\" />\n </svg>\n </a>\n </div>\n\n</div>\n", styles: [".eo-form-string{display:flex;flex-flow:row nowrap;align-items:center}.eo-form-string yvc-chips,.eo-form-string yvc-autocomplete{width:100%;border:0;outline:0!important}.eo-form-string .classify a{color:var(--text-color-hint);display:flex;flex-flow:column;align-items:center;justify-content:center}.eo-form-string .classify a:hover,.eo-form-string .classify a:focus,.eo-form-string .classify a:focus-visible{color:var(--color-accent);outline:0}.eo-form-string .classify a svg{fill:currentColor}.eo-form-string .classify.empty{display:none}.eo-form-string .input-textarea{width:100%;resize:vertical;border:0;background-color:transparent;color:var(--text-color-body)}.eo-form-string .input-textarea.size-small{height:4em}.eo-form-string .input-textarea.size-medium{height:6em}.eo-form-string .input-textarea.size-large{height:8em}:host ::ng-deep input{width:100%;background:transparent;border:0;padding:.25em}:host ::ng-deep .yvc-typeahead-input.yvc-typeahead-input{padding:0}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.Chips, selector: "yvc-chips", inputs: ["field", "placeholder", "max", "disabled"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }] });
6355
6368
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StringComponent, decorators: [{
6356
6369
  type: Component,
6357
6370
  args: [{ selector: 'eo-string', providers: [
@@ -6365,7 +6378,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
6365
6378
  useExisting: forwardRef(() => StringComponent),
6366
6379
  multi: true
6367
6380
  }
6368
- ], template: "<div class=\"eo-form-string\">\n\n <input *ngIf=\"!multiline && !multiselect && !autocomplete\" type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\"\n [disabled]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n\n <!-- single line input with autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && !multiselect && autocomplete\" #autocomplete [(ngModel)]=\"value\"\n [disabled]=\"readonly\" [autocompleteValues]=\"autocompleteRes\" (blur)=\"onBlur()\"\n (suggestionSelect)=\"onValueChange($event)\" (ngModelChange)=\"onValueChange($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n </yvc-autocomplete>\n\n <!-- single line input with multiselect-->\n <yvc-chips *ngIf=\"!multiline && multiselect && !autocomplete\" [(ngModel)]=\"value\" [disabled]=\"readonly\"\n (blur)=\"onBlur()\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-chips>\n\n <!-- single line input with multiselect and autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && multiselect && autocomplete\" [autocompleteValues]=\"autocompleteRes\"\n [multiple]=\"true\" [disabled]=\"readonly\" (blur)=\"onBlur()\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-autocomplete>\n\n <!-- multi line text inputs -->\n <textarea class=\"input-textarea size-{{size}}\" *ngIf=\"multiline\" (blur)=\"onBlur()\" [(ngModel)]=\"value\"\n [readonly]=\"readonly\" [disabled]=\"readonly\" (ngModelChange)=\"onValueChange($event)\"></textarea>\n\n <div class=\"classify\" [ngClass]=\"{empty: !value || situation === 'SEARCH'}\">\n <a target=\"_blank\" href=\"mailto:{{formatedValue}}\" *ngIf=\"classification === 'email' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M180.309-212.001q-27.008 0-45.658-18.662-18.65-18.662-18.65-45.686v-407.626q0-27.024 18.65-45.524t45.658-18.5h599.382q27.008 0 45.658 18.662 18.65 18.662 18.65 45.686v407.626q0 27.024-18.65 45.524t-45.658 18.5H180.309ZM480-449.694 168-633.309v357q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462h599.382q5.385 0 8.847-3.462 3.462-3.462 3.462-8.847v-357L480-449.694ZM480-517l305.846-179H174.154L480-517ZM168-633.309V-696-276.309q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462H168v-369.309Z\" />\n </svg>\n </a>\n <a target=\"_blank\" href=\"{{value}}\" *ngIf=\"classification === 'url' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M480-116.001q-75.154 0-141.499-28.462-66.346-28.461-115.962-78.076-49.615-49.616-78.076-115.962Q116.001-404.846 116.001-480q0-75.769 28.462-141.807 28.461-66.038 78.076-115.654 49.616-49.615 115.962-78.076Q404.846-843.999 480-843.999q75.769 0 141.807 28.462 66.038 28.461 115.654 78.076 49.615 49.616 78.076 115.654Q843.999-555.769 843.999-480q0 75.154-28.462 141.499-28.461 66.346-78.076 115.962-49.616 49.615-115.654 78.076Q555.769-116.001 480-116.001Zm0-53.845q21.616-21.616 40.539-70.424 18.923-48.808 29.077-108.808H410.384q10.923 61.539 29.462 110.347 18.538 48.808 40.154 68.885Zm-64.46-5q-19-30-34.308-75.539t-23.462-98.693H197.076q31.693 69.309 89.501 115.194 57.809 45.885 128.963 59.038Zm128.92 0q71.154-13.153 128.963-59.038 57.808-45.885 89.501-115.194H602.23Q592.153-295.539 576.845-250q-15.308 45.539-32.385 75.154Zm79.463-226.23h173.693q4.231-21.308 6.039-40.731 1.808-19.424 1.808-38.193t-1.808-38.693q-1.808-19.923-6.039-40.231H623.923q1.231 19.385 1.154 40.385-.077 21-.077 40.539t.077 39.539q.077 20-1.154 37.385Zm-218.308 0h148.77q2.769-22.308 3.462-41.347.692-19.038.692-37.577 0-18.539-.692-38.077-.693-19.539-3.462-40.847h-148.77q-2.769 21.308-3.462 40.847-.692 19.538-.692 38.077 0 18.539.692 38.077.693 19.539 3.462 40.847Zm-243.231 0h173.693q-1.231-19.385-1.154-40.385.077-21 .077-40.539t-.077-39.539q-.077-20 1.154-37.385H162.384q-4.231 21.308-6.039 40.731-1.808 19.424-1.808 38.193t1.808 38.193q1.808 19.423 6.039 40.731ZM602.23-610.922h160.694Q730.846-681 674-726.116q-56.847-45.115-129.54-59.423 19 31.923 33.923 76.885 14.924 44.962 23.847 97.732Zm-191.846 0h139.232q-10.923-61.154-30.039-110.924-19.115-49.769-39.577-68.308-20.462 18.539-39.577 68.308-19.116 49.77-30.039 110.924Zm-213.308 0H357.77q8.923-52.77 23.847-97.732 14.923-44.962 33.923-76.885-73.077 14.308-129.732 59.616-56.654 45.308-88.732 115.001Z\" />\n </svg>\n </a>\n </div>\n\n</div>\n", styles: [".eo-form-string{display:flex;flex-flow:row nowrap;align-items:center}.eo-form-string yvc-chips,.eo-form-string yvc-autocomplete{width:100%;border:0;outline:0!important}.eo-form-string .classify a{color:var(--text-color-hint);display:flex;flex-flow:column;align-items:center;justify-content:center}.eo-form-string .classify a:hover,.eo-form-string .classify a:focus,.eo-form-string .classify a:focus-visible{color:var(--color-accent);outline:0}.eo-form-string .classify a svg{fill:currentColor}.eo-form-string .classify.empty{display:none}.eo-form-string .input-textarea{width:100%;resize:vertical;border:0;background-color:transparent;color:var(--text-color-body)}.eo-form-string .input-textarea.size-small{height:4em}.eo-form-string .input-textarea.size-medium{height:6em}.eo-form-string .input-textarea.size-large{height:8em}:host ::ng-deep input{width:100%;background:transparent;border:0;padding:.25em}\n"] }]
6381
+ ], template: "<div class=\"eo-form-string\">\n\n <input *ngIf=\"!multiline && !multiselect && !autocomplete\" type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\"\n [disabled]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n\n <!-- single line input with autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && !multiselect && autocomplete\" #autocomplete [(ngModel)]=\"value\"\n [disabled]=\"readonly\" [autocompleteValues]=\"autocompleteRes\" (blur)=\"onBlur()\"\n (suggestionSelect)=\"onValueChange($event)\" (ngModelChange)=\"onValueChange($event)\"\n (autocompleteFnc)=\"autocompleteFn($event)\">\n </yvc-autocomplete>\n\n <!-- single line input with multiselect-->\n <yvc-chips *ngIf=\"!multiline && multiselect && !autocomplete\" [(ngModel)]=\"value\" [disabled]=\"readonly\"\n (blur)=\"onBlur()\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-chips>\n\n <!-- single line input with multiselect and autocomplete -->\n <yvc-autocomplete *ngIf=\"!multiline && multiselect && autocomplete\" [autocompleteValues]=\"autocompleteRes\"\n [multiple]=\"true\" [disabled]=\"readonly\" (blur)=\"onBlur()\" (autocompleteFnc)=\"autocompleteFn($event)\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\n </yvc-autocomplete>\n\n <!-- multi line text inputs -->\n <textarea class=\"input-textarea size-{{size}}\" *ngIf=\"multiline\" (blur)=\"onBlur()\" [(ngModel)]=\"value\"\n [readonly]=\"readonly\" [disabled]=\"readonly\" (ngModelChange)=\"onValueChange($event)\"></textarea>\n\n <div class=\"classify\" [ngClass]=\"{empty: !value || situation === 'SEARCH'}\">\n <a target=\"_blank\" href=\"mailto:{{formatedValue}}\" *ngIf=\"classification === 'email' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M180.309-212.001q-27.008 0-45.658-18.662-18.65-18.662-18.65-45.686v-407.626q0-27.024 18.65-45.524t45.658-18.5h599.382q27.008 0 45.658 18.662 18.65 18.662 18.65 45.686v407.626q0 27.024-18.65 45.524t-45.658 18.5H180.309ZM480-449.694 168-633.309v357q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462h599.382q5.385 0 8.847-3.462 3.462-3.462 3.462-8.847v-357L480-449.694ZM480-517l305.846-179H174.154L480-517ZM168-633.309V-696-276.309q0 5.385 3.462 8.847 3.462 3.462 8.847 3.462H168v-369.309Z\" />\n </svg>\n </a>\n <a target=\"_blank\" href=\"{{value}}\" *ngIf=\"classification === 'url' && valid\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\">\n <path\n d=\"M480-116.001q-75.154 0-141.499-28.462-66.346-28.461-115.962-78.076-49.615-49.616-78.076-115.962Q116.001-404.846 116.001-480q0-75.769 28.462-141.807 28.461-66.038 78.076-115.654 49.616-49.615 115.962-78.076Q404.846-843.999 480-843.999q75.769 0 141.807 28.462 66.038 28.461 115.654 78.076 49.615 49.616 78.076 115.654Q843.999-555.769 843.999-480q0 75.154-28.462 141.499-28.461 66.346-78.076 115.962-49.616 49.615-115.654 78.076Q555.769-116.001 480-116.001Zm0-53.845q21.616-21.616 40.539-70.424 18.923-48.808 29.077-108.808H410.384q10.923 61.539 29.462 110.347 18.538 48.808 40.154 68.885Zm-64.46-5q-19-30-34.308-75.539t-23.462-98.693H197.076q31.693 69.309 89.501 115.194 57.809 45.885 128.963 59.038Zm128.92 0q71.154-13.153 128.963-59.038 57.808-45.885 89.501-115.194H602.23Q592.153-295.539 576.845-250q-15.308 45.539-32.385 75.154Zm79.463-226.23h173.693q4.231-21.308 6.039-40.731 1.808-19.424 1.808-38.193t-1.808-38.693q-1.808-19.923-6.039-40.231H623.923q1.231 19.385 1.154 40.385-.077 21-.077 40.539t.077 39.539q.077 20-1.154 37.385Zm-218.308 0h148.77q2.769-22.308 3.462-41.347.692-19.038.692-37.577 0-18.539-.692-38.077-.693-19.539-3.462-40.847h-148.77q-2.769 21.308-3.462 40.847-.692 19.538-.692 38.077 0 18.539.692 38.077.693 19.539 3.462 40.847Zm-243.231 0h173.693q-1.231-19.385-1.154-40.385.077-21 .077-40.539t-.077-39.539q-.077-20 1.154-37.385H162.384q-4.231 21.308-6.039 40.731-1.808 19.424-1.808 38.193t1.808 38.193q1.808 19.423 6.039 40.731ZM602.23-610.922h160.694Q730.846-681 674-726.116q-56.847-45.115-129.54-59.423 19 31.923 33.923 76.885 14.924 44.962 23.847 97.732Zm-191.846 0h139.232q-10.923-61.154-30.039-110.924-19.115-49.769-39.577-68.308-20.462 18.539-39.577 68.308-19.116 49.77-30.039 110.924Zm-213.308 0H357.77q8.923-52.77 23.847-97.732 14.923-44.962 33.923-76.885-73.077 14.308-129.732 59.616-56.654 45.308-88.732 115.001Z\" />\n </svg>\n </a>\n </div>\n\n</div>\n", styles: [".eo-form-string{display:flex;flex-flow:row nowrap;align-items:center}.eo-form-string yvc-chips,.eo-form-string yvc-autocomplete{width:100%;border:0;outline:0!important}.eo-form-string .classify a{color:var(--text-color-hint);display:flex;flex-flow:column;align-items:center;justify-content:center}.eo-form-string .classify a:hover,.eo-form-string .classify a:focus,.eo-form-string .classify a:focus-visible{color:var(--color-accent);outline:0}.eo-form-string .classify a svg{fill:currentColor}.eo-form-string .classify.empty{display:none}.eo-form-string .input-textarea{width:100%;resize:vertical;border:0;background-color:transparent;color:var(--text-color-body)}.eo-form-string .input-textarea.size-small{height:4em}.eo-form-string .input-textarea.size-medium{height:6em}.eo-form-string .input-textarea.size-large{height:8em}:host ::ng-deep input{width:100%;background:transparent;border:0;padding:.25em}:host ::ng-deep .yvc-typeahead-input.yvc-typeahead-input{padding:0}\n"] }]
6369
6382
  }], ctorParameters: function () { return [{ type: i1.BackendService }]; }, propDecorators: { autocomplete: [{
6370
6383
  type: Input
6371
6384
  }], multiselect: [{
@@ -6937,6 +6950,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
6937
6950
  args: ['listObject']
6938
6951
  }] } });
6939
6952
 
6953
+ /**
6954
+ * This directive adds an outside click listener to each element it is applied to.
6955
+ * The directive will also execute the provided handler function, when the user hits ESC.
6956
+ * <... (eoOutSideClick)="doSomethingOnOutsideClick($event)"></...>
6957
+ */
6958
+ let OutsideClickDirective = class OutsideClickDirective {
6959
+ constructor(_elementRef, eventService) {
6960
+ this._elementRef = _elementRef;
6961
+ this.eventService = eventService;
6962
+ this.active = true;
6963
+ this.eoOutsideClick = new EventEmitter();
6964
+ this.eventService
6965
+ .on(EnaioEvent.EO_DIALOG_STACK_CHANGED).pipe(untilDestroyed(this))
6966
+ .subscribe((event) => {
6967
+ this.active = !event.data.active;
6968
+ });
6969
+ }
6970
+ keyboardInput(event, targetElement) {
6971
+ if (this.active && !event.defaultPrevented && event.key === 'Escape') {
6972
+ this.onOutsideEvent(event);
6973
+ }
6974
+ }
6975
+ onClick(event, targetElement) {
6976
+ const overlayContainer = document.querySelector('.cdk-overlay-container');
6977
+ if (this.active && !this._elementRef.nativeElement.contains(targetElement)
6978
+ && (overlayContainer && overlayContainer.hasChildNodes() ? !overlayContainer.contains(targetElement) : true)) {
6979
+ this.onOutsideEvent(event);
6980
+ }
6981
+ }
6982
+ onOutsideEvent(event) {
6983
+ this.eoOutsideClick.emit(event);
6984
+ }
6985
+ };
6986
+ OutsideClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: OutsideClickDirective, deps: [{ token: i0.ElementRef }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Directive });
6987
+ OutsideClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: OutsideClickDirective, selector: "[eoOutsideClick]", outputs: { eoOutsideClick: "eoOutsideClick" }, host: { listeners: { "document:keydown": "keyboardInput($event,$event.target)", "document:mousedown": "onClick($event,$event.target)" } }, ngImport: i0 });
6988
+ OutsideClickDirective = __decorate([
6989
+ UntilDestroy()
6990
+ ], OutsideClickDirective);
6991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: OutsideClickDirective, decorators: [{
6992
+ type: Directive,
6993
+ args: [{
6994
+ selector: '[eoOutsideClick]'
6995
+ }]
6996
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.EventService }]; }, propDecorators: { eoOutsideClick: [{
6997
+ type: Output
6998
+ }], keyboardInput: [{
6999
+ type: HostListener,
7000
+ args: ['document:keydown', ['$event', '$event.target']]
7001
+ }], onClick: [{
7002
+ type: HostListener,
7003
+ args: ['document:mousedown', ['$event', '$event.target']]
7004
+ }] } });
7005
+
6940
7006
  const fadeInOut = trigger('fadeInOut', [
6941
7007
  state('void', style({
6942
7008
  opacity: 0
@@ -7518,6 +7584,14 @@ class IdReferenceComponent {
7518
7584
  this.multiselect = true;
7519
7585
  }
7520
7586
  }
7587
+ /**
7588
+ * Updates the visibility of the dialog.
7589
+ *
7590
+ * @param {boolean} event - The new visibility state of the dialog.
7591
+ */
7592
+ updateDialogVisibility(event) {
7593
+ this.visibleDialog = event;
7594
+ }
7521
7595
  }
7522
7596
  IdReferenceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: IdReferenceComponent, deps: [{ token: i1.ClipboardService }, { token: i1.SystemService }, { token: ReferenceService }, { token: i1.SearchService }], target: i0.ɵɵFactoryTarget.Component });
7523
7597
  IdReferenceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: IdReferenceComponent, selector: "eo-id-reference", inputs: { readonly: "readonly", multiselect: "multiselect", situation: "situation", contextId: "contextId", exceptionIDs: "exceptionIDs", dataToRender: "dataToRender", reference: "reference", queryFilters: "queryFilters", objectTypesFilter: "objectTypesFilter" }, providers: [
@@ -7531,7 +7605,7 @@ IdReferenceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
7531
7605
  useExisting: forwardRef(() => IdReferenceComponent),
7532
7606
  multi: true
7533
7607
  }
7534
- ], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }], ngImport: i0, template: "<div class=\"eo-id-reference\" [ngClass]=\"{acInputHidden: !multiselect && _innerValues.length}\">\n <yvc-autocomplete [(ngModel)]=\"innerValues\" [minLength]=\"1\" #autocomplete\n (suggestionSelect)=\"onAutoCompleteSelect($event)\" (suggestionUnselect)=\"removeItem($event)\"\n (blur)=\"onAutoCompleteBlur()\" [autocompleteValues]=\"autocompleteRes\" field=\"title\" [disabled]=\"readonly\"\n [forceSelection]=\"true\" (autocompleteFnc)=\"autocompleteFn($event)\" [multiple]=\"true\">\n\n <!-- [styleClass]=\"!multiselect && innerValues.length === 1 ? 'xxx' : ''\"> -->\n\n <ng-template #chipTemplate let-item>\n <a *ngIf=\"!item.state || item.state === 'OK'\" class=\"link router-link\"\n [routerLink]=\"['/object', item.id, {outlets: {modal: null}}]\" [queryParams]=\"{type: referenceType.qname}\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\">\n </path>\n </svg>\n </a>\n <eo-icon [objectType]=\"referenceType\" title=\"{{referenceType?.label}}\" class=\"ref-type-icon\" [ngClass]=\"{'deleted-reference-label': item.state && (item.state === 'RECYCLED' || item.state === 'GONE')}\"></eo-icon>\n <span *ngIf=\"!(item.state && (item.state === 'RECYCLED' || item.state === 'GONE')); else deleted\" class=\"label\" eoRtlAware=\"full\">\n <span *ngIf=\"item.title || referenceType?.label; else noAccess\">\n {{item.title || referenceType?.label}}\n </span>\n </span>\n <ng-template #noAccess>\n <span class=\"label no-access-reference-label\">{{('eo.references.noAccess' | translate)}}</span>\n </ng-template>\n <ng-template #deleted>\n <span class=\"label deleted-reference-label\">{{('eo.references.deleted' | translate)}}</span>\n </ng-template>\n </ng-template>\n </yvc-autocomplete>\n\n <ng-template #notFound><span class=\"label\">{{innerValues && innerValues.length ? ('eo.references.not.available' |\n translate) : ''}}</span></ng-template>\n\n <button #button class=\"ui-button\" *ngIf=\"!readonly\"\n title=\"{{('eo.references.search' | translate) + ' ' + tooltipTypeHint}}\" [disabled]=\"selectionDisabled\"\n (click)=\"showDialog()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_none.svg'\"></eo-icon>\n </button>\n</div>\n\n<eo-dialog [title]=\"('eo.references.add' | translate)\" [subtitle]=\"referenceType?.label\" [(visible)]=\"visibleDialog\"\n [minWidth]=\"577\" [minHeight]=\"590\" [styleClass]=\"'reference-field-dialog'\" #dialog>\n\n <eo-reference-finder *ngIf=\"dialog.visible\" [isDisabled]=\"isDisabled\" [types]=\"referenceType.qname\"\n [multiselect]=\"multiselect\" [currentSelection]=\"innerValues\" [clipboard]=\"clipboard\" [contextId]=\"contextId\"\n [exceptionIDs]=\"exceptionIDs\" [queryFilters]=\"queryFilters\" (addDmsObjects)=\"paste($event)\">\n </eo-reference-finder>\n</eo-dialog>\n", styles: [".eo-id-reference{display:flex;align-items:center}.eo-id-reference__element{display:flex;align-self:center;flex-wrap:wrap}.eo-id-reference>button{padding:0}.eo-id-reference>button eo-icon{width:16px;height:16px;margin:auto}::ng-deep .eo-id-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}::ng-deep .eo-id-reference.acInputHidden .inputToken input{width:0!important}::ng-deep .reference-field-dialog{width:577px}::ng-deep .deleted-reference-label,::ng-deep .no-access-reference-label{color:var(--color-error)}::ng-deep .label{display:flex;flex-flow:column;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .label>span{font-size:var(--font-hint)}::ng-deep .label.rtl{margin-left:1em;margin-right:4px}::ng-deep a.link{color:var(--text-color-caption);pointer-events:all;display:flex}::ng-deep a.link:hover{color:var(--color-accent)}::ng-deep .ref-icon,::ng-deep .ref-type-icon{width:16px;height:16px;color:var(--text-color-caption)}::ng-deep .remove-icon{color:var(--text-color-hint);height:14px;width:14px;flex:0 0 auto}::ng-deep .remove-icon:hover{color:var(--text-color-caption);cursor:pointer}yvc-autocomplete{width:100%;border:0;outline:0!important}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { 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: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }, { kind: "component", type: ReferenceFinderComponent, selector: "eo-reference-finder", inputs: ["isDisabled", "types", "multiselect", "contextId", "exceptionIDs", "queryFilters", "currentSelection", "clipboard"], outputs: ["addDmsObjects"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
7608
+ ], viewQueries: [{ propertyName: "autoCompleteInput", first: true, predicate: ["autocomplete"], descendants: true }], ngImport: i0, template: "<div class=\"eo-id-reference\" [ngClass]=\"{acInputHidden: !multiselect && _innerValues.length}\">\n <yvc-autocomplete [(ngModel)]=\"innerValues\" [minLength]=\"1\" #autocomplete\n (suggestionSelect)=\"onAutoCompleteSelect($event)\" (suggestionUnselect)=\"removeItem($event)\"\n (blur)=\"onAutoCompleteBlur()\" [autocompleteValues]=\"autocompleteRes\" field=\"title\" [disabled]=\"readonly\"\n [forceSelection]=\"true\" (autocompleteFnc)=\"autocompleteFn($event)\" [multiple]=\"true\">\n\n <!-- [styleClass]=\"!multiselect && innerValues.length === 1 ? 'xxx' : ''\"> -->\n\n <ng-template #chipTemplate let-item>\n <a *ngIf=\"!item.state || item.state === 'OK'\" class=\"link router-link\"\n [routerLink]=\"['/object', item.id, {outlets: {modal: null}}]\" [queryParams]=\"{type: referenceType.qname}\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\">\n </path>\n </svg>\n </a>\n <eo-icon [objectType]=\"referenceType\" title=\"{{referenceType?.label}}\" class=\"ref-type-icon\" [ngClass]=\"{'deleted-reference-label': item.state && (item.state === 'RECYCLED' || item.state === 'GONE')}\"></eo-icon>\n <span *ngIf=\"!(item.state && (item.state === 'RECYCLED' || item.state === 'GONE')); else deleted\" class=\"label\" eoRtlAware=\"full\">\n <span *ngIf=\"item.title || referenceType?.label; else noAccess\">\n {{item.title || referenceType?.label}}\n </span>\n </span>\n <ng-template #noAccess>\n <span class=\"label no-access-reference-label\">{{('eo.references.noAccess' | translate)}}</span>\n </ng-template>\n <ng-template #deleted>\n <span class=\"label deleted-reference-label\">{{('eo.references.deleted' | translate)}}</span>\n </ng-template>\n </ng-template>\n </yvc-autocomplete>\n\n <ng-template #notFound><span class=\"label\">{{innerValues && innerValues.length ? ('eo.references.not.available' |\n translate) : ''}}</span></ng-template>\n\n <button #button class=\"ui-button\" *ngIf=\"!readonly\"\n title=\"{{('eo.references.search' | translate) + ' ' + tooltipTypeHint}}\" [disabled]=\"selectionDisabled\"\n (click)=\"showDialog()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_none.svg'\"></eo-icon>\n </button>\n</div>\n\n<eo-dialog [title]=\"('eo.references.add' | translate)\" [subtitle]=\"referenceType?.label\" [(visible)]=\"visibleDialog\"\n [minHeight]=\"590\" [styleClass]=\"'reference-field-dialog'\" #dialog (visibleChange)=\"updateDialogVisibility($event)\" (eoOutsideClick)=\"updateDialogVisibility(false)\">\n\n <eo-reference-finder *ngIf=\"dialog.visible\" [isDisabled]=\"isDisabled\" [types]=\"referenceType.qname\"\n [multiselect]=\"multiselect\" [currentSelection]=\"innerValues\" [clipboard]=\"clipboard\" [contextId]=\"contextId\"\n [exceptionIDs]=\"exceptionIDs\" [queryFilters]=\"queryFilters\" (addDmsObjects)=\"paste($event)\">\n </eo-reference-finder>\n</eo-dialog>\n", styles: [".eo-id-reference{display:flex;align-items:center}.eo-id-reference__element{display:flex;align-self:center;flex-wrap:wrap}.eo-id-reference>button{padding:0}.eo-id-reference>button eo-icon{width:16px;height:16px;margin:auto}::ng-deep .eo-id-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}::ng-deep .eo-id-reference.acInputHidden .inputToken input{width:0!important}::ng-deep .reference-field-dialog{width:577px}::ng-deep .deleted-reference-label,::ng-deep .no-access-reference-label{color:var(--color-error)}::ng-deep .label{display:flex;flex-flow:column;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .label>span{font-size:var(--font-hint)}::ng-deep .label.rtl{margin-left:1em;margin-right:4px}::ng-deep a.link{color:var(--text-color-caption);pointer-events:all;display:flex}::ng-deep a.link:hover{color:var(--color-accent)}::ng-deep .ref-icon,::ng-deep .ref-type-icon{width:16px;height:16px;color:var(--text-color-caption)}::ng-deep .remove-icon{color:var(--text-color-hint);height:14px;width:14px;flex:0 0 auto}::ng-deep .remove-icon:hover{color:var(--text-color-caption);cursor:pointer}yvc-autocomplete{width:100%;border:0;outline:0!important}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "directive", type: RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { 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: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.AutoComplete, selector: "yvc-autocomplete", inputs: ["field", "placeholder", "minLength", "multiple", "typeahead", "distinctValues", "forceSelection", "autocompleteValues", "disabled"], outputs: ["autocompleteFnc", "blur", "focus", "suggestionUnselect", "suggestionSelect"] }, { kind: "component", type: ReferenceFinderComponent, selector: "eo-reference-finder", inputs: ["isDisabled", "types", "multiselect", "contextId", "exceptionIDs", "queryFilters", "currentSelection", "clipboard"], outputs: ["addDmsObjects"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
7535
7609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: IdReferenceComponent, decorators: [{
7536
7610
  type: Component,
7537
7611
  args: [{ selector: 'eo-id-reference', providers: [
@@ -7545,7 +7619,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
7545
7619
  useExisting: forwardRef(() => IdReferenceComponent),
7546
7620
  multi: true
7547
7621
  }
7548
- ], template: "<div class=\"eo-id-reference\" [ngClass]=\"{acInputHidden: !multiselect && _innerValues.length}\">\n <yvc-autocomplete [(ngModel)]=\"innerValues\" [minLength]=\"1\" #autocomplete\n (suggestionSelect)=\"onAutoCompleteSelect($event)\" (suggestionUnselect)=\"removeItem($event)\"\n (blur)=\"onAutoCompleteBlur()\" [autocompleteValues]=\"autocompleteRes\" field=\"title\" [disabled]=\"readonly\"\n [forceSelection]=\"true\" (autocompleteFnc)=\"autocompleteFn($event)\" [multiple]=\"true\">\n\n <!-- [styleClass]=\"!multiselect && innerValues.length === 1 ? 'xxx' : ''\"> -->\n\n <ng-template #chipTemplate let-item>\n <a *ngIf=\"!item.state || item.state === 'OK'\" class=\"link router-link\"\n [routerLink]=\"['/object', item.id, {outlets: {modal: null}}]\" [queryParams]=\"{type: referenceType.qname}\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\">\n </path>\n </svg>\n </a>\n <eo-icon [objectType]=\"referenceType\" title=\"{{referenceType?.label}}\" class=\"ref-type-icon\" [ngClass]=\"{'deleted-reference-label': item.state && (item.state === 'RECYCLED' || item.state === 'GONE')}\"></eo-icon>\n <span *ngIf=\"!(item.state && (item.state === 'RECYCLED' || item.state === 'GONE')); else deleted\" class=\"label\" eoRtlAware=\"full\">\n <span *ngIf=\"item.title || referenceType?.label; else noAccess\">\n {{item.title || referenceType?.label}}\n </span>\n </span>\n <ng-template #noAccess>\n <span class=\"label no-access-reference-label\">{{('eo.references.noAccess' | translate)}}</span>\n </ng-template>\n <ng-template #deleted>\n <span class=\"label deleted-reference-label\">{{('eo.references.deleted' | translate)}}</span>\n </ng-template>\n </ng-template>\n </yvc-autocomplete>\n\n <ng-template #notFound><span class=\"label\">{{innerValues && innerValues.length ? ('eo.references.not.available' |\n translate) : ''}}</span></ng-template>\n\n <button #button class=\"ui-button\" *ngIf=\"!readonly\"\n title=\"{{('eo.references.search' | translate) + ' ' + tooltipTypeHint}}\" [disabled]=\"selectionDisabled\"\n (click)=\"showDialog()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_none.svg'\"></eo-icon>\n </button>\n</div>\n\n<eo-dialog [title]=\"('eo.references.add' | translate)\" [subtitle]=\"referenceType?.label\" [(visible)]=\"visibleDialog\"\n [minWidth]=\"577\" [minHeight]=\"590\" [styleClass]=\"'reference-field-dialog'\" #dialog>\n\n <eo-reference-finder *ngIf=\"dialog.visible\" [isDisabled]=\"isDisabled\" [types]=\"referenceType.qname\"\n [multiselect]=\"multiselect\" [currentSelection]=\"innerValues\" [clipboard]=\"clipboard\" [contextId]=\"contextId\"\n [exceptionIDs]=\"exceptionIDs\" [queryFilters]=\"queryFilters\" (addDmsObjects)=\"paste($event)\">\n </eo-reference-finder>\n</eo-dialog>\n", styles: [".eo-id-reference{display:flex;align-items:center}.eo-id-reference__element{display:flex;align-self:center;flex-wrap:wrap}.eo-id-reference>button{padding:0}.eo-id-reference>button eo-icon{width:16px;height:16px;margin:auto}::ng-deep .eo-id-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}::ng-deep .eo-id-reference.acInputHidden .inputToken input{width:0!important}::ng-deep .reference-field-dialog{width:577px}::ng-deep .deleted-reference-label,::ng-deep .no-access-reference-label{color:var(--color-error)}::ng-deep .label{display:flex;flex-flow:column;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .label>span{font-size:var(--font-hint)}::ng-deep .label.rtl{margin-left:1em;margin-right:4px}::ng-deep a.link{color:var(--text-color-caption);pointer-events:all;display:flex}::ng-deep a.link:hover{color:var(--color-accent)}::ng-deep .ref-icon,::ng-deep .ref-type-icon{width:16px;height:16px;color:var(--text-color-caption)}::ng-deep .remove-icon{color:var(--text-color-hint);height:14px;width:14px;flex:0 0 auto}::ng-deep .remove-icon:hover{color:var(--text-color-caption);cursor:pointer}yvc-autocomplete{width:100%;border:0;outline:0!important}\n"] }]
7622
+ ], template: "<div class=\"eo-id-reference\" [ngClass]=\"{acInputHidden: !multiselect && _innerValues.length}\">\n <yvc-autocomplete [(ngModel)]=\"innerValues\" [minLength]=\"1\" #autocomplete\n (suggestionSelect)=\"onAutoCompleteSelect($event)\" (suggestionUnselect)=\"removeItem($event)\"\n (blur)=\"onAutoCompleteBlur()\" [autocompleteValues]=\"autocompleteRes\" field=\"title\" [disabled]=\"readonly\"\n [forceSelection]=\"true\" (autocompleteFnc)=\"autocompleteFn($event)\" [multiple]=\"true\">\n\n <!-- [styleClass]=\"!multiselect && innerValues.length === 1 ? 'xxx' : ''\"> -->\n\n <ng-template #chipTemplate let-item>\n <a *ngIf=\"!item.state || item.state === 'OK'\" class=\"link router-link\"\n [routerLink]=\"['/object', item.id, {outlets: {modal: null}}]\" [queryParams]=\"{type: referenceType.qname}\">\n <svg focusable=\"false\" class=\"ref-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8\n 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z\">\n </path>\n </svg>\n </a>\n <eo-icon [objectType]=\"referenceType\" title=\"{{referenceType?.label}}\" class=\"ref-type-icon\" [ngClass]=\"{'deleted-reference-label': item.state && (item.state === 'RECYCLED' || item.state === 'GONE')}\"></eo-icon>\n <span *ngIf=\"!(item.state && (item.state === 'RECYCLED' || item.state === 'GONE')); else deleted\" class=\"label\" eoRtlAware=\"full\">\n <span *ngIf=\"item.title || referenceType?.label; else noAccess\">\n {{item.title || referenceType?.label}}\n </span>\n </span>\n <ng-template #noAccess>\n <span class=\"label no-access-reference-label\">{{('eo.references.noAccess' | translate)}}</span>\n </ng-template>\n <ng-template #deleted>\n <span class=\"label deleted-reference-label\">{{('eo.references.deleted' | translate)}}</span>\n </ng-template>\n </ng-template>\n </yvc-autocomplete>\n\n <ng-template #notFound><span class=\"label\">{{innerValues && innerValues.length ? ('eo.references.not.available' |\n translate) : ''}}</span></ng-template>\n\n <button #button class=\"ui-button\" *ngIf=\"!readonly\"\n title=\"{{('eo.references.search' | translate) + ' ' + tooltipTypeHint}}\" [disabled]=\"selectionDisabled\"\n (click)=\"showDialog()\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_none.svg'\"></eo-icon>\n </button>\n</div>\n\n<eo-dialog [title]=\"('eo.references.add' | translate)\" [subtitle]=\"referenceType?.label\" [(visible)]=\"visibleDialog\"\n [minHeight]=\"590\" [styleClass]=\"'reference-field-dialog'\" #dialog (visibleChange)=\"updateDialogVisibility($event)\" (eoOutsideClick)=\"updateDialogVisibility(false)\">\n\n <eo-reference-finder *ngIf=\"dialog.visible\" [isDisabled]=\"isDisabled\" [types]=\"referenceType.qname\"\n [multiselect]=\"multiselect\" [currentSelection]=\"innerValues\" [clipboard]=\"clipboard\" [contextId]=\"contextId\"\n [exceptionIDs]=\"exceptionIDs\" [queryFilters]=\"queryFilters\" (addDmsObjects)=\"paste($event)\">\n </eo-reference-finder>\n</eo-dialog>\n", styles: [".eo-id-reference{display:flex;align-items:center}.eo-id-reference__element{display:flex;align-self:center;flex-wrap:wrap}.eo-id-reference>button{padding:0}.eo-id-reference>button eo-icon{width:16px;height:16px;margin:auto}::ng-deep .eo-id-reference.acInputHidden .inputToken{width:0!important;margin:0;padding:0}::ng-deep .eo-id-reference.acInputHidden .inputToken input{width:0!important}::ng-deep .reference-field-dialog{width:577px}::ng-deep .deleted-reference-label,::ng-deep .no-access-reference-label{color:var(--color-error)}::ng-deep .label{display:flex;flex-flow:column;display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .label>span{font-size:var(--font-hint)}::ng-deep .label.rtl{margin-left:1em;margin-right:4px}::ng-deep a.link{color:var(--text-color-caption);pointer-events:all;display:flex}::ng-deep a.link:hover{color:var(--color-accent)}::ng-deep .ref-icon,::ng-deep .ref-type-icon{width:16px;height:16px;color:var(--text-color-caption)}::ng-deep .remove-icon{color:var(--text-color-hint);height:14px;width:14px;flex:0 0 auto}::ng-deep .remove-icon:hover{color:var(--text-color-caption);cursor:pointer}yvc-autocomplete{width:100%;border:0;outline:0!important}\n"] }]
7549
7623
  }], ctorParameters: function () { return [{ type: i1.ClipboardService }, { type: i1.SystemService }, { type: ReferenceService }, { type: i1.SearchService }]; }, propDecorators: { readonly: [{
7550
7624
  type: Input
7551
7625
  }], multiselect: [{
@@ -7712,59 +7786,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
7712
7786
  type: Injectable
7713
7787
  }] });
7714
7788
 
7715
- /**
7716
- * This directive adds an outside click listener to each element it is applied to.
7717
- * The directive will also execute the provided handler function, when the user hits ESC.
7718
- * <... (eoOutSideClick)="doSomethingOnOutsideClick($event)"></...>
7719
- */
7720
- let OutsideClickDirective = class OutsideClickDirective {
7721
- constructor(_elementRef, eventService) {
7722
- this._elementRef = _elementRef;
7723
- this.eventService = eventService;
7724
- this.active = true;
7725
- this.eoOutsideClick = new EventEmitter();
7726
- this.eventService
7727
- .on(EnaioEvent.EO_DIALOG_STACK_CHANGED).pipe(untilDestroyed(this))
7728
- .subscribe((event) => {
7729
- this.active = !event.data.active;
7730
- });
7731
- }
7732
- keyboardInput(event, targetElement) {
7733
- if (this.active && !event.defaultPrevented && event.key === 'Escape') {
7734
- this.onOutsideEvent(event);
7735
- }
7736
- }
7737
- onClick(event, targetElement) {
7738
- const overlayContainer = document.querySelector('.cdk-overlay-container');
7739
- if (this.active && !this._elementRef.nativeElement.contains(targetElement)
7740
- && (overlayContainer && overlayContainer.hasChildNodes() ? !overlayContainer.contains(targetElement) : true)) {
7741
- this.onOutsideEvent(event);
7742
- }
7743
- }
7744
- onOutsideEvent(event) {
7745
- this.eoOutsideClick.emit(event);
7746
- }
7747
- };
7748
- OutsideClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: OutsideClickDirective, deps: [{ token: i0.ElementRef }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Directive });
7749
- OutsideClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: OutsideClickDirective, selector: "[eoOutsideClick]", outputs: { eoOutsideClick: "eoOutsideClick" }, host: { listeners: { "document:keydown": "keyboardInput($event,$event.target)", "document:mousedown": "onClick($event,$event.target)" } }, ngImport: i0 });
7750
- OutsideClickDirective = __decorate([
7751
- UntilDestroy()
7752
- ], OutsideClickDirective);
7753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: OutsideClickDirective, decorators: [{
7754
- type: Directive,
7755
- args: [{
7756
- selector: '[eoOutsideClick]'
7757
- }]
7758
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.EventService }]; }, propDecorators: { eoOutsideClick: [{
7759
- type: Output
7760
- }], keyboardInput: [{
7761
- type: HostListener,
7762
- args: ['document:keydown', ['$event', '$event.target']]
7763
- }], onClick: [{
7764
- type: HostListener,
7765
- args: ['document:mousedown', ['$event', '$event.target']]
7766
- }] } });
7767
-
7768
7789
  var MediaComponent_1;
7769
7790
  let MediaComponent = MediaComponent_1 = class MediaComponent {
7770
7791
  set setAttachments(attachments) {
@@ -8092,9 +8113,6 @@ let RowEditComponent = class RowEditComponent {
8092
8113
  }
8093
8114
  set row(r) {
8094
8115
  var _a;
8095
- if (!this._row || this._row.index !== r.index) {
8096
- this.saved = false;
8097
- }
8098
8116
  this._row = r;
8099
8117
  this.formData = undefined;
8100
8118
  this.queryEnabled = (r === null || r === void 0 ? void 0 : r.situation) === 'SEARCH';
@@ -8120,7 +8138,6 @@ let RowEditComponent = class RowEditComponent {
8120
8138
  this.createNewRow = false;
8121
8139
  this._showDeleteDialog = false;
8122
8140
  this.saving = false;
8123
- this.saved = false;
8124
8141
  this.onCancel = new EventEmitter();
8125
8142
  this.onSave = new EventEmitter();
8126
8143
  this.onSaveCopy = new EventEmitter();
@@ -8157,9 +8174,6 @@ let RowEditComponent = class RowEditComponent {
8157
8174
  persisted: this.isNewRow // Not persisted if it is a new row
8158
8175
  };
8159
8176
  this._row.tableElement.onrowedit(this._row.tableElement, row);
8160
- if (!this.saved) {
8161
- this.onFormStatusChanged();
8162
- }
8163
8177
  // ... and respect the result
8164
8178
  this.copyEnabled = row.copyEnabled;
8165
8179
  this.deleteEnabled = row.deleteEnabled;
@@ -8228,7 +8242,6 @@ let RowEditComponent = class RowEditComponent {
8228
8242
  }
8229
8243
  save() {
8230
8244
  this.saving = true;
8231
- this.saved = true;
8232
8245
  this.finishPending();
8233
8246
  setTimeout(() => {
8234
8247
  if (!this.formState.invalid) {
@@ -8440,13 +8453,8 @@ let FormElementTableComponent = FormElementTableComponent_1 = class FormElementT
8440
8453
  else {
8441
8454
  this.gridOptions.rowData = this.innerValue;
8442
8455
  }
8443
- if (this.overlayGridOptions.api) {
8444
- this.overlayGridOptions.api.setRowData(this.innerValue);
8445
- setTimeout(() => this.selectEditRow(), 0);
8446
- }
8447
- else {
8448
- this.overlayGridOptions.rowData = this.innerValue;
8449
- }
8456
+ this.overlayGridOptions.rowData = this.innerValue;
8457
+ setTimeout(() => this.selectEditRow(), 0);
8450
8458
  }
8451
8459
  registerOnChange(fn) {
8452
8460
  this.propagateChange = fn;
@@ -16371,8 +16379,9 @@ class AppSearchComponent {
16371
16379
  }, 0);
16372
16380
  }
16373
16381
  // decide whether or not to setup an indexdata search
16374
- const updateCausedByTypeToggle = this.query.__updateCause === SearchQuery.UPDATE_CAUSE.TOGGLED_TYPE;
16375
- if (this.query.types.length === 1 && !updateCausedByTypeToggle) {
16382
+ const activateIndexdataSearch = this.query.__updateCause === SearchQuery.UPDATE_CAUSE.TYPES_SET
16383
+ || this.query.__updateCause === SearchQuery.UPDATE_CAUSE.CONTEXT_FOLDER_SET;
16384
+ if (activateIndexdataSearch) {
16376
16385
  // having just one target type and a context type setup means, that we are using indexdata search
16377
16386
  this.indexdataSearch(this.query.types[0], this.query.contextFolderTypes.length > 0 ? this.query.contextFolderTypes[0] : null);
16378
16387
  }
@@ -18491,10 +18500,15 @@ let InboxDetailsComponent = class InboxDetailsComponent {
18491
18500
  this.eventService.trigger(EnaioEvent.INBOX_ITEM_LOCKED);
18492
18501
  }, error => {
18493
18502
  if (error.status === 409) {
18494
- Utils.throw(null, this.translate.instant('eo.bpm.event.script.execution.error'), this.workItem.title).call(this, {});
18503
+ if (error.error.key === 'BPM_CANNOT_PERSONALIZE_WORKITEM') {
18504
+ this.notify.warning(this.workItem.title, this.translate.instant('eo.process.activity.lock.denied'));
18505
+ }
18506
+ else if (error.error.key === 'BPM_EVENT_SCRIPT_EXECUTION_ERROR') {
18507
+ this.notify.error(this.workItem.title, this.translate.instant('eo.bpm.event.script.execution.error'));
18508
+ }
18495
18509
  }
18496
18510
  else {
18497
- Utils.throw(null, this.translate.instant('eo.process.activity.lock.denied'), this.workItem.title).call(this, {});
18511
+ this.notify.error(this.workItem.title, this.translate.instant('eo.process.general.error'));
18498
18512
  }
18499
18513
  });
18500
18514
  }
@@ -22734,10 +22748,10 @@ class AboutStateComponent {
22734
22748
  this.backend = backend;
22735
22749
  this.userService = userService;
22736
22750
  this.config = config;
22737
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.8.1", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "10.6.27", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@yuuvis/components", "version": "1.0.7", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "1.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.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
22751
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.8.1", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "10.6.29", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@yuuvis/components", "version": "1.0.7", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "1.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.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
22738
22752
  this.ctrl = {
22739
22753
  componentName: 'yuuvis® RAD client',
22740
- componentVersion: '10.6.28',
22754
+ componentVersion: '10.6.30',
22741
22755
  productName: '',
22742
22756
  productVersion: ''
22743
22757
  };
@@ -24284,7 +24298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
24284
24298
  }] } });
24285
24299
 
24286
24300
  let SettingsComponent = class SettingsComponent {
24287
- constructor(renderer, userService, config, notify, systemService, eventService, capabilitiesService, titleService, agentService, fb, cacheService, listSettingsService, storageService, translate, elemRef, notification) {
24301
+ constructor(renderer, userService, config, notify, systemService, eventService, capabilitiesService, titleService, agentService, fb, cacheService, listSettingsService, storageService, translate, elemRef, notification, authService) {
24288
24302
  this.renderer = renderer;
24289
24303
  this.userService = userService;
24290
24304
  this.config = config;
@@ -24301,6 +24315,7 @@ let SettingsComponent = class SettingsComponent {
24301
24315
  this.translate = translate;
24302
24316
  this.elemRef = elemRef;
24303
24317
  this.notification = notification;
24318
+ this.authService = authService;
24304
24319
  this.LockSettings = LockSettings;
24305
24320
  this.showAgentConfig = true;
24306
24321
  this.defaultLockSetting = false;
@@ -24314,6 +24329,7 @@ let SettingsComponent = class SettingsComponent {
24314
24329
  this.showErrorDialog = false;
24315
24330
  this.MAX_FILE_SIZE = 524288;
24316
24331
  this.viewMode = '';
24332
+ this.showChangePassword = true;
24317
24333
  this.cache = {
24318
24334
  system: true,
24319
24335
  history: true,
@@ -24338,6 +24354,7 @@ let SettingsComponent = class SettingsComponent {
24338
24354
  }
24339
24355
  this.useAgentControl.valueChanges.pipe(untilDestroyed(this)).subscribe(() => this.agentService.isConnected = this.useAgentControl.value);
24340
24356
  });
24357
+ this.showChangePassword = !this.authService.gatewayInfo.external;
24341
24358
  }
24342
24359
  get isSSO() {
24343
24360
  return this.capabilities && this.capabilities.sso;
@@ -24515,15 +24532,15 @@ let SettingsComponent = class SettingsComponent {
24515
24532
  });
24516
24533
  }
24517
24534
  };
24518
- SettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SettingsComponent, deps: [{ token: i0.Renderer2 }, { token: i1.UserService }, { token: i1.Config }, { token: i1.NotificationsService }, { token: i1.SystemService }, { token: i1.EventService }, { token: i1.CapabilitiesService }, { token: PageTitleService }, { token: AgentService }, { token: i1$2.UntypedFormBuilder }, { token: i1.AppCacheService }, { token: ListSettingsService }, { token: i1.LocalStorageService }, { token: i1.TranslateService }, { token: i0.ElementRef }, { token: i1.NotificationsService }], target: i0.ɵɵFactoryTarget.Component });
24519
- SettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SettingsComponent, selector: "eo-settings", viewQueries: [{ propertyName: "files", first: true, predicate: ["files"], descendants: true }, { propertyName: "headerBg", first: true, predicate: ["headerBg"], descendants: true }, { propertyName: "userAvatar", first: true, predicate: ["userAvatar"], descendants: true }, { propertyName: "confirmDeleteBtn", first: true, predicate: ["confirmDeleteBtn"], descendants: true }, { propertyName: "profileImageOverlay", first: true, predicate: ["profileImageOverlay"], descendants: true }, { propertyName: "deputiesForm", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.cache</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\n <div class=\"cache\">\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n </div>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:white!important}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: UserAvatarComponent, selector: "eo-user-avatar", inputs: ["showPresence", "previewUri"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: ChangePasswordFormComponent, selector: "eo-change-password-form", inputs: ["userRegex"], outputs: ["onFormSumbit"] }, { kind: "component", type: PermissionsComponent, selector: "eo-permissions", inputs: ["roles"] }, { kind: "component", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
24535
+ SettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SettingsComponent, deps: [{ token: i0.Renderer2 }, { token: i1.UserService }, { token: i1.Config }, { token: i1.NotificationsService }, { token: i1.SystemService }, { token: i1.EventService }, { token: i1.CapabilitiesService }, { token: PageTitleService }, { token: AgentService }, { token: i1$2.UntypedFormBuilder }, { token: i1.AppCacheService }, { token: ListSettingsService }, { token: i1.LocalStorageService }, { token: i1.TranslateService }, { token: i0.ElementRef }, { token: i1.NotificationsService }, { token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
24536
+ SettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SettingsComponent, selector: "eo-settings", viewQueries: [{ propertyName: "files", first: true, predicate: ["files"], descendants: true }, { propertyName: "headerBg", first: true, predicate: ["headerBg"], descendants: true }, { propertyName: "userAvatar", first: true, predicate: ["userAvatar"], descendants: true }, { propertyName: "confirmDeleteBtn", first: true, predicate: ["confirmDeleteBtn"], descendants: true }, { propertyName: "profileImageOverlay", first: true, predicate: ["profileImageOverlay"], descendants: true }, { propertyName: "deputiesForm", first: true, predicate: NgForm, descendants: true }], ngImport: i0, template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section *ngIf=\"showChangePassword\" class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.cache</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\n <div class=\"cache\">\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n </div>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:white!important}\n"], dependencies: [{ kind: "directive", type: i2$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: UserAvatarComponent, selector: "eo-user-avatar", inputs: ["showPresence", "previewUri"] }, { kind: "component", type: EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: OrganizationComponent, selector: "eo-organization", inputs: ["removeCurrentUser", "situation", "multiselect", "readonly", "dataMeta", "placeholder", "exceptions", "filterObject"], outputs: ["onValueResolved", "onDataMetaChanged"] }, { kind: "component", type: CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: ChangePasswordFormComponent, selector: "eo-change-password-form", inputs: ["userRegex"], outputs: ["onFormSumbit"] }, { kind: "component", type: PermissionsComponent, selector: "eo-permissions", inputs: ["roles"] }, { kind: "component", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
24520
24537
  SettingsComponent = __decorate([
24521
24538
  UntilDestroy()
24522
24539
  ], SettingsComponent);
24523
24540
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SettingsComponent, decorators: [{
24524
24541
  type: Component,
24525
- args: [{ selector: 'eo-settings', template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.cache</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\n <div class=\"cache\">\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n </div>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:white!important}\n"] }]
24526
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.UserService }, { type: i1.Config }, { type: i1.NotificationsService }, { type: i1.SystemService }, { type: i1.EventService }, { type: i1.CapabilitiesService }, { type: PageTitleService }, { type: AgentService }, { type: i1$2.UntypedFormBuilder }, { type: i1.AppCacheService }, { type: ListSettingsService }, { type: i1.LocalStorageService }, { type: i1.TranslateService }, { type: i0.ElementRef }, { type: i1.NotificationsService }]; }, propDecorators: { files: [{
24542
+ args: [{ selector: 'eo-settings', template: "<div class=\"eo-settings\" *ngIf=\"user\" eoRtlAware>\n\n <div class=\"header\">\n\n <div #headerBg class=\"bg\"></div>\n <div class=\"fill\">\n <div class=\"meta username\">{{user.name}}</div>\n <h1>{{user.firstname}} {{user.lastname}}</h1>\n <div class=\"meta email\">{{user.email}}</div>\n\n <div class=\"presence\" *ngIf=\"capabilities.inbox\">\n <button class=\"toggle dark present\" id=\"presence\" (click)=\"setPresence(true)\" [ngClass]=\"{active: user.present}\"\n translate>eo.state.settings.presence.present</button>\n <button class=\"toggle dark absent\" (click)=\"setPresence(false)\" (keydown.tab)=\"tabAction($event.target)\" [ngClass]=\"{active: !user.present}\"\n translate>eo.state.settings.presence.absent</button>\n </div>\n </div>\n <div (mouseenter)=\"mouseEnter()\" (mouseleave)=\"mouseLeave()\" (keydown.tab)=\"mouseEnter()\">\n\n <eo-user-avatar #userAvatar class=\"userImage\" tabindex=\"-1\" eoRtlAware=\"full\">\n <input type=\"file\" accept=\".jpg, .png\" style=\"display:none;\" #files (change)=\"selectImage($event.target)\" (click)=\"$event.target.value=null\">\n </eo-user-avatar>\n <eo-dialog [styleClass]=\"'view'\" [minWidth]=\"'300px'\" [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\"\n [(visible)]=\"showPreviewDialog\" [focusOnShow]=\"false\">\n <ng-container>\n <div class=\"contain\">\n <div class=\"attachments\">\n <div class=\"atta\">\n <img loading=\"lazy\" [src]=\"preview\">\n </div>\n <div class=\"user-avatar\" *ngIf=\"preview\">\n <eo-user-avatar class=\"preview-round\" [previewUri]=\"preview\"></eo-user-avatar>\n </div>\n </div>\n </div>\n <div class=\"button-block\">\n <button type=\"button\" (click)=\"closePreviewDialog()\" class=\"button danger\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"uploadNewUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.dialog.save</button>\n </div>\n </ng-container>\n </eo-dialog>\n\n <div class=\"overlay\" #profileImageOverlay tabindex=\"0\" eoRtlAware=\"full\">\n <span class=\"updateMessage\" *ngIf=\"hoverSelector\">\n <eo-icon tabindex=\"0\" (keydown.enter)=\"files.click()\" [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"\n (click)=\"files.click()\"></eo-icon>\n <eo-icon tabindex=\"0\" (keydown.enter)=\"trashIconClick()\" *ngIf=\"showDeleteIconTrash\"\n [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\" aria-disabled=\"true\" (click)=\"trashIconClick()\"></eo-icon>\n </span>\n </div>\n </div>\n\n </div>\n\n <div class=\"body\" (keydown.tab)=\"tabAction($event.target)\">\n\n <div class=\"body-wrap\">\n\n <div class=\"section section-deputies\" *ngIf=\"capabilities.bpm && hasPrivilege('MANAGE_DEPUTY_LIST')\">\n <h3 translate>eo.state.settings.deputies</h3>\n\n <!-- deputies -->\n <div class=\"entry deputies\">\n <div class=\"label\" translate>eo.state.settings.deputies.label</div>\n <div class=\"values\">\n <form #deputiesForm=\"ngForm\" [ngClass]=\"{dirty: deputiesForm.dirty}\">\n <eo-organization name=\"deputies\" [dataMeta]=\"deputies.dataMeta\" [filterObject]=\"{type: 'USER'}\"\n [exceptions]=\"[user.name]\" [multiselect]=\"true\" tabindex=\"0\" [(ngModel)]=\"deputies.data\"></eo-organization>\n <div class=\"actions\" *ngIf=\"deputiesForm.valid && deputiesForm.dirty\">\n <button class=\"secondary\" (click)=\"resetDeputies()\" translate>eo.state.settings.deputies.cancel</button>\n <button class=\"primary\" (click)=\"saveDeputies()\" translate>eo.state.settings.deputies.save</button>\n </div>\n </form>\n </div>\n </div>\n\n <!-- substitute of -->\n <div class=\"entry substitute\">\n <div class=\"label\" translate>eo.state.settings.deputies.subsituteof.label</div>\n <div class=\"values\">\n <span class=\"chip\" *ngFor=\"let sub of user.substitutesOf\" [ngClass]=\"{present: sub.present}\">\n <eo-icon class=\"chip substitute substitute--present\" *ngIf=\"sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_done.svg'\"></eo-icon>\n <eo-icon class=\"chip substitute substitute--away\" *ngIf=\"!sub.present\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n <span>{{sub.title}} ({{sub.name}})</span>\n </span>\n </div>\n </div>\n </div>\n\n <!-- password -->\n <section *ngIf=\"showChangePassword\" class=\"section section-password\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.password.reset</div>\n <div class=\"values\">\n <eo-simple-accordion #simpleAcc [header]=\"('eo.password.reset' | translate)\"\n [styles]=\"'setting__change-password'\" [headerClass]=\"'setting__change-password-header'\">\n\n <eo-change-password-form (onFormSumbit)=\"simpleAcc.selected = false\"></eo-change-password-form>\n </eo-simple-accordion>\n </div>\n </div>\n </section>\n\n <!-- language -->\n <div class=\"section section-lang\">\n <h3 translate>eo.state.settings.language</h3>\n <div class=\"entry lang-app\">\n <div class=\"label\" translate>eo.state.settings.language.client</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeClientLocale(locale.iso)\"\n [ngClass]=\"{active: translate.currentLang === locale.iso}\"\n *ngFor=\"let locale of clientLocales\">{{locale.label}}\n </button>\n </div>\n </div>\n\n <div class=\"entry lang-def\">\n <div class=\"label\" translate>eo.state.settings.language.schema</div>\n <div class=\"values\">\n <button class=\"toggle\" (click)=\"changeSchemaLocale(locale.code)\"\n [ngClass]=\"{active: activeSchema === locale.code}\"\n *ngFor=\"let locale of schemaLocales\">{{locale.displayname}}</button>\n </div>\n </div>\n </div>\n\n <!-- permissions -->\n <div class=\"section section-perm\">\n <h3 translate>eo.state.settings.permission</h3>\n <div class=\"entry perm-roles\">\n <div class=\"label\" translate>eo.state.settings.roles</div>\n <div class=\"values roles\">\n <eo-simple-accordion [header]=\"('eo.state.settings.roles' | translate)\">\n <eo-permissions [roles]=\"user.roles\"></eo-permissions>\n </eo-simple-accordion>\n </div>\n </div>\n </div>\n\n <!-- agent -->\n <div class=\"section section-others\">\n <h3 translate>eo.state.settings.others</h3>\n <ng-container *ngIf=\"showAgentConfig\">\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.agent</div>\n <div class=\"values\">\n <div class=\"use-agent\">\n <eo-checkbox [formControl]=\"useAgentControl\" [readonly]=\"useAgentControl.disabled\"\n *ngIf=\"useAgentControl\"></eo-checkbox>\n <span class=\"use-agent-label\" translate>eo.state.settings.agent.use</span>\n <!-- <a href=\"https://help.optimal-systems.com/yuuvisRAD/v60/user/client/de/client/integration/cln_tsk_agent_global.htm?Highlight=agent\">\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\"></eo-icon>\n </a> -->\n </div>\n </div>\n </div>\n\n\n <div class=\"entry lock-settings\" [ngClass]=\"{'lock-settings--show': (agentStatus | async)}\">\n <div class=\"label\" translate>eo.state.settings.lock</div>\n <div class=\"values\">\n <button class=\"toggle button-enabled\" (click)=\"changeLockSettings(LockSettings.always)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.always}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.enable</button>\n <button class=\"toggle button-disabled\" (click)=\"changeLockSettings(LockSettings.never)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.never}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.disable</button>\n <button class=\"toggle button-ask\" (click)=\"changeLockSettings(LockSettings.ask)\"\n [ngClass]=\"{active: agentLockSettings === LockSettings.ask}\" [disabled]=\"defaultLockSetting\"\n translate>eo.state.settings.lock.ask</button>\n </div>\n </div>\n\n\n </ng-container>\n\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.cache</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"clearCache()\">eo.state.settings.cache.clear</button>\n <div class=\"cache\">\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.system' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.system\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.history' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.history\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"checkbox\" [skipToggle]=\"true\"\n [label]=\"'eo.state.settings.config.cache.layout' | translate\">\n <eo-checkbox [(ngModel)]=\"cache.layout\" [ngModelOptions]=\"{ standalone: true }\"></eo-checkbox>\n </eo-form-input>\n </div>\n </div>\n </div>\n </div>\n <div class=\"entry\">\n <div class=\"label\" translate>eo.state.settings.localSettings</div>\n <div class=\"values\">\n <div class=\"flex-row\">\n <button translate (click)=\"saveLocalSettings()\">eo.state.settings.localSettings.save</button>\n <button translate (click)=\"loadLocalSettings()\">eo.state.settings.localSettings.load</button>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n <eo-dialog [title]=\"'eo.state.settings.details.delete.dialog.title' | translate\" [(visible)]=\"showDeleteDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n <div>{{'eo.state.settings.details.delete.dialog.message' | translate}}</div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\" >\n <button type=\"button\" class=\"button cancel\" (click)=\"showDeleteDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial #confirmDeleteBtn (click)=\"deleteUserImage()\" class=\"button primary\"\n translate>eo.state.settings.details.delete.dialog.ok</button>\n </div>\n </eo-dialog>\n\n <eo-dialog [title]=\"'eo.state.settings.details.upload.dialog.title' | translate\" [(visible)]=\"showErrorDialog\"\n [focusOnShow]=\"false\" [minWidth]=\"400\" [styleClass]=\"'delete__dialog'\">\n\n <div>\n <p>{{fileName}}</p>\n <p *ngIf=\"viewMode ==='size'\" translate>eo.state.settings.details.upload.dialog.sizeError</p>\n <p *ngIf=\"viewMode ==='image'\" translate>eo.state.settings.details.upload.dialog.fileError </p>\n </div>\n\n <div class=\"action-buttons image-delete--action-buttons flex-row\">\n <button type=\"button\" class=\"button cancel\" (click)=\"showErrorDialog = false\"\n translate>eo.state.settings.details.delete.dialog.cancel</button>\n <button type=\"button\" cdkFocusInitial (click)=\"files.click(); showErrorDialog = false\" class=\"button primary\"\n translate>eo.state.settings.details.upload.dialog.back</button>\n </div>\n </eo-dialog>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center}:host .cache{display:flex;flex-flow:row;margin:0 var(--app-pane-padding)}.eo-settings{margin:var(--app-pane-padding);box-sizing:border-box;width:800px;background:var(--color-white);display:flex;flex-flow:column;box-shadow:0 2px 5px #0003}@media screen and (max-width: 832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{min-height:200px;max-height:300px;position:relative;flex:1 1}@media screen and (max-width: 480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{margin:0;padding:0;font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em}.eo-settings .header .meta{margin:calc(var(--app-pane-padding) / 2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding) * 2)}.eo-settings .header .bg{position:absolute;inset:0;background-size:cover;background-position:center center;filter:grayscale(1)}.eo-settings .header .fill{position:absolute;inset:0;background:rgba(var(--color-primary-rgb),.85);color:var(--color-white);padding:var(--app-pane-padding)}.eo-settings .header .userImage{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);background-size:cover;width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .userImage{width:105px;height:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{position:absolute;z-index:1;right:var(--app-pane-padding);bottom:calc(var(--app-pane-padding) * -1);width:150px;height:150px;border:4px solid var(--color-white);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26)}@media screen and (max-width: 480px){.eo-settings .header .overlay{width:105px;height:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus{border-color:var(--color-accent);opacity:2}.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:100}.eo-settings .header .overlay .updateMessage{box-sizing:border-box;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#c0bcbcf1;background-clip:border-box}.eo-settings .header .overlay .updateMessage eo-icon{color:var(--color-white);width:48px;height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.eo-settings .header .overlay .updateMessage eo-icon:focus,.eo-settings .header .overlay .updateMessage eo-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body{flex:1 1 auto;position:relative}.eo-settings .body .body-wrap{padding:var(--app-pane-padding);box-sizing:border-box;position:absolute;inset:0;overflow-y:auto}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding) / 4)}.eo-settings .body .section.section-deputies form .actions button{padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);border-radius:2px}.eo-settings .body .section.section-deputies form.dirty{padding:2px;background-color:rgba(var(--color-black-rgb),.06)}.eo-settings .body .section.section-deputies .entry.deputies .values{padding:0 2px;border:1px solid var(--eo-chips-border-color);border-radius:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{display:flex;align-items:center;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{width:calc(var(--app-pane-padding) * .75);height:calc(var(--app-pane-padding) * .6);border-radius:4px;border:0;color:var(--color-white)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;padding:0 0 2px 2px;min-height:27px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{opacity:1;border-color:transparent}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{margin:0;padding:0 0 0 150px;color:var(--text-color-caption);font-weight:var(--font-weight-normal);font-size:var(--font-subhead)}@media screen and (max-width: 480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{overflow:hidden;opacity:0;height:0;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{opacity:1;height:100%}@media screen and (max-width: 480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{flex:0 0 150px;color:var(--text-color-caption)}@media screen and (max-width: 480px){.eo-settings .body .section .entry .label{margin-bottom:calc(var(--app-pane-padding) / 2);flex:0 0 auto}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{margin:0 4px 4px 0;cursor:pointer}.eo-settings .body .section .entry .values button.active{cursor:default}.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{display:flex;align-items:center}.eo-settings .body .section .entry .use-agent .use-agent-label{margin:0 calc(var(--app-pane-padding) / 2);color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:var(--text-color-caption)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{display:flex;flex-flow:column;align-items:flex-start}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding) / 2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{width:18px;height:18px;color:var(--text-color-hint)}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding) / 2)}.eo-settings .body .section .values.roles .role>div .description{font-size:var(--font-caption);color:var(--text-color-caption)}.eo-settings .body .toggle-btn{display:inline-block;padding:2px 5px;border-radius:2px;-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);color:var(--text-color-caption);cursor:pointer;margin-right:3px;text-decoration:none}.eo-settings.rtl .header .userImage{right:auto;left:var(--app-pane-padding)}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{width:100%;height:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media screen and (max-width: 480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;margin:5px 60px 0}::ng-deep .view .contain .attachments .atta{position:relative;display:block;padding:0;margin-inline:10px;margin-top:10px}::ng-deep .view .contain .attachments .atta img{max-width:200px;max-height:200px;min-width:80px;min-height:80px;border:2px solid #5c5959;box-sizing:border-box}::ng-deep .view .contain .attachments .user-avatar{display:flex;margin-right:109px;align-items:center}::ng-deep .view .contain .attachments .user-avatar .preview-round{width:90px;height:90px;border-radius:50%;border:2px solid #5c5959}::ng-deep .view .button-block{display:flex;margin:8px;justify-content:right}::ng-deep .delete__dialog{padding:8px;min-height:unset!important}::ng-deep .delete__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:white!important}\n"] }]
24543
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.UserService }, { type: i1.Config }, { type: i1.NotificationsService }, { type: i1.SystemService }, { type: i1.EventService }, { type: i1.CapabilitiesService }, { type: PageTitleService }, { type: AgentService }, { type: i1$2.UntypedFormBuilder }, { type: i1.AppCacheService }, { type: ListSettingsService }, { type: i1.LocalStorageService }, { type: i1.TranslateService }, { type: i0.ElementRef }, { type: i1.NotificationsService }, { type: i1.AuthService }]; }, propDecorators: { files: [{
24527
24544
  type: ViewChild,
24528
24545
  args: ['files']
24529
24546
  }], headerBg: [{
@@ -26790,6 +26807,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
26790
26807
  }] }];
26791
26808
  } });
26792
26809
 
26810
+ var FilterLabelEnum;
26811
+ (function (FilterLabelEnum) {
26812
+ FilterLabelEnum[FilterLabelEnum["none"] = -1] = "none";
26813
+ FilterLabelEnum[FilterLabelEnum["created"] = 0] = "created";
26814
+ FilterLabelEnum[FilterLabelEnum["running"] = 20] = "running";
26815
+ FilterLabelEnum[FilterLabelEnum["completed"] = 30] = "completed";
26816
+ FilterLabelEnum[FilterLabelEnum["suspended"] = 40] = "suspended";
26817
+ FilterLabelEnum[FilterLabelEnum["TERMINATED"] = 50] = "TERMINATED";
26818
+ FilterLabelEnum[FilterLabelEnum["error"] = 60] = "error";
26819
+ })(FilterLabelEnum || (FilterLabelEnum = {}));
26820
+
26793
26821
  /*
26794
26822
  * Public API Surface of client
26795
26823
  */
@@ -26798,5 +26826,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
26798
26826
  * Generated bundle index. Do not edit.
26799
26827
  */
26800
26828
 
26801
- export { ACTIONS, AboutStateComponent, AbstractFilterComponent, AccordionModule, ActionMenuComponent, ActionModule, ActionService, ActionTarget, AgentService, AppAddComponent, AppAddDialogComponent, AppBarComponent, AppSearchComponent, AppSearchService, AuthGuard, CUSTOM_ACTIONS, CapabilitiesGuard, CellRenderer, ChangePasswordFormComponent, CheckboxComponent, ClipboardComponent, CodesystemComponent, CodesystemFilterComponent, ColumnConfiguratorComponent, ContentPreviewService, ContextSearchComponent, CtaComponent, CtaModule, CustomFilterComponent, CustomSortComponent, DashboardComponent, DateComponent, DatetimeFilterComponent, DatetimeRangeComponent, DmsObjectTarget, DynamicListComponent, DynamicListFilterComponent, DynamicPropertySwitchComponent, ENTRY_COMPONENTS, ENTRY_LINKS, EmptyComponent, EmptyStateService, EnaioErrorKeys, EoAppShellModule, EoClientModule, EoDialogComponent, EoFrameworkCoreModule, EoFrameworkModule, EoIconComponent, Error404Component, ErrorHandlerService, ErrorMessageComponent, ErrorModule, FavoriteIconComponent, FavoriteStateComponent, FileSizePipe, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListFilterComponent, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OpenDocumentComponent, OrderByPipe, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PaginationComponent, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PipesModule, PluginComponent, PluginDirective, PluginPipe, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, PreventDoubleClickDirective, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, QueryScopeSelectComponent, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, RecyclebinDetailsComponent, ReferenceComponent, ReferenceService, ResetFilterComponent, ResultListComponent, ResultListModule, ResultStateComponent, RouterLinkDirective, RowEditComponent, RtlAwareDirective, STATE, SafeHtmlPipe, SelectionRange, SelectionService, SetFilterComponent, SettingsComponent, SettingsModule, Shortcut, ShortcutsDirective, ShortcutsModule, ShortcutsService, SideBarComponent, SidebarPluginComponent, SignatureTabComponent, SimpleAccordionComponent, StoredQueriesStateComponent, StoredQueryComponent, StoredQueryDetailsComponent, StoredQueryModule, StoredQueryTarget, StringComponent, TextFilterComponent, TotalCountComponent, TrapFocusDirective, TreeComponent, TreeModule, TypeFilter, UNDOCK_WINDOW_NAME, UiModule, UploadOverlayComponent, UserAvatarComponent, UtilModule, UtilitiesService, VersionStateComponent, WorkItemTarget, YearRangeDirective, agentConfigKeys, entryComponents, listAnimation, panelLoadingAnimations };
26829
+ 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, FilterLabelEnum, FormElementComponent, FormElementTableComponent, FormElementsModule, FormInputComponent, FrameComponent, GlobalShortcutsComponent, GlobalShortcutsSectionComponent, GridComponent, GridFilter, GridModule, GridService, HistoryFilterComponent, HistoryFilterPipe, IdReferenceComponent, InboxDetailsComponent, InboxItemTarget, InboxStateComponent, InboxStateModule, InboxTypes, InboxTypesFilter, IndexdataSummaryComponent, InputFocusDirective, KeysPipe, LayoutService, ListContainerComponent, ListContainerModule, ListFilterComponent, ListSettingsService, LoadingSpinnerComponent, LocaleCurrencyPipe, LocaleDatePipe, LocaleDecimalPipe, LocaleNumberPipe, LocalePercentPipe, LocationService, LockSettings, LoginComponent, MediaComponent, MediaModule, NotFoundComponent, NotificationsStateComponent, NumberComponent, NumberRangeComponent, ObjectDetailsComponent, ObjectDetailsModule, ObjectFormComponent, ObjectFormControl, ObjectFormControlWrapper, ObjectFormEditComponent, ObjectFormGroup, ObjectFormGroupComponent, ObjectFormHelperService, ObjectFormModule, ObjectFormScriptService, ObjectFormScriptingScope, ObjectHistoryComponent, ObjectLinksComponent, ObjectStateComponent, ObjectStateDetailsComponent, ObjectStateModule, ObjectStateService, OpenDocumentComponent, OrderByPipe, OrganizationComponent, OrganizationFilterComponent, OutsideClickDirective, OverlayComponent, PageTitleService, PaginationComponent, PanelLoading, PasswordComponent, PendingChangesService, PermissionsComponent, PipesModule, PluginComponent, PluginDirective, PluginPipe, PluginService, PluginsModule, PluginsService, PrepareDetailsComponent, PrepareStateComponent, PrepareStateModule, PreparedItemTarget, PreventDoubleClickDirective, ProcessDetailsComponent, ProcessFileComponent, ProcessHistoryComponent, ProcessItemTarget, ProcessStateComponent, QueryScopeSelectComponent, QuickFilterComponent, QuickSearchComponent, QuickSearchModule, RecyclebinDetailsComponent, RecyclebinStateComponent, 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 };
26802
26830
  //# sourceMappingURL=eo-sdk-client.mjs.map