@eo-sdk/client 8.16.7 → 8.16.9

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 (40) hide show
  1. package/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.d.ts +1 -0
  2. package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +1 -0
  3. package/app/eo-framework-core/api/grid.service.d.ts +2 -0
  4. package/assets/_default/config/main.json +1 -7
  5. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +45 -20
  6. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  7. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +2 -2
  8. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  9. package/bundles/eo-sdk-client.umd.js +54 -35
  10. package/bundles/eo-sdk-client.umd.js.map +1 -1
  11. package/bundles/eo-sdk-client.umd.min.js +1 -1
  12. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  13. package/eo-sdk-client.metadata.json +1 -1
  14. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  15. package/esm2015/app/eo-framework/app-shell/app-bar/app-process/app-process.component.js +2 -2
  16. package/esm2015/app/eo-framework/form-elements/form-input/form-input.component.js +2 -2
  17. package/esm2015/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.js +7 -3
  18. package/esm2015/app/eo-framework/form-elements/string/string.component.js +2 -2
  19. package/esm2015/app/eo-framework/grid/column-configurator/column-configurator.component.js +1 -1
  20. package/esm2015/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.js +4 -2
  21. package/esm2015/app/eo-framework/grid/filters/list-filter.component.js +2 -2
  22. package/esm2015/app/eo-framework/inbox-details/inbox-details.component.js +5 -1
  23. package/esm2015/app/eo-framework/object-form/object-form/form-element/form-element.component.js +5 -2
  24. package/esm2015/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.js +3 -2
  25. package/esm2015/app/eo-framework-core/api/grid.service.js +30 -26
  26. package/esm2015/app/eo-framework-core/api/plugins.service.js +2 -1
  27. package/esm2015/projects/eo-sdk/core/lib/service/auth/auth.service.js +5 -5
  28. package/esm2015/projects/eo-sdk/core/lib/service/backend/backend.service.js +21 -14
  29. package/esm2015/projects/eo-sdk/core/lib/service/config/config.service.js +22 -4
  30. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +45 -20
  31. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  32. package/fesm2015/eo-sdk-client.js +54 -35
  33. package/fesm2015/eo-sdk-client.js.map +1 -1
  34. package/package.json +2 -2
  35. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.metadata.json +1 -1
  36. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +2 -0
  37. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +5 -0
  38. package/projects/eo-sdk/core/package.json +1 -1
  39. package/scss/_form.scss +2 -2
  40. package/styles.css +1 -1
@@ -960,6 +960,7 @@ class PluginsService {
960
960
  return {
961
961
  serviceBase: this.backend.getServiceBase()
962
962
  // todo: do we have to provide the plugin developers with these informations?
963
+ // after speaking to Andreas also removed from documentation
963
964
  // pluginsBase: $eoConfig.getPluginBase(),
964
965
  // pluginStatesBase: $eoConfig.getPluginStatesBase(),
965
966
  // themeBase: $eoConfig.getThemeBase()
@@ -1813,14 +1814,14 @@ class CellRenderer {
1813
1814
  return CellRenderer[type + 'CellRenderer'](Object.assign({}, param, newParam));
1814
1815
  }
1815
1816
  static filesizeCellRenderer(param) {
1816
- if (param.value === null) {
1817
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1817
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1818
+ return this.noValueRenderer(param);
1818
1819
  }
1819
1820
  return param.value ? param.context.fileSizePipe.transform(param.value) : '';
1820
1821
  }
1821
1822
  static numberCellRenderer(param) {
1822
- if (param.value === null) {
1823
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1823
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1824
+ return this.noValueRenderer(param);
1824
1825
  }
1825
1826
  if (param.value || param.value === 0) {
1826
1827
  if (param.value.operator) {
@@ -1848,14 +1849,14 @@ class CellRenderer {
1848
1849
  return context.numberPipe.transform(value, grouping, pattern, scale);
1849
1850
  }
1850
1851
  static stringCellrenderer(param) {
1851
- if (param.value === null) {
1852
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1852
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1853
+ return this.noValueRenderer(param);
1853
1854
  }
1854
1855
  return GridService.escapeHtml(param.value);
1855
1856
  }
1856
1857
  static typeCellRenderer(param) {
1857
- if (param.value === null) {
1858
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1858
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1859
+ return this.noValueRenderer(param);
1859
1860
  }
1860
1861
  let val = '';
1861
1862
  if (param.value) {
@@ -1868,8 +1869,8 @@ class CellRenderer {
1868
1869
  return val;
1869
1870
  }
1870
1871
  static iconCellRenderer(param) {
1871
- if (param.value === null) {
1872
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1872
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1873
+ return this.noValueRenderer(param);
1873
1874
  }
1874
1875
  let val = '';
1875
1876
  if (param.value && (param.value.url || param.value.iconId)) {
@@ -1885,24 +1886,24 @@ class CellRenderer {
1885
1886
  return val;
1886
1887
  }
1887
1888
  static emailCellRenderer(param) {
1888
- if (param.value === null) {
1889
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1889
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1890
+ return this.noValueRenderer(param);
1890
1891
  }
1891
1892
  return param.value
1892
1893
  ? `<a href="mailto:${param.value}">${GridService.escapeHtml(param.value)}</a>`
1893
1894
  : '';
1894
1895
  }
1895
1896
  static urlCellRenderer(param) {
1896
- if (param.value === null) {
1897
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1897
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1898
+ return this.noValueRenderer(param);
1898
1899
  }
1899
1900
  return param.value
1900
1901
  ? `<a target="_blank " href="${param.value}">${GridService.escapeHtml(param.value)}</a>`
1901
1902
  : '';
1902
1903
  }
1903
1904
  static dateTimeCellRenderer(param) {
1904
- if (param.value === null) {
1905
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1905
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1906
+ return this.noValueRenderer(param);
1906
1907
  }
1907
1908
  if (param.value) {
1908
1909
  if (param.value.operator) {
@@ -1927,14 +1928,14 @@ class CellRenderer {
1927
1928
  }
1928
1929
  }
1929
1930
  static dateTimeCellRendererTemplate(value, context, pattern) {
1930
- if (value === null) {
1931
+ if (value === null && CellRenderer.situation === 'SEARCH') {
1931
1932
  return `<span class="no-value">${context.translate.instant('eo.form.input.null')}</span>`;
1932
1933
  }
1933
1934
  return `<span date="${value}">${context.datePipe.transform(value, pattern)}</span>`;
1934
1935
  }
1935
1936
  static booleanCellRenderer(param) {
1936
- if (param.value === null) {
1937
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1937
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1938
+ return this.noValueRenderer(param);
1938
1939
  }
1939
1940
  let val = `<path class="background" d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z"/>`;
1940
1941
  if (param.value === true || param.value === 'true') {
@@ -1947,8 +1948,8 @@ class CellRenderer {
1947
1948
  return `<svg class="checkbox" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">${val}</svg>`;
1948
1949
  }
1949
1950
  static multiSelectCellRenderer(param) {
1950
- if (param.value === null) {
1951
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1951
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1952
+ return this.noValueRenderer(param);
1952
1953
  }
1953
1954
  let val = '';
1954
1955
  if (param.value) {
@@ -1959,8 +1960,8 @@ class CellRenderer {
1959
1960
  return val;
1960
1961
  }
1961
1962
  static linkCellRenderer(param) {
1962
- if (param.value === null) {
1963
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1963
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1964
+ return this.noValueRenderer(param);
1964
1965
  }
1965
1966
  let val = '';
1966
1967
  if (param.value) {
@@ -1988,8 +1989,8 @@ class CellRenderer {
1988
1989
  return val;
1989
1990
  }
1990
1991
  static referenceCellRenderer(param) {
1991
- if (param.value === null) {
1992
- return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
1992
+ if (param.value === null && CellRenderer.situation === 'SEARCH') {
1993
+ return this.noValueRenderer(param);
1993
1994
  }
1994
1995
  let text = '';
1995
1996
  const value = param.data ? param.data[param.colDef.field] : '';
@@ -2020,7 +2021,11 @@ class CellRenderer {
2020
2021
  }
2021
2022
  return text || param.value;
2022
2023
  }
2024
+ static noValueRenderer(param) {
2025
+ return `<span class="no-value">${param.context.translate.instant('eo.form.input.null')}</span>`;
2026
+ }
2023
2027
  }
2028
+ CellRenderer.situation = '';
2024
2029
 
2025
2030
  /**
2026
2031
  * EditingObserver service is used to track changes made inside the application, that should prevent
@@ -4963,7 +4968,7 @@ class AppProcessComponent {
4963
4968
  AppProcessComponent.decorators = [
4964
4969
  { type: Component, args: [{
4965
4970
  selector: 'eo-app-process',
4966
- template: "<eo-dialog [title]=\"'eo.bar.button.execute.actions.tooltip' | translate\"\n [visible]=\"true\"\n [minWidth]=\"400\"\n [styleClass]=\"'more-actions'\"\n (hide)=\"close($event)\">\n\n <section *ngIf=\"processes?.length; else loading\">\n\n <div class=\"process-item\" *ngFor=\"let process of processes\" (click)=\"selectProcess(process)\">\n <eo-icon [iconId]=\"process.iconid\" *ngIf=\"process.iconid; else defaulticon\"></eo-icon>\n <ng-template #defaulticon><eo-icon [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon></ng-template>\n <div class=\"pi-content\">\n <div class=\"title\">{{process.title}}</div>\n <div class=\"description\">{{process.description}}</div>\n </div>\n </div>\n\n </section>\n\n <ng-container *ngIf=\"!processForm; else tplProcessForm\" class=\"select-process\"></ng-container>\n\n <ng-template #loading>\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </ng-template>\n\n\n <ng-template #tplProcessForm>\n\n <eo-dialog [title]=\"selectedProcess?.title\"\n [subtitle]=\"selectedProcess?.description\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"1000\"\n [minHeight]=\"630\"\n [styleClass]=\"'process-form-dialog'\"\n (hide)=\"cancelDialog()\" #dialog>\n\n <eo-process-form [formOptions]=\"processForm\"\n (onResetForm)=\"formReset($event)\"\n (onCancel)=\"(dialog.visible = false)\"\n (onSaveForm)=\"startProcessWithFormData($event)\"\n (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-process-form>\n </eo-dialog>\n </ng-template>\n\n</eo-dialog>\n",
4971
+ template: "<eo-dialog [title]=\"'eo.bar.button.execute.actions.tooltip' | translate\"\n [visible]=\"true\"\n [minWidth]=\"400\"\n [styleClass]=\"'more-actions'\"\n (hide)=\"close($event)\">\n\n <section *ngIf=\"processes?.length; else loading\">\n\n <div class=\"process-item\" *ngFor=\"let process of processes\" (click)=\"selectProcess(process)\">\n <eo-icon [iconId]=\"process.iconid\" *ngIf=\"process.iconid; else defaulticon\"></eo-icon>\n <ng-template #defaulticon><eo-icon [iconSrc]=\"'assets/_default/svg/ic_bpm.svg'\"></eo-icon></ng-template>\n <div class=\"pi-content\">\n <div class=\"title\">{{process.title}}</div>\n <div class=\"description\">{{process.description}}</div>\n </div>\n </div>\n\n </section>\n\n <ng-container *ngIf=\"!processForm; else tplProcessForm\" class=\"select-process\"></ng-container>\n\n <ng-template #loading>\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </ng-template>\n\n\n <ng-template #tplProcessForm>\n\n <eo-dialog [title]=\"selectedProcess?.title\"\n [subtitle]=\"selectedProcess?.description\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"1000\"\n [styleClass]=\"'process-form-dialog'\"\n (hide)=\"cancelDialog()\" #dialog>\n\n <eo-process-form [formOptions]=\"processForm\"\n (onResetForm)=\"formReset($event)\"\n (onCancel)=\"(dialog.visible = false)\"\n (onSaveForm)=\"startProcessWithFormData($event)\"\n (statusChanged)=\"onIndexDataChanged($event)\">\n </eo-process-form>\n </eo-dialog>\n </ng-template>\n\n</eo-dialog>\n",
4967
4972
  styles: [".process-item{align-items:center;border-bottom:1px solid var(--list-item-border-color);cursor:pointer;display:flex;padding:var(--app-pane-padding)}.process-item:hover{background-color:var(--list-item-hover-background)}.process-item eo-icon{opacity:.7}.process-item .pi-content{padding:0 var(--app-pane-padding)}.process-item .pi-content .description{color:var(--text-color-caption)}eo-loading-spinner{display:flex;justify-content:center;padding:var(--app-pane-padding)}"]
4968
4973
  },] }
4969
4974
  ];
@@ -6808,7 +6813,7 @@ class FormInputComponent {
6808
6813
  FormInputComponent.decorators = [
6809
6814
  { type: Component, args: [{
6810
6815
  selector: 'eo-form-input',
6811
- template: "<div class=\"fe-wrapper\" eoInputFocus>\n <div class=\"tag\" *ngIf=\"tag\" title=\"{{tag.title}}\">{{tag.label}}</div>\n <label class=\"form-input__label\" (click)=\"toggle()\">{{_label}}</label>\n <div class=\"control\">\n <ng-content *ngIf=\"!toggled; else tplnull\"></ng-content>\n\n <ng-template #tplnull><span translate>eo.form.input.null</span></ng-template>\n </div>\n</div>\n<div class=\"description\" *ngIf=\"description\">{{description}}</div>\n\n",
6816
+ template: "<div class=\"fe-wrapper\" eoInputFocus [disabled]=\"isDisabled\">\n <div class=\"tag\" *ngIf=\"tag\" title=\"{{tag.title}}\">{{tag.label}}</div>\n <label class=\"form-input__label\" (click)=\"toggle()\">{{_label}}</label>\n <div class=\"control\">\n <ng-content *ngIf=\"!toggled; else tplnull\"></ng-content>\n\n <ng-template #tplnull><span translate>eo.form.input.null</span></ng-template>\n </div>\n</div>\n<div class=\"description\" *ngIf=\"description\">{{description}}</div>\n\n",
6812
6817
  styles: [":host .fe-wrapper{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;align-items:center;border-bottom:1px solid rgba(var(--color-black-rgb),.15);display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding)/4) 0;transition:all var(--app-default-transition-duration) ease-in-out}:host .fe-wrapper.focused{border-color:var(--color-accent)}:host .fe-wrapper.focused>label{color:var(--color-accent)}:host .fe-wrapper>div.control{flex:1 1 auto;order:1;padding:0 calc(var(--app-pane-padding)/4)}:host .fe-wrapper>div.control>span{background-color:var(--color-accent);border-radius:2px;color:var(--color-white);display:inline-block;font-size:var(--font-hint);padding:0 calc(var(--app-pane-padding)/4)}:host .fe-wrapper>.form-input__label{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-moz-user-select:none;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-user-select:none;border-radius:2px;color:var(--text-color-caption);flex:0 1 auto;font-size:var(--font-caption);margin-right:3px;order:2;padding:2px calc(var(--app-pane-padding)/4);text-align:end;transition:all var(--app-default-transition-duration) ease-in-out;user-select:none}:host .fe-wrapper>.tag{background-color:var(--color-primary-2);border-radius:2px;color:var(--color-white);cursor:default;display:inline-block;flex:0 0 auto;font-size:var(--font-hint);line-height:1em;order:3;padding:2px}:host.checkbox .fe-wrapper>label{text-align:start}:host .description{color:var(--text-color-caption);font-size:var(--font-hint);font-style:italic;padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/8) 0 calc(var(--app-pane-padding)/8)}:host.required .fe-wrapper>label{background-color:rgba(var(--color-black-rgb),.06)}:host.required .fe-wrapper>label:after{content:\"*\";font-weight:700;padding:0 4px}:host.invalid .fe-wrapper{background:rgba(var(--color-error),.15);border-color:var(--color-error)}:host.invalid .fe-wrapper>label{background-color:var(--color-error);color:var(--color-white);margin:0 4px}:host.invalid .fe-wrapper>label:after{content:\"!\";margin-left:calc(var(--app-pane-padding)/2)}:host.disabled{opacity:.5}:host.checkbox .fe-wrapper{border-color:transparent!important}:host.checkbox .fe-wrapper>div.control{flex:0 0 auto}:host.checkbox .fe-wrapper>label{flex:0 1 auto}:host-context(.dark) .fe-wrapper{border-color:rgba(var(--color-white-rgb),.54)}:host-context(.dark) .fe-wrapper>label{color:rgba(var(--color-white-rgb),.84)}:host-context(.dark) .fe-wrapper.focused{border-color:var(--color-white)}:host-context(.dark) .fe-wrapper.focused>label{color:var(--color-white)}:host-context(.dark) ::ng-deep .ui-dropdown.range{background-color:rgba(var(--color-white-rgb),.1)}:host-context(.fe-wrapper) .fe-wrapper{background:transparent;padding:0}:host ::ng-deep .ui-inputtext,:host ::ng-deep input{align-items:center;border:0!important;display:flex;flex-wrap:wrap;padding:0;width:100%}:host ::ng-deep input{background-color:transparent}:host ::ng-deep button.ui-button{background:rgba(var(--color-black-rgb),.08);border:0;border-radius:2px;color:var(--text-color-caption);cursor:pointer;height:20px;width:20px}:host ::ng-deep button.ui-button.ui-spinner-button:enabled:hover,:host ::ng-deep button.ui-button:enabled:active,:host ::ng-deep button.ui-button:enabled:focus,:host ::ng-deep button.ui-button:enabled:hover{background:var(--color-accent);border:0;color:var(--color-white)}:host ::ng-deep button.ui-button .fa{color:currentColor!important}:host ::ng-deep button.ui-button eo-icon{height:16px;margin:auto;width:16px}:host ::ng-deep .ui-dropdown.range{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-black-rgb),.1);border:0;border-radius:2px;margin:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;width:20px!important}:host ::ng-deep .ui-dropdown.range.ui-state-focus{background:var(--color-accent)!important}:host ::ng-deep .ui-dropdown.range.ui-state-focus label{color:var(--color-primary-4)}:host ::ng-deep .ui-dropdown.range:not(.ui-state-disabled):hover{background:rgba(var(--color-black-rgb),.2)}:host ::ng-deep .ui-dropdown.range .ui-dropdown-panel .ui-dropdown-items .ui-dropdown-item{padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host ::ng-deep .ui-dropdown.range .ui-dropdown-trigger{display:none}:host ::ng-deep .ui-dropdown.range .ui-dropdown-item,:host ::ng-deep .ui-dropdown.range label{display:block;font-family:monospace;text-align:center}:host ::ng-deep .ui-dropdown.range label:after{display:none}"]
6813
6818
  },] }
6814
6819
  ];
@@ -6832,9 +6837,12 @@ class InputFocusDirective {
6832
6837
  this.renderer = renderer;
6833
6838
  this.element = element;
6834
6839
  this.formInput = this.element.nativeElement;
6840
+ this.disabled = false;
6835
6841
  }
6836
6842
  onFocusIn(evt) {
6837
- this.renderer.addClass(this.formInput, 'focused');
6843
+ if (!this.disabled) {
6844
+ this.renderer.addClass(this.formInput, 'focused');
6845
+ }
6838
6846
  }
6839
6847
  onFocusOut(evt) {
6840
6848
  this.renderer.removeClass(this.formInput, 'focused');
@@ -6850,6 +6858,7 @@ InputFocusDirective.ctorParameters = () => [
6850
6858
  { type: ElementRef }
6851
6859
  ];
6852
6860
  InputFocusDirective.propDecorators = {
6861
+ disabled: [{ type: Input }],
6853
6862
  onFocusIn: [{ type: HostListener, args: ['focusin', ['$event'],] }],
6854
6863
  onFocusOut: [{ type: HostListener, args: ['focusout', ['$event'],] }]
6855
6864
  };
@@ -8281,7 +8290,7 @@ class StringComponent {
8281
8290
  StringComponent.decorators = [
8282
8291
  { type: Component, args: [{
8283
8292
  selector: 'eo-string',
8284
- template: "<div class=\"eo-form-string\">\n\n <input *ngIf=\"!multiline && !multiselect && !autocomplete\"\n type=\"text\"\n pInputText\n (blur)=\"onBlur()\"\n [readonly]=\"readonly\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"/>\n\n <!-- single line input with autocomplete -->\n <p-autoComplete *ngIf=\"!multiline && !multiselect && autocomplete\"\n #autocomplete\n [(ngModel)]=\"value\"\n [minLength]=\"3\"\n [delay]=\"500\"\n [readonly]=\"readonly\"\n [disabled]=\"readonly\"\n [suggestions]=\"autocompleteRes\"\n (onBlur)=\"onBlur()\"\n (onSelect)=\"onValueChange($event)\"\n (ngModelChange)=\"onValueChange($event)\"\n (completeMethod)=\"autocompleteFn($event)\">\n </p-autoComplete>\n\n <!-- single line input with multiselect-->\n <p-chips *ngIf=\"!multiline && multiselect && !autocomplete\"\n [(ngModel)]=\"value\"\n [disabled]=\"readonly\"\n (onBlur)=\"onBlur()\"\n (ngModelChange)=\"onValueChange($event)\">\n </p-chips>\n\n <p-autoComplete *ngIf=\"!multiline && multiselect && autocomplete\"\n [(ngModel)]=\"value\"\n [suggestions]=\"autocompleteRes\"\n [minLength]=\"1\"\n [multiple]=\"true\"\n [minLength]=\"3\"\n [delay]=\"500\"\n [readonly]=\"readonly\"\n [disabled]=\"readonly\"\n (onBlur)=\"onBlur()\"\n (ngModelChange)=\"onValueChange($event)\"\n (completeMethod)=\"autocompleteFn($event)\"\n (keyup.enter)=\"onKeyUpEnter($event)\">\n </p-autoComplete>\n\n <!-- multi line text inputs -->\n <textarea class=\"input-textarea size-{{size}}\" pInputTextarea\n *ngIf=\"multiline\"\n (blur)=\"onBlur()\"\n [(ngModel)]=\"value\"\n [readonly]=\"readonly\"\n (ngModelChange)=\"onValueChange($event)\"></textarea>\n\n <div class=\"classify\" [ngClass]=\"{empty: !value || situation === 'SEARCH'}\">\n <a href=\"mailto:{{formatedValue}}\" *ngIf=\"classification === 'email' && valid\">\n <i class=\"fa fa-envelope-o\"></i>\n </a>\n <a target=\"_blank\" href=\"{{value}}\" *ngIf=\"classification === 'url' && valid\">\n <i class=\"fa fa-globe\"></i>\n </a>\n </div>\n\n</div>\n",
8293
+ template: "<div class=\"eo-form-string\">\n\n <input *ngIf=\"!multiline && !multiselect && !autocomplete\"\n type=\"text\"\n pInputText\n (blur)=\"onBlur()\"\n [readonly]=\"readonly\"\n [disabled]=\"readonly\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"/>\n\n <!-- single line input with autocomplete -->\n <p-autoComplete *ngIf=\"!multiline && !multiselect && autocomplete\"\n #autocomplete\n [(ngModel)]=\"value\"\n [minLength]=\"3\"\n [delay]=\"500\"\n [readonly]=\"readonly\"\n [disabled]=\"readonly\"\n [suggestions]=\"autocompleteRes\"\n (onBlur)=\"onBlur()\"\n (onSelect)=\"onValueChange($event)\"\n (ngModelChange)=\"onValueChange($event)\"\n (completeMethod)=\"autocompleteFn($event)\">\n </p-autoComplete>\n\n <!-- single line input with multiselect-->\n <p-chips *ngIf=\"!multiline && multiselect && !autocomplete\"\n [(ngModel)]=\"value\"\n [disabled]=\"readonly\"\n (onBlur)=\"onBlur()\"\n (ngModelChange)=\"onValueChange($event)\">\n </p-chips>\n\n <p-autoComplete *ngIf=\"!multiline && multiselect && autocomplete\"\n [(ngModel)]=\"value\"\n [suggestions]=\"autocompleteRes\"\n [minLength]=\"1\"\n [multiple]=\"true\"\n [minLength]=\"3\"\n [delay]=\"500\"\n [readonly]=\"readonly\"\n [disabled]=\"readonly\"\n (onBlur)=\"onBlur()\"\n (ngModelChange)=\"onValueChange($event)\"\n (completeMethod)=\"autocompleteFn($event)\"\n (keyup.enter)=\"onKeyUpEnter($event)\">\n </p-autoComplete>\n\n <!-- multi line text inputs -->\n <textarea class=\"input-textarea size-{{size}}\" pInputTextarea\n *ngIf=\"multiline\"\n (blur)=\"onBlur()\"\n [(ngModel)]=\"value\"\n [readonly]=\"readonly\"\n [disabled]=\"readonly\"\n (ngModelChange)=\"onValueChange($event)\"></textarea>\n\n <div class=\"classify\" [ngClass]=\"{empty: !value || situation === 'SEARCH'}\">\n <a href=\"mailto:{{formatedValue}}\" *ngIf=\"classification === 'email' && valid\">\n <i class=\"fa fa-envelope-o\"></i>\n </a>\n <a target=\"_blank\" href=\"{{value}}\" *ngIf=\"classification === 'url' && valid\">\n <i class=\"fa fa-globe\"></i>\n </a>\n </div>\n\n</div>\n",
8285
8294
  providers: [
8286
8295
  {
8287
8296
  provide: NG_VALUE_ACCESSOR,
@@ -9907,6 +9916,9 @@ class FormElementComponent {
9907
9916
  this.formElementRef._eoFormElement.maxlen = 32;
9908
9917
  }
9909
9918
  this.fetchTags();
9919
+ if (this.formElementRef._eoFormElement.readonly && this.formElementRef._eoFormElement.required) {
9920
+ this.formElementRef._eoFormElement.required = false;
9921
+ }
9910
9922
  }
9911
9923
  }
9912
9924
  addDataToRender(element) {
@@ -9958,7 +9970,7 @@ class FormElementComponent {
9958
9970
  FormElementComponent.decorators = [
9959
9971
  { type: Component, args: [{
9960
9972
  selector: 'eo-form-element',
9961
- template: "<div class=\"form-element\" [formGroup]=\"element\" *ngIf=\"element\">\n\n <div class=\"form-field t-{{formElementRef._eoFormElement.type}}\" #formField\n [ngSwitch]=\"formElementRef._eoFormElement.type\"\n [ngClass]=\"{disabled: !!formElementRef._eoFormElement.readonly}\">\n\n <!-- STRING -->\n <eo-form-input *ngSwitchCase=\"'STRING'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-string\n *ngIf=\"!formElementRef._eoFormElement.reference && formElementRef._eoFormElement.classification !== 'selector'\"\n [situation]=\"element._eoFormControlWrapper.situation\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [autocomplete]=\"formElementRef._eoFormElement.autocomplete\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [multiline]=\"formElementRef._eoFormElement.multiline\"\n [classification]=\"formElementRef._eoFormElement.classification\"\n [regex]=\"formElementRef._eoFormElement.regex\"\n [qname]=\"formElementRef._eoFormElement.qname\"\n [size]=\"formElementRef._eoFormElement.size\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [minLength]=\"formElementRef._eoFormElement.minlen\"\n [maxLength]=\"formElementRef._eoFormElement.maxlen\"\n ></eo-string>\n\n <!-- Dynamic List -->\n <eo-dynamic-list\n *ngIf=\"!formElementRef._eoFormElement.reference && formElementRef._eoFormElement.classification === 'selector'\"\n [situation]=\"element._eoFormControlWrapper.situation\"\n [pickerTitle]=\"formElementRef._eoFormElement.label\"\n [filterFunction]=\"formElementRef._eoFormElement.filterFunction\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [listObject]=\"formElementRef._eoFormElement.list\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"></eo-dynamic-list>\n\n\n <!-- Reference -->\n <eo-reference *ngIf=\"formElementRef._eoFormElement.reference\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [reference]=\"formElementRef._eoFormElement.reference\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [minLength]=\"formElementRef._eoFormElement.minlen\"\n [maxLength]=\"formElementRef._eoFormElement.maxlen\"\n ></eo-reference>\n </eo-form-input>\n\n <!-- ID-Reference -->\n <eo-form-input *ngSwitchCase=\"'REFERENCE'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-id-reference\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [situation]=\"element._eoFormControlWrapper.situation\"\n [dataToRender]=\"formElementRef._eoFormElement.dataToRender\"\n [reference]=\"formElementRef._eoFormElement.reference\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [contextId]=\"formElementRef._eoFormElement.contextId\"\n [exceptionIDs]=\"formElementRef._eoFormElement.exceptionIDs\"\n [queryFilters]=\"formElementRef._eoFormElement.queryFilters\"\n [objectTypesFilter]=\"formElementRef._eoFormElement.objectTypesFilter\"\n ></eo-id-reference>\n </eo-form-input>\n\n <!-- ID -->\n <eo-form-input *ngSwitchCase=\"'ID'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-string\n [situation]=\"element._eoFormControlWrapper.situation\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [autocomplete]=\"formElementRef._eoFormElement.autocomplete\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [regex]=\"'^[0-9a-fA-F]*$'\"\n [qname]=\"formElementRef._eoFormElement.qname\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [minLength]=\"32\"\n [maxLength]=\"32\"\n ></eo-string>\n\n </eo-form-input>\n\n\n <!-- BOOLEAN -->\n <eo-form-input *ngSwitchCase=\"'BOOLEAN'\" [tag]=\"tag\" class=\"checkbox\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n [required]=\"formElementRef._eoFormElement.required\"\n (onToggleLabel)=\"labelToggled($event)\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-checkbox [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [tristate]=\"true\"></eo-checkbox>\n </eo-form-input>\n\n <!-- CODESYSTEM -->\n <eo-form-input *ngSwitchCase=\"'CODESYSTEM'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-codesystem [situation]=\"element._eoFormControlWrapper.situation\"\n [pickerTitle]=\"formElementRef._eoFormElement.label\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [codesystem]=\"formElementRef._eoFormElement.codesystem\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [filterFunction]=\"formElementRef._eoFormElement.filterFunction\"\n [disablingFilterFunction]=\"formElementRef._eoFormElement.disablingFilterFunction\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n ></eo-codesystem>\n </eo-form-input>\n\n <!-- ORGANIZATION -->\n <eo-form-input *ngSwitchCase=\"'ORGANIZATION'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-organization [situation]=\"element._eoFormControlWrapper.situation\"\n [dataMeta]=\"formElementRef._eoFormElement.dataMeta\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [filterObject]=\"formElementRef._eoFormElement.filter\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n (onDataMetaChanged)=\"organizationDataMetaResolved($event)\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n ></eo-organization>\n </eo-form-input>\n\n <!-- NUMBER -->\n\n <eo-form-input *ngSwitchCase=\"'NUMBER'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-number *ngIf=\"situation !== 'SEARCH'\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [precision]=\"formElementRef._eoFormElement.precision\"\n [scale]=\"formElementRef._eoFormElement.scale\"\n [grouping]=\"formElementRef._eoFormElement.grouping\"\n [pattern]=\"formElementRef._eoFormElement.pattern\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\">\n </eo-number>\n\n <eo-number-range *ngIf=\"situation === 'SEARCH'\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [precision]=\"formElementRef._eoFormElement.precision\"\n [scale]=\"formElementRef._eoFormElement.scale\"\n [grouping]=\"formElementRef._eoFormElement.grouping\"\n [pattern]=\"formElementRef._eoFormElement.pattern\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n ></eo-number-range>\n </eo-form-input>\n\n <!-- TABLE -->\n <div class=\"table\" *ngSwitchCase=\"'TABLE'\">\n <eo-table [params]=\"{\n situation: element._eoFormControlWrapper.situation,\n element: formElementRef._eoFormElement,\n size: formElementRef._eoFormElement.size,\n object: formElementRef._eoFormElement.object\n }\" [formControlName]=\"element._eoFormControlWrapper.controlName\"></eo-table>\n </div>\n\n <!-- DATE AND DATETIME -->\n <eo-form-input *ngSwitchCase=\"'DATETIME'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-datetime *ngIf=\"situation !== 'SEARCH'\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [pickerTitle]=\"formElementRef._eoFormElement.label\"\n [withTime]=\"formElementRef._eoFormElement.withtime\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [validateDatabaseTimeRange]=\"formElementRef._eoFormElement.withtime\"\n ></eo-datetime>\n\n <eo-datetime-range *ngIf=\"situation === 'SEARCH'\"\n [pickerTitle]=\"formElementRef._eoFormElement.label\"\n [withTime]=\"formElementRef._eoFormElement.withtime\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n ></eo-datetime-range>\n </eo-form-input>\n\n\n <!-- print out the type if it's not matching anything -->\n <div *ngSwitchDefault><b>{{formElementRef._eoFormElement.type}}</b></div>\n\n\n <!-- the fields description -->\n <div class=\"description\" *ngIf=\"formElementRef._eoFormElement.description\">{{formElementRef._eoFormElement.description}}</div>\n\n <!-- error/validation messages -->\n <div class=\"err-msg\" *ngIf=\"formElementRef.errors\">\n\n <div *ngIf=\"formElementRef.errors.daterange\" translate>eo.form.property.daterange.invalid</div>\n <div *ngIf=\"formElementRef.errors.numberrange\" translate>eo.form.property.numberrange.invalid</div>\n <div *ngIf=\"formElementRef.errors.number\" translate>eo.form.property.number</div>\n <div *ngIf=\"formElementRef.errors.precision\" translate\n [translateParams]=\"formElementRef.errors.precision.translateValues\">{{formElementRef.errors.precision.translateKey}}</div>\n <div *ngIf=\"formElementRef.errors.scale\" translate\n [translateParams]=\"formElementRef.errors.scale.translateValues\">{{formElementRef.errors.scale.translateKey}}</div>\n\n <div *ngIf=\"formElementRef.errors.regex || formElementRef.errors.pattern\" translate>eo.form.property.string.regex.nomatch</div>\n <div *ngIf=\"formElementRef.errors.classificationemail\" translate>eo.form.property.string.error.classification.email</div>\n <div *ngIf=\"formElementRef.errors.classificationurl\" translate>eo.form.property.string.error.classification.url</div>\n <div *ngIf=\"formElementRef.errors.onlyWhitespaces\" translate>eo.form.property.string.error.whitespaces</div>\n <div *ngIf=\"formElementRef.errors.datecontrol\" translate>eo.form.property.date.invalid</div>\n <div *ngIf=\"formElementRef.errors.codesystem\" translate>eo.form.property.codesystem.value.invalid</div>\n <div *ngIf=\"formElementRef.errors.eoformScript\">{{formElementRef._eoFormElement.error.msg}}</div>\n <div *ngIf=\"formElementRef.errors.required\" translate>eo.form.property.required</div>\n <div *ngIf=\"formElementRef.errors.maxlength\" translate [translateParams]=\"{maxlength: formElementRef._eoFormElement.maxlen}\">eo.form.property.maxlength</div>\n <div *ngIf=\"formElementRef.errors.minlength\" translate [translateParams]=\"{minlength: formElementRef._eoFormElement.minlen}\">eo.form.property.minlength</div>\n <div *ngIf=\"formElementRef.errors.deletedIDReference\" translate>eo.form.property.idreference.deleted</div>\n <div *ngIf=\"formElementRef.errors.deletedOrgObject\" translate>eo.form.property.orgobject.deleted</div>\n </div>\n\n </div>\n</div>\n",
9973
+ template: "<div class=\"form-element\" [formGroup]=\"element\" *ngIf=\"element\">\n\n <div class=\"form-field t-{{formElementRef._eoFormElement.type}}\" #formField\n [ngSwitch]=\"formElementRef._eoFormElement.type\"\n [ngClass]=\"{disabled: !!formElementRef._eoFormElement.readonly}\">\n\n <!-- STRING -->\n <eo-form-input *ngSwitchCase=\"'STRING'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [disabled]=\"formElementRef._eoFormElement.readonly\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-string\n *ngIf=\"!formElementRef._eoFormElement.reference && formElementRef._eoFormElement.classification !== 'selector'\"\n [situation]=\"element._eoFormControlWrapper.situation\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [autocomplete]=\"formElementRef._eoFormElement.autocomplete\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [multiline]=\"formElementRef._eoFormElement.multiline\"\n [classification]=\"formElementRef._eoFormElement.classification\"\n [regex]=\"formElementRef._eoFormElement.regex\"\n [qname]=\"formElementRef._eoFormElement.qname\"\n [size]=\"formElementRef._eoFormElement.size\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [minLength]=\"formElementRef._eoFormElement.minlen\"\n [maxLength]=\"formElementRef._eoFormElement.maxlen\"\n ></eo-string>\n\n <!-- Dynamic List -->\n <eo-dynamic-list\n *ngIf=\"!formElementRef._eoFormElement.reference && formElementRef._eoFormElement.classification === 'selector'\"\n [situation]=\"element._eoFormControlWrapper.situation\"\n [pickerTitle]=\"formElementRef._eoFormElement.label\"\n [filterFunction]=\"formElementRef._eoFormElement.filterFunction\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [listObject]=\"formElementRef._eoFormElement.list\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"></eo-dynamic-list>\n\n\n <!-- Reference -->\n <eo-reference *ngIf=\"formElementRef._eoFormElement.reference\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [reference]=\"formElementRef._eoFormElement.reference\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [minLength]=\"formElementRef._eoFormElement.minlen\"\n [maxLength]=\"formElementRef._eoFormElement.maxlen\"\n ></eo-reference>\n </eo-form-input>\n\n <!-- ID-Reference -->\n <eo-form-input *ngSwitchCase=\"'REFERENCE'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [disabled]=\"formElementRef._eoFormElement.readonly\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-id-reference\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [situation]=\"element._eoFormControlWrapper.situation\"\n [dataToRender]=\"formElementRef._eoFormElement.dataToRender\"\n [reference]=\"formElementRef._eoFormElement.reference\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [contextId]=\"formElementRef._eoFormElement.contextId\"\n [exceptionIDs]=\"formElementRef._eoFormElement.exceptionIDs\"\n [queryFilters]=\"formElementRef._eoFormElement.queryFilters\"\n [objectTypesFilter]=\"formElementRef._eoFormElement.objectTypesFilter\"\n ></eo-id-reference>\n </eo-form-input>\n\n <!-- ID -->\n <eo-form-input *ngSwitchCase=\"'ID'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [disabled]=\"formElementRef._eoFormElement.readonly\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-string\n [situation]=\"element._eoFormControlWrapper.situation\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [autocomplete]=\"formElementRef._eoFormElement.autocomplete\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [regex]=\"'^[0-9a-fA-F]*$'\"\n [qname]=\"formElementRef._eoFormElement.qname\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [minLength]=\"32\"\n [maxLength]=\"32\"\n ></eo-string>\n\n </eo-form-input>\n\n\n <!-- BOOLEAN -->\n <eo-form-input *ngSwitchCase=\"'BOOLEAN'\" [tag]=\"tag\" class=\"checkbox\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n [required]=\"formElementRef._eoFormElement.required\"\n [disabled]=\"formElementRef._eoFormElement.readonly\"\n (onToggleLabel)=\"labelToggled($event)\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-checkbox [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [tristate]=\"true\"></eo-checkbox>\n </eo-form-input>\n\n <!-- CODESYSTEM -->\n <eo-form-input *ngSwitchCase=\"'CODESYSTEM'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [disabled]=\"formElementRef._eoFormElement.readonly\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-codesystem [situation]=\"element._eoFormControlWrapper.situation\"\n [pickerTitle]=\"formElementRef._eoFormElement.label\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [codesystem]=\"formElementRef._eoFormElement.codesystem\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n [filterFunction]=\"formElementRef._eoFormElement.filterFunction\"\n [disablingFilterFunction]=\"formElementRef._eoFormElement.disablingFilterFunction\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n ></eo-codesystem>\n </eo-form-input>\n\n <!-- ORGANIZATION -->\n <eo-form-input *ngSwitchCase=\"'ORGANIZATION'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [disabled]=\"formElementRef._eoFormElement.readonly\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-organization [situation]=\"element._eoFormControlWrapper.situation\"\n [dataMeta]=\"formElementRef._eoFormElement.dataMeta\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [filterObject]=\"formElementRef._eoFormElement.filter\"\n [multiselect]=\"formElementRef._eoFormElement.multiselect\"\n (onDataMetaChanged)=\"organizationDataMetaResolved($event)\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n ></eo-organization>\n </eo-form-input>\n\n <!-- NUMBER -->\n\n <eo-form-input *ngSwitchCase=\"'NUMBER'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [disabled]=\"formElementRef._eoFormElement.readonly\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-number *ngIf=\"situation !== 'SEARCH'\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [precision]=\"formElementRef._eoFormElement.precision\"\n [scale]=\"formElementRef._eoFormElement.scale\"\n [grouping]=\"formElementRef._eoFormElement.grouping\"\n [pattern]=\"formElementRef._eoFormElement.pattern\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\">\n </eo-number>\n\n <eo-number-range *ngIf=\"situation === 'SEARCH'\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [precision]=\"formElementRef._eoFormElement.precision\"\n [scale]=\"formElementRef._eoFormElement.scale\"\n [grouping]=\"formElementRef._eoFormElement.grouping\"\n [pattern]=\"formElementRef._eoFormElement.pattern\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n ></eo-number-range>\n </eo-form-input>\n\n <!-- TABLE -->\n <div class=\"table\" *ngSwitchCase=\"'TABLE'\">\n <eo-table [params]=\"{\n situation: element._eoFormControlWrapper.situation,\n element: formElementRef._eoFormElement,\n size: formElementRef._eoFormElement.size,\n object: formElementRef._eoFormElement.object\n }\" [formControlName]=\"element._eoFormControlWrapper.controlName\"></eo-table>\n </div>\n\n <!-- DATE AND DATETIME -->\n <eo-form-input *ngSwitchCase=\"'DATETIME'\" [tag]=\"tag\" [label]=\"formElementRef._eoFormElement.label\"\n [isNull]=\"isNull\"\n [skipToggle]=\"skipToggle || situation !== 'SEARCH'\"\n (onToggleLabel)=\"labelToggled($event)\"\n [required]=\"formElementRef._eoFormElement.required\"\n [disabled]=\"formElementRef._eoFormElement.readonly\"\n [invalid]=\"formElementRef.invalid\">\n\n <eo-datetime *ngIf=\"situation !== 'SEARCH'\"\n [readonly]=\"formElementRef._eoFormElement.readonly\"\n [pickerTitle]=\"formElementRef._eoFormElement.label\"\n [withTime]=\"formElementRef._eoFormElement.withtime\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n [validateDatabaseTimeRange]=\"formElementRef._eoFormElement.withtime\"\n ></eo-datetime>\n\n <eo-datetime-range *ngIf=\"situation === 'SEARCH'\"\n [pickerTitle]=\"formElementRef._eoFormElement.label\"\n [withTime]=\"formElementRef._eoFormElement.withtime\"\n [formControlName]=\"element._eoFormControlWrapper.controlName\"\n ></eo-datetime-range>\n </eo-form-input>\n\n\n <!-- print out the type if it's not matching anything -->\n <div *ngSwitchDefault><b>{{formElementRef._eoFormElement.type}}</b></div>\n\n\n <!-- the fields description -->\n <div class=\"description\" *ngIf=\"formElementRef._eoFormElement.description\">{{formElementRef._eoFormElement.description}}</div>\n\n <!-- error/validation messages -->\n <div class=\"err-msg\" *ngIf=\"formElementRef.errors\">\n\n <div *ngIf=\"formElementRef.errors.daterange\" translate>eo.form.property.daterange.invalid</div>\n <div *ngIf=\"formElementRef.errors.numberrange\" translate>eo.form.property.numberrange.invalid</div>\n <div *ngIf=\"formElementRef.errors.number\" translate>eo.form.property.number</div>\n <div *ngIf=\"formElementRef.errors.precision\" translate\n [translateParams]=\"formElementRef.errors.precision.translateValues\">{{formElementRef.errors.precision.translateKey}}</div>\n <div *ngIf=\"formElementRef.errors.scale\" translate\n [translateParams]=\"formElementRef.errors.scale.translateValues\">{{formElementRef.errors.scale.translateKey}}</div>\n\n <div *ngIf=\"formElementRef.errors.regex || formElementRef.errors.pattern\" translate>eo.form.property.string.regex.nomatch</div>\n <div *ngIf=\"formElementRef.errors.classificationemail\" translate>eo.form.property.string.error.classification.email</div>\n <div *ngIf=\"formElementRef.errors.classificationurl\" translate>eo.form.property.string.error.classification.url</div>\n <div *ngIf=\"formElementRef.errors.onlyWhitespaces\" translate>eo.form.property.string.error.whitespaces</div>\n <div *ngIf=\"formElementRef.errors.datecontrol\" translate>eo.form.property.date.invalid</div>\n <div *ngIf=\"formElementRef.errors.codesystem\" translate>eo.form.property.codesystem.value.invalid</div>\n <div *ngIf=\"formElementRef.errors.eoformScript\">{{formElementRef._eoFormElement.error.msg}}</div>\n <div *ngIf=\"formElementRef.errors.required\" translate>eo.form.property.required</div>\n <div *ngIf=\"formElementRef.errors.maxlength\" translate [translateParams]=\"{maxlength: formElementRef._eoFormElement.maxlen}\">eo.form.property.maxlength</div>\n <div *ngIf=\"formElementRef.errors.minlength\" translate [translateParams]=\"{minlength: formElementRef._eoFormElement.minlen}\">eo.form.property.minlength</div>\n <div *ngIf=\"formElementRef.errors.deletedIDReference\" translate>eo.form.property.idreference.deleted</div>\n <div *ngIf=\"formElementRef.errors.deletedOrgObject\" translate>eo.form.property.orgobject.deleted</div>\n </div>\n\n </div>\n</div>\n",
9962
9974
  styles: [":host-context(.dark) .form-element .form-field .err-msg{background-color:var(--color-error);border:0;border-radius:2px;color:var(--color-white);margin:calc(var(--app-pane-padding)/4) 0;padding:calc(var(--app-pane-padding)/4)}:host{flex:1 1 auto}:host.label-toggled::ng-deep eo-form-input label{text-decoration:line-through}.form-element{box-sizing:border-box}.form-element .form-field{margin:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.form-element .form-field .description{border:0;font-size:var(--font-hint);font-style:italic;padding:calc(var(--app-pane-padding)/8) calc(var(--app-pane-padding)/8) 0 calc(var(--app-pane-padding)/8)}.form-element .form-field .err-msg{border:0;color:var(--color-error);padding:calc(var(--app-pane-padding)/4) 0}.form-element .form-field .table{align-items:flex-start;border-color:transparent;flex-flow:column}.form-element .form-field .table .label{padding-bottom:calc(var(--app-pane-padding)/4)}.form-element.ng-dirty:not(.ng-invalid)>.form-field:not(.focused)::ng-deep label{background-color:var(--color-dirty-background);color:var(--color-dirty-font)!important}"]
9963
9975
  },] }
9964
9976
  ];
@@ -10047,6 +10059,7 @@ class FormElementTableComponent extends UnsubscribeOnDestroy {
10047
10059
  set params(p) {
10048
10060
  if (p) {
10049
10061
  this._params = p;
10062
+ CellRenderer.situation = this._params.situation;
10050
10063
  if (this._params.situation === 'SEARCH') {
10051
10064
  this._params.size = 'supersmall';
10052
10065
  }
@@ -12058,10 +12071,12 @@ class SetFilterComponent extends AbstractFilterComponent {
12058
12071
  this.title = '';
12059
12072
  this.searchLimit = 10;
12060
12073
  this.operator = 'OR'; // AND | OR
12074
+ this.selectedAllFilters = false;
12061
12075
  this.id = '#set';
12062
12076
  }
12063
12077
  set options(opts) {
12064
12078
  this._options = this.defaultValue ? opts || [] : this.settingsService.setupSettings(this.id, opts);
12079
+ this.selectedAllFilters = this.options.every(opt => opt.value);
12065
12080
  if (this.options && this.params && this.isFilterActive()) {
12066
12081
  setTimeout(() => this.params.filterChangedCallback(), 0);
12067
12082
  }
@@ -12107,7 +12122,7 @@ class SetFilterComponent extends AbstractFilterComponent {
12107
12122
  SetFilterComponent.decorators = [
12108
12123
  { type: Component, args: [{
12109
12124
  selector: 'eo-set-filter',
12110
- template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n <input *ngIf=\"options?.length > searchLimit\" #input (ngModelChange)=\"onSearchChange($event)\" [ngModel]=\"''\"\n class=\"form-control\" placeholder=\"{{ 'eo.resultlist.grid.searchOoo' | translate}}\">\n <div class=\"option flex-row\">\n <eo-checkbox (ngModelChange)=\"onChange($event)\" [ngModel]=\"operator === 'OR'\" [tristate]=\"false\"></eo-checkbox>\n <label>({{'eo.resultlist.grid.selectAll' | translate}})</label>\n </div>\n</header>\n<div class=\"option flex-row\" *ngFor=\"let item of options\" [hidden]=\"item.hidden\">\n <eo-checkbox (ngModelChange)=\"onChange($event, item)\" [ngModel]=\"item.value\" [tristate]=\"false\"></eo-checkbox>\n <label [innerHTML]=\"item.label | safeHtml\"></label>\n</div>",
12125
+ template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n <input *ngIf=\"options?.length > searchLimit\" #input (ngModelChange)=\"onSearchChange($event)\" [ngModel]=\"''\"\n class=\"form-control\" placeholder=\"{{ 'eo.resultlist.grid.searchOoo' | translate}}\">\n <div class=\"option flex-row\">\n <eo-checkbox (ngModelChange)=\"onChange($event)\" [ngModel]=\"selectedAllFilters\" [tristate]=\"false\"></eo-checkbox>\n <label>({{'eo.resultlist.grid.selectAll' | translate}})</label>\n </div>\n</header>\n<div class=\"option flex-row\" *ngFor=\"let item of options\" [hidden]=\"item.hidden\">\n <eo-checkbox (ngModelChange)=\"onChange($event, item)\" [ngModel]=\"item.value\" [tristate]=\"false\"></eo-checkbox>\n <label [innerHTML]=\"item.label | safeHtml\"></label>\n</div>\n",
12111
12126
  styles: [".title{font-weight:700;margin-top:.5em}.option{margin:.5em 0}label{padding:0 .5em}input{border:none}"]
12112
12127
  },] }
12113
12128
  ];
@@ -12163,7 +12178,7 @@ class ListFilterComponent extends SetFilterComponent {
12163
12178
  ListFilterComponent.decorators = [
12164
12179
  { type: Component, args: [{
12165
12180
  selector: 'eo-list-filter',
12166
- template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n <input *ngIf=\"options?.length > searchLimit\" #input (ngModelChange)=\"onSearchChange($event)\" [ngModel]=\"''\"\n class=\"form-control\" placeholder=\"{{ 'eo.resultlist.grid.searchOoo' | translate}}\">\n <div class=\"option flex-row\">\n <eo-checkbox (ngModelChange)=\"onChange($event)\" [ngModel]=\"operator === 'OR'\" [tristate]=\"false\"></eo-checkbox>\n <label>({{'eo.resultlist.grid.selectAll' | translate}})</label>\n </div>\n</header>\n<div class=\"option flex-row\" *ngFor=\"let item of options\" [hidden]=\"item.hidden\">\n <eo-checkbox (ngModelChange)=\"onChange($event, item)\" [ngModel]=\"item.value\" [tristate]=\"false\"></eo-checkbox>\n <label [innerHTML]=\"item.label | safeHtml\"></label>\n</div>",
12181
+ template: "<header class=\"filter__header\">\n <h3 class=\"filter__title title\" *ngIf=\"title\">{{title}}</h3>\n <input *ngIf=\"options?.length > searchLimit\" #input (ngModelChange)=\"onSearchChange($event)\" [ngModel]=\"''\"\n class=\"form-control\" placeholder=\"{{ 'eo.resultlist.grid.searchOoo' | translate}}\">\n <div class=\"option flex-row\">\n <eo-checkbox (ngModelChange)=\"onChange($event)\" [ngModel]=\"selectedAllFilters\" [tristate]=\"false\"></eo-checkbox>\n <label>({{'eo.resultlist.grid.selectAll' | translate}})</label>\n </div>\n</header>\n<div class=\"option flex-row\" *ngFor=\"let item of options\" [hidden]=\"item.hidden\">\n <eo-checkbox (ngModelChange)=\"onChange($event, item)\" [ngModel]=\"item.value\" [tristate]=\"false\"></eo-checkbox>\n <label [innerHTML]=\"item.label | safeHtml\"></label>\n</div>\n",
12167
12182
  styles: [".title{font-weight:700;margin-top:.5em}.option{margin:.5em 0}label{padding:0 .5em}input{border:none}"]
12168
12183
  },] }
12169
12184
  ];
@@ -12712,7 +12727,7 @@ ColumnConfiguratorComponent.decorators = [
12712
12727
  { type: Component, args: [{
12713
12728
  selector: 'eo-column-configurator',
12714
12729
  template: "<div class=\"configurator\">\n\n <div class=\"bar\">\n <div class=\"title\" translate>eo.column.config.title</div>\n <button (click)=\"resetDefault()\" *ngIf=\"!isDefaultConfig\" translate>eo.column.config.action.resetdefault</button>\n <button (click)=\"toggleConfigMode()\" translate>eo.column.config.action.close</button>\n <button (click)=\"saveConfig(true)\" class=\"primary\" [disabled]=\"!currentFields?.length\" *ngIf=\"hasPrivilege\" translate>eo.column.config.action.save.default</button>\n <button (click)=\"saveConfig()\" class=\"primary\" [disabled]=\"!currentFields?.length\" translate>eo.column.config.action.save</button>\n </div>\n\n <div class=\"info\" *ngIf=\"info\">{{info}}</div>\n\n <div class=\"column-config\" cdkDropListGroup>\n\n <div class=\"scroller current\">\n <div class=\"headline\" translate>eo.column.config.headline.current</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'current')\" [cdkDropListData]=\"currentFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of currentFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n <div class=\"group\" [ngClass]=\"{on: field.confmeta.pinned}\" (click)=\"togglePinned(field, $event)\" translate>eo.column.config.pinned</div>\n <!--<div class=\"group\" [ngClass]=\"{on: field.confmeta.group}\" (click)=\"toggleGroup(field, $event)\" translate>eo.column.config.group</div>-->\n <div class=\"sort\" [ngClass]=\"{on: field.confmeta.sort, asc: field.confmeta.sort === 'asc', desc: field.confmeta.sort === 'desc', disabled: !field.sortable}\" \n (click)=\"field.sortable && toggleSort(field, $event)\" translate>eo.column.config.sort</div>\n </div>\n </div>\n\n </div>\n </div>\n\n <div class=\"scroller available\">\n <div class=\"headline\" translate>eo.column.config.headline.available</div>\n <div class=\"items\" cdkDropList (cdkDropListDropped)=\"drop($event, 'available')\" [cdkDropListData]=\"availableFields\">\n <div class=\"item\" cdkDragHandle cdkDrag [cdkDragData]=\"field\" *ngFor=\"let field of availableFields; index as i\">\n <div class=\"entry\" [ngClass]=\"{modified: field.confmeta.modified, sfe: field.selectedforenrichment}\">\n <div class=\"label\" [ngClass]=\"{baseparam: field.baseparameter}\">{{field.label}}</div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n",
12715
- styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{-webkit-animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;background:var(--color-white);bottom:0;display:flex;display:none;flex:1;flex-direction:column;height:100%;left:0;min-height:0;min-width:0;position:absolute;right:0;top:0;width:100%;z-index:10}:host.visible{display:block;overflow-x:auto}:host .configurator{flex:1;flex-direction:column;height:100%}:host .bar,:host .configurator{display:flex;min-height:0;min-width:0}:host .bar{align-items:center;background:var(--color-accent);color:var(--color-white);flex:none;flex-direction:row;min-width:560px;padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button.primary,:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{color:var(--color-accent);font-size:var(--font-title);font-weight:var(--font-weight-light);line-height:1em;margin:var(--app-pane-padding)}:host .column-config{--cc-border-color:rgba(var(--color-black-rgb),0.15);display:flex;flex:1;flex-direction:row;margin:var(--app-pane-padding);min-height:0;min-width:0}:host .column-config .scroller{background:var(--panel-background-lightgrey);border:1px solid var(--cc-border-color);display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption);padding:calc(var(--app-pane-padding)/2)}:host .column-config .scroller .items{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}:host .column-config .scroller .items .entry{-khtml-user-select:none;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-moz-user-select:none;-ms-user-select:none;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-touch-callout:none;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-user-select:none;background:var(--color-white);border:1px solid var(--cc-border-color);cursor:default;cursor:move;display:flex;flex:1;flex-direction:row;margin:4px 0;min-height:0;min-width:0;overflow:hidden;padding:calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out;user-select:none}:host .column-config .scroller .items .entry:before{background:rgba(var(--color-black-rgb),.06);content:\" \";height:1.5em;width:calc(var(--app-pane-padding)/2)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding)/2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding)/2)}:host .column-config .scroller .items .entry.sfe:before{background:rgba(var(--color-black-rgb),.26);color:var(--color-white);content:\"*\";text-align:center}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);content:\"\";display:inline-block;height:8px;opacity:0;transition:all var(--app-default-transition-duration) ease-in-out;width:8px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .sort{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-black-rgb),.06);border:1px solid rgba(var(--color-black-rgb),0);border-radius:2px;color:rgba(var(--color-black-rgb),.33);font-size:var(--font-hint);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;white-space:nowrap}:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .sort:hover{border-color:rgba(var(--color-black-rgb),.22);color:var(--text-color-caption)}:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .sort.on{border-color:var(--color-accent-light);color:var(--color-accent-light)}:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .sort.disabled{border:1px solid rgba(var(--color-black-rgb),0);color:rgba(var(--color-black-rgb),.33);cursor:default;text-decoration:line-through}"]
12730
+ styles: [".cdk-drag-preview{display:none}.cdk-drag-placeholder .entry{border-style:dashed!important;opacity:.9}.cdk-drop-list-dragging .cdk-drag{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-animating{transition:transform .3s cubic-bezier(0,0,.2,1)}:host{-webkit-animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;animation:eoFadeIn var(--app-default-transition-duration) 1 ease-in-out;background:var(--color-white);bottom:0;display:flex;display:none;flex:1;flex-direction:column;height:100%;left:0;min-height:0;min-width:0;position:absolute;right:0;top:0;width:100%;z-index:10}:host.visible{display:block;overflow-x:auto}:host .configurator{flex:1;flex-direction:column;height:100%}:host .bar,:host .configurator{display:flex;min-height:0;min-width:0}:host .bar{align-items:center;background:var(--color-accent);color:var(--color-white);flex:none;flex-direction:row;min-width:560px;padding:calc(var(--app-pane-padding)/2) var(--app-pane-padding)}:host .bar .title{flex:1 1 auto;font-size:var(--font-subhead)}:host .bar button{color:rgba(var(--color-white-rgb),.87);margin:4px}:host .bar button.primary,:host .bar button:hover{background:rgba(var(--color-white-rgb),.1)}:host .bar button.primary{border:1px solid var(--color-white);color:var(--color-white);white-space:nowrap}:host .bar button.primary:hover{background:rgba(var(--color-white-rgb),.3)}:host .info{color:var(--color-accent);font-size:var(--font-title);font-weight:var(--font-weight-light);line-height:1em;margin:var(--app-pane-padding)}:host .column-config{--cc-border-color:rgba(var(--color-black-rgb),0.15);display:flex;flex:1;flex-direction:row;margin:var(--app-pane-padding);min-height:0;min-width:0}:host .column-config .scroller{background:var(--panel-background-lightgrey);border:1px solid var(--cc-border-color);display:flex;flex:2;flex-direction:column;min-height:0;min-width:0;min-width:300px}:host .column-config .scroller:last-child{flex:1;min-width:200px}[dir=ltr] :host .column-config .scroller:last-child{margin-left:var(--app-pane-padding)}[dir=rtl] :host .column-config .scroller:last-child{margin-right:var(--app-pane-padding)}:host .column-config .scroller .headline{border-bottom:1px solid var(--cc-border-color);color:var(--text-color-caption);padding:calc(var(--app-pane-padding)/2)}:host .column-config .scroller .items{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow-y:auto;padding:calc(var(--app-pane-padding)/2)}:host .column-config .scroller .items .entry{-khtml-user-select:none;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-moz-user-select:none;-ms-user-select:none;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-touch-callout:none;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-user-select:none;background:var(--color-white);border:1px solid var(--cc-border-color);cursor:default;cursor:move;display:flex;flex:1;flex-direction:row;margin:4px 0;min-height:0;min-width:0;overflow:hidden;padding:calc(var(--app-pane-padding)/2);transition:all var(--app-default-transition-duration) ease-in-out;user-select:none}:host .column-config .scroller .items .entry:before{background:rgba(var(--color-black-rgb),.06);content:\" \";height:1.5em;width:calc(var(--app-pane-padding)/2)}[dir=ltr] :host .column-config .scroller .items .entry:before{margin-right:calc(var(--app-pane-padding)/2)}[dir=rtl] :host .column-config .scroller .items .entry:before{margin-left:calc(var(--app-pane-padding)/2)}:host .column-config .scroller .items .entry.sfe:before{background:rgba(var(--color-black-rgb),.26);color:var(--color-white);content:\"*\";text-align:center}:host .column-config .scroller .items .entry.modified:before{background:var(--color-accent)}:host .column-config .scroller .items .entry .label{flex:1 1 auto}:host .column-config .scroller .items .entry .label.baseparam{font-style:italic}:host .column-config .scroller .items .entry .sort:after{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGFBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAB5sPD/AAAACHRSTlMAAAEnK2xwihv2e6MAAAAkSURBVAgdBcGBAQAgDMMgmvn/zcIGMO6xUBHXIqLkYkmQDfABCHAAOCt/xSYAAAAASUVORK5CYII=);content:\"\";display:inline-block;height:8px;opacity:0;transition:all var(--app-default-transition-duration) ease-in-out;width:8px}[dir=ltr] :host .column-config .scroller .items .entry .sort:after{margin-left:4px}[dir=rtl] :host .column-config .scroller .items .entry .sort:after{margin-right:4px}:host .column-config .scroller .items .entry .sort.asc:after{opacity:1}:host .column-config .scroller .items .entry .sort.desc:after{opacity:1;transform:rotate(180deg)}:host .column-config .scroller .items .entry .group,:host .column-config .scroller .items .entry .sort{-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;background:rgba(var(--color-black-rgb),.06);border:1px solid rgba(var(--color-black-rgb),0);border-radius:2px;color:rgba(var(--color-black-rgb),.33);cursor:pointer;font-size:var(--font-hint);margin:0 4px;padding:0 4px;transition:all var(--app-default-transition-duration) ease-in-out;white-space:nowrap}:host .column-config .scroller .items .entry .group:hover,:host .column-config .scroller .items .entry .sort:hover{border-color:rgba(var(--color-black-rgb),.22);color:var(--text-color-caption)}:host .column-config .scroller .items .entry .group.on,:host .column-config .scroller .items .entry .sort.on{border-color:var(--color-accent-light);color:var(--color-accent-light)}:host .column-config .scroller .items .entry .group.disabled,:host .column-config .scroller .items .entry .sort.disabled{border:1px solid rgba(var(--color-black-rgb),0);color:rgba(var(--color-black-rgb),.33);cursor:default;text-decoration:line-through}"]
12716
12731
  },] }
12717
12732
  ];
12718
12733
  ColumnConfiguratorComponent.ctorParameters = () => [
@@ -20639,6 +20654,10 @@ class InboxDetailsComponent extends UnsubscribeOnDestroy {
20639
20654
  * @param action The action to be executes
20640
20655
  */
20641
20656
  executeWorkItemAction(action) {
20657
+ this.preventClickThrough = true;
20658
+ setTimeout(() => {
20659
+ this.preventClickThrough = false;
20660
+ }, 1000);
20642
20661
  setTimeout(() => {
20643
20662
  if (!this.formState || !this.formState.invalid) {
20644
20663
  if (action.url) {
@@ -22391,10 +22410,10 @@ class AboutStateComponent {
22391
22410
  this.http = http;
22392
22411
  this.userService = userService;
22393
22412
  this.config = config;
22394
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.7", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
22413
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.9", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
22395
22414
  this.ctrl = {
22396
22415
  productName: 'yuuvis® RAD client',
22397
- clientVersion: '8.16.7'
22416
+ clientVersion: '8.16.9'
22398
22417
  };
22399
22418
  this.licenses = {
22400
22419
  'MIT': {