@eo-sdk/client 9.0.0-rc.8 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +3 -2
  2. package/app/eo-framework/ui/user-avatar/user-avatar.component.d.ts +4 -2
  3. package/assets/_default/i18n/de.json +1 -1
  4. package/assets/_default/i18n/en.json +3 -3
  5. package/bundles/eo-sdk-client.umd.js +73 -34
  6. package/bundles/eo-sdk-client.umd.js.map +1 -1
  7. package/bundles/eo-sdk-client.umd.min.js +1 -1
  8. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  9. package/eo-sdk-client.metadata.json +1 -1
  10. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  11. package/esm2015/app/eo-client/inbox-state/inbox-state/inbox-state.component.js +4 -6
  12. package/esm2015/app/eo-client/settings/settings.component.js +3 -3
  13. package/esm2015/app/eo-framework/accordion/simple-accordion/simple-accordion.component.js +3 -3
  14. package/esm2015/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.js +2 -2
  15. package/esm2015/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.js +25 -6
  16. package/esm2015/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.js +2 -2
  17. package/esm2015/app/eo-framework/form-elements/string/string.component.js +2 -2
  18. package/esm2015/app/eo-framework/frame/frame.component.js +1 -1
  19. package/esm2015/app/eo-framework/result-list/result-list.component.js +2 -2
  20. package/esm2015/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.js +3 -3
  21. package/esm2015/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.js +9 -4
  22. package/esm2015/app/eo-framework/tree/tree-node/tree-node.component.js +1 -1
  23. package/esm2015/app/eo-framework/tree/tree.component.js +2 -2
  24. package/esm2015/app/eo-framework/ui/user-avatar/user-avatar.component.js +15 -4
  25. package/fesm2015/eo-sdk-client.js +63 -30
  26. package/fesm2015/eo-sdk-client.js.map +1 -1
  27. package/package.json +2 -2
  28. package/projects/eo-sdk/core/package.json +1 -1
@@ -3407,7 +3407,7 @@
3407
3407
  SimpleAccordionComponent.decorators = [
3408
3408
  { type: i0.Component, args: [{
3409
3409
  selector: 'eo-simple-accordion',
3410
- template: "<header tabindex=\"0\" role=\"tab\" (click)=\"open = !open\">{{header}}</header>\n<section *ngIf=\"open\" role=\"tabpanel\"><ng-content></ng-content></section>",
3410
+ template: "<header tabindex=\"0\" role=\"tab\" (click)=\"open = !open\" (keydown.enter)=\"open = !open\">{{header}}</header>\n<section *ngIf=\"open\" role=\"tabpanel\"><ng-content></ng-content></section>",
3411
3411
  styles: [":host{--accordion-arrow-color:rgba(0,0,0,0.26);--accordion-outline-color:rgba(0,0,0,0.15)}:host.open>header:before{transform:translateY(.15em) rotate(225deg)}:host>header{-moz-user-select:none;-webkit-user-select:none;align-items:center;background-color:var(--panel-background-grey);border:1px solid var(--accordion-outline-color);border-radius:2px;cursor:pointer;display:flex;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2);user-select:none}:host>header:focus,:host>header:focus-visible{outline:2px solid var(--color-accent)}:host>header:before{-webkit-margin-end:.5em;border-color:var(--accordion-arrow-color);border-style:solid;border-width:0 2px 2px 0;content:\"\";display:inline-block;height:.5em;margin-inline-end:.5em;transform:translateY(-.15em) rotate(45deg);transition:transform .2s ease-in-out;width:.5em}"]
3412
3412
  },] }
3413
3413
  ];
@@ -3416,7 +3416,7 @@
3416
3416
  header: [{ type: i0.Input }],
3417
3417
  onOpen: [{ type: i0.Output }],
3418
3418
  open: [{ type: i0.HostBinding, args: ['class.open',] }, { type: i0.Input }],
3419
- onKeyDown: [{ type: i0.HostListener, args: ['keydown.enter', ['$event'],] }, { type: i0.HostListener, args: ['keydown.space', ['$event'],] }]
3419
+ onKeyDown: [{ type: i0.HostListener, args: ['keydown.space', ['$event'],] }]
3420
3420
  };
3421
3421
 
3422
3422
  var AccordionModule = /** @class */ (function () {
@@ -4072,9 +4072,19 @@
4072
4072
  _this.refreshUserImage();
4073
4073
  });
4074
4074
  }
4075
+ UserAvatarComponent.prototype.ngOnInit = function () {
4076
+ if (this.previewUri) {
4077
+ this.refreshUserImage();
4078
+ }
4079
+ };
4075
4080
  UserAvatarComponent.prototype.refreshUserImage = function () {
4076
- var timestamp = new Date().getTime().toString();
4077
- this.backgroundImage = "url(" + (this.userService.getUserImageUri(this.userId) + '&t=' + timestamp) + "), url(" + this.defImg + ")";
4081
+ if (this.previewUri) {
4082
+ this.backgroundImage = "url(" + this.previewUri + ")";
4083
+ }
4084
+ else {
4085
+ var timestamp = new Date().getTime().toString();
4086
+ this.backgroundImage = "url(" + (this.userService.getUserImageUri(this.userId) + '&t=' + timestamp) + "), url(" + this.defImg + ")";
4087
+ }
4078
4088
  };
4079
4089
  UserAvatarComponent.prototype.ngOnDestroy = function () {
4080
4090
  this.subscription.unsubscribe();
@@ -4094,7 +4104,8 @@
4094
4104
  ]; };
4095
4105
  UserAvatarComponent.propDecorators = {
4096
4106
  backgroundImage: [{ type: i0.HostBinding, args: ['style.background-image',] }],
4097
- showPresence: [{ type: i0.Input }]
4107
+ showPresence: [{ type: i0.Input }],
4108
+ previewUri: [{ type: i0.Input }]
4098
4109
  };
4099
4110
 
4100
4111
  var OverlayComponent = /** @class */ (function () {
@@ -6119,7 +6130,7 @@
6119
6130
  selector: 'eo-tree-node',
6120
6131
  template: "<div class=\"tree-node\"\n [ngClass]=\"{selected: node.selected,\n expanded: node.expanded,\n notSelectable: !node.selectable && !(node.children?.length),\n branch: node.children && node.children.length > 0}\">\n <div class=\"node-line\"></div>\n <div class=\"node-content\">\n\n <div class=\"node-item\">\n <div class=\"spacer\"></div>\n <div class=\"ico\" (click)=\"node.children?.length ? onNodeExpandedChanged.emit(node) : onNodeSelected.emit(node)\"></div>\n <div class=\"values\">\n <div class=\"label\" (click)=\"onNodeSelected.emit(node)\" [ngClass]=\"{focused: node.focused}\">\n <span>{{node.name}}</span>\n </div>\n <div class=\"badge\" *ngIf=\"node.badges && node.badges.length > 0\">\n <span *ngFor=\"let badge of node.badges\"\n class=\"{{badge.cssClass}}\"\n [ngClass]=\"{highlighted: node.highlighted}\">\n {{badge.value}}\n </span>\n </div>\n </div>\n </div>\n\n <div class=\"node-children\" *ngIf=\"node.children?.length\">\n <eo-tree-node [node]=\"_node\" *ngFor=\"let _node of node.children; trackBy: trackById\"\n (onNodeExpandedChanged)=\"onNodeExpandedChanged.emit($event)\"\n (onNodeSelected)=\"onNodeSelected.emit($event)\"></eo-tree-node>\n </div>\n </div>\n</div>\n",
6121
6132
  encapsulation: i0.ViewEncapsulation.None,
6122
- styles: [".eo-tree.rtl .tree-node .node-content .node-children{padding-left:0;padding-right:var(--app-pane-padding)}.eo-tree.rtl .tree-node .node-content .node-item .label{margin-left:0;margin-right:calc(var(--app-pane-padding)/4)}.eo-tree{color:var(--text-color-caption)}.eo-tree eo-tree-node{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}.eo-tree>eo-tree-node:last-child>.tree-node>.node-line{height:calc(var(--app-pane-padding)/2 + var(--app-pane-padding)/2 + 1px)}.eo-tree>eo-tree-node:first-child>.tree-node>.node-line{margin-top:calc(var(--app-pane-padding)/2 + var(--app-pane-padding)/2)}.eo-tree .tree-node{display:flex;flex:1;flex-direction:row;flex-wrap:nowrap;min-height:0;min-width:0}.eo-tree .tree-node.notSelectable{color:var(--text-color-hint)}.eo-tree .tree-node.notSelectable .label{cursor:default!important}.eo-tree .tree-node.notSelectable .label.focused span,.eo-tree .tree-node.notSelectable .label:hover span{border-color:transparent!important;color:var(--text-color-hint)!important}.eo-tree .tree-node .node-line{align-self:stretch;background:rgba(var(--color-black-rgb),.2);flex:0 0 auto;width:1px}.eo-tree .tree-node .node-content{flex:1 1 auto;min-width:0;padding:calc(var(--app-pane-padding)/2) 0}.eo-tree .tree-node .node-content .node-item{align-items:center;display:flex;flex:1;flex-direction:row;flex-wrap:nowrap;height:var(--app-pane-padding);min-height:0;min-width:0}.eo-tree .tree-node .node-content .node-item .spacer{align-self:stretch;display:flex;flex-flow:column;width:calc(var(--app-pane-padding)/2)}.eo-tree .tree-node .node-content .node-item .spacer:before{border-bottom:1px solid rgba(var(--color-black-rgb),.2);content:\"\";flex:0 0 50%}.eo-tree .tree-node .node-content .node-item .ico{align-items:center;border:1px solid rgba(var(--color-black-rgb),.2);border-radius:50%;box-sizing:border-box;display:flex;flex-flow:row nowrap;height:var(--app-pane-padding);justify-content:center;width:var(--app-pane-padding)}.eo-tree .tree-node .node-content .node-item .values{align-items:center;display:flex;flex:1;flex-direction:row;justify-content:space-between;min-height:0;min-width:0}.eo-tree .tree-node .node-content .node-item .label{-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;cursor:pointer;display:inline-block;margin-left:calc(var(--app-pane-padding)/4);max-width:none;overflow:hidden;padding:1px;text-overflow:ellipsis;transition:all var(--app-default-transition-duration) ease-in-out;white-space:nowrap;width:100%;word-wrap:break-word}.eo-tree .tree-node .node-content .node-item .label.focused span,.eo-tree .tree-node .node-content .node-item .label:hover span{border-color:var(--color-accent);color:var(--color-accent)}.eo-tree .tree-node .node-content .node-item .label span{-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;border:1px solid transparent;border-radius:3px;box-sizing:border-box;display:inline-block;padding:0 calc(var(--app-pane-padding)/4);transition:all var(--app-default-transition-duration) ease-in-out;white-space:nowrap}.eo-tree .tree-node .node-content .node-item .badge span{border:1px solid var(--text-color-hint);border-radius:calc(var(--app-pane-padding)/4);box-sizing:content-box;color:var(--text-color-caption);font-size:var(--font-hint);line-height:1em;margin:0 calc(var(--app-pane-padding)/4);padding:0 calc(var(--app-pane-padding)/4) 1px calc(var(--app-pane-padding)/4)}.eo-tree .tree-node .node-content .node-item .badge span:last-child{background:var(--color-primary-3);border-color:transparent;color:var(--color-white)}.eo-tree .tree-node .node-content .node-item .badge span.highlighted:last-child{background:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-white)}.eo-tree .tree-node .node-content .node-children{display:none;padding-left:var(--app-pane-padding)}.eo-tree .tree-node .node-content .node-children>eo-tree-node:last-child>.tree-node>.node-line{height:calc(var(--app-pane-padding)/2 + var(--app-pane-padding)/2 + 1px)}.eo-tree .tree-node.selected>.node-content>.node-item>.label span{background:var(--color-accent);color:var(--color-white)}.eo-tree .tree-node.selected>.node-content>.node-item>.label.focused,.eo-tree .tree-node.selected>.node-content>.node-item>.label:hover{border-color:var(--color-accent)}.eo-tree .tree-node.selected:not(.branch)>.node-content>.node-item .ico:before{background:var(--color-accent);border-radius:50%;content:\"\";height:calc(var(--app-pane-padding)/2);width:calc(var(--app-pane-padding)/2)}.eo-tree .tree-node.selected.branch>.node-content>.node-item .ico{border-color:var(--color-accent)}.eo-tree .tree-node.selected.branch>.node-content>.node-item .ico:before{background:var(--color-accent);color:var(--color-white)}.eo-tree .tree-node.branch>.node-content>.node-item>.ico{border-radius:2px}.eo-tree .tree-node.branch>.node-content>.node-item>.ico:hover{background:rgba(var(--color-black-rgb),.1)}.eo-tree .tree-node.branch>.node-content>.node-item>.ico:before{color:var(--text-color-caption);content:\"+\";font-family:monospace;font-size:14px;height:calc(var(--app-pane-padding) - 2px);line-height:calc(var(--app-pane-padding) - 2px);text-align:center;width:calc(var(--app-pane-padding) - 2px)}.eo-tree .tree-node.branch.expanded>.node-content>.node-item>.ico:before{content:\"-\"}.eo-tree .tree-node.branch.expanded>.node-content>.node-children{display:block}"]
6133
+ styles: [".eo-tree.rtl .tree-node .node-content .node-children{padding-left:0;padding-right:var(--app-pane-padding)}.eo-tree.rtl .tree-node .node-content .node-item .label{margin-left:0;margin-right:calc(var(--app-pane-padding)/4)}.eo-tree{color:var(--text-color-caption)}.eo-tree eo-tree-node{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0}.eo-tree>eo-tree-node:last-child>.tree-node>.node-line{height:calc(var(--app-pane-padding)/2 + var(--app-pane-padding)/2 + 1px)}.eo-tree>eo-tree-node:first-child>.tree-node>.node-line{margin-top:calc(var(--app-pane-padding)/2 + var(--app-pane-padding)/2)}.eo-tree .tree-node{display:flex;flex:1;flex-direction:row;flex-wrap:nowrap;min-height:0;min-width:0}.eo-tree .tree-node.notSelectable{color:var(--text-color-hint);display:none}.eo-tree .tree-node.notSelectable .label{cursor:default!important}.eo-tree .tree-node.notSelectable .label.focused span,.eo-tree .tree-node.notSelectable .label:hover span{border-color:transparent!important;color:var(--text-color-hint)!important}.eo-tree .tree-node .node-line{align-self:stretch;background:rgba(var(--color-black-rgb),.2);flex:0 0 auto;width:1px}.eo-tree .tree-node .node-content{flex:1 1 auto;min-width:0;padding:calc(var(--app-pane-padding)/2) 0}.eo-tree .tree-node .node-content .node-item{align-items:center;display:flex;flex:1;flex-direction:row;flex-wrap:nowrap;height:var(--app-pane-padding);min-height:0;min-width:0}.eo-tree .tree-node .node-content .node-item .spacer{align-self:stretch;display:flex;flex-flow:column;width:calc(var(--app-pane-padding)/2)}.eo-tree .tree-node .node-content .node-item .spacer:before{border-bottom:1px solid rgba(var(--color-black-rgb),.2);content:\"\";flex:0 0 50%}.eo-tree .tree-node .node-content .node-item .ico{align-items:center;border:1px solid rgba(var(--color-black-rgb),.2);border-radius:50%;box-sizing:border-box;display:flex;flex-flow:row nowrap;height:var(--app-pane-padding);justify-content:center;width:var(--app-pane-padding)}.eo-tree .tree-node .node-content .node-item .values{align-items:center;display:flex;flex:1;flex-direction:row;justify-content:space-between;min-height:0;min-width:0}.eo-tree .tree-node .node-content .node-item .label{-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;cursor:pointer;display:inline-block;margin-left:calc(var(--app-pane-padding)/4);max-width:none;overflow:hidden;padding:1px;text-overflow:ellipsis;transition:all var(--app-default-transition-duration) ease-in-out;white-space:nowrap;width:100%;word-wrap:break-word}.eo-tree .tree-node .node-content .node-item .label.focused span,.eo-tree .tree-node .node-content .node-item .label:hover span{border-color:var(--color-accent);color:var(--color-accent)}.eo-tree .tree-node .node-content .node-item .label span{-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;border:1px solid transparent;border-radius:3px;box-sizing:border-box;display:inline-block;padding:0 calc(var(--app-pane-padding)/4);transition:all var(--app-default-transition-duration) ease-in-out;white-space:nowrap}.eo-tree .tree-node .node-content .node-item .badge span{border:1px solid var(--text-color-hint);border-radius:calc(var(--app-pane-padding)/4);box-sizing:content-box;color:var(--text-color-caption);font-size:var(--font-hint);line-height:1em;margin:0 calc(var(--app-pane-padding)/4);padding:0 calc(var(--app-pane-padding)/4) 1px calc(var(--app-pane-padding)/4)}.eo-tree .tree-node .node-content .node-item .badge span:last-child{background:var(--color-primary-3);border-color:transparent;color:var(--color-white)}.eo-tree .tree-node .node-content .node-item .badge span.highlighted:last-child{background:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-white)}.eo-tree .tree-node .node-content .node-children{display:none;padding-left:var(--app-pane-padding)}.eo-tree .tree-node .node-content .node-children>eo-tree-node:last-child>.tree-node>.node-line{height:calc(var(--app-pane-padding)/2 + var(--app-pane-padding)/2 + 1px)}.eo-tree .tree-node.selected>.node-content>.node-item>.label span{background:var(--color-accent);color:var(--color-white)}.eo-tree .tree-node.selected>.node-content>.node-item>.label.focused,.eo-tree .tree-node.selected>.node-content>.node-item>.label:hover{border-color:var(--color-accent)}.eo-tree .tree-node.selected:not(.branch)>.node-content>.node-item .ico:before{background:var(--color-accent);border-radius:50%;content:\"\";height:calc(var(--app-pane-padding)/2);width:calc(var(--app-pane-padding)/2)}.eo-tree .tree-node.selected.branch>.node-content>.node-item .ico{border-color:var(--color-accent)}.eo-tree .tree-node.selected.branch>.node-content>.node-item .ico:before{background:var(--color-accent);color:var(--color-white)}.eo-tree .tree-node.branch>.node-content>.node-item>.ico{border-radius:2px}.eo-tree .tree-node.branch>.node-content>.node-item>.ico:hover{background:rgba(var(--color-black-rgb),.1)}.eo-tree .tree-node.branch>.node-content>.node-item>.ico:before{color:var(--text-color-caption);content:\"+\";font-family:monospace;font-size:14px;height:calc(var(--app-pane-padding) - 2px);line-height:calc(var(--app-pane-padding) - 2px);text-align:center;width:calc(var(--app-pane-padding) - 2px)}.eo-tree .tree-node.branch.expanded>.node-content>.node-item>.ico:before{content:\"-\"}.eo-tree .tree-node.branch.expanded>.node-content>.node-children{display:block}"]
6123
6134
  },] }
6124
6135
  ];
6125
6136
  TreeNodeComponent.ctorParameters = function () { return []; };
@@ -6282,7 +6293,7 @@
6282
6293
  // Recursive function walking the tree nodes and setting the nodes `selected` flags
6283
6294
  TreeComponent.prototype.updateTreeNode = function (node, parents) {
6284
6295
  var _this = this;
6285
- node.selected = !!this.selectedNodes.find(function (n) { return node.id === n.id; });
6296
+ node.selected = !!this.selectedNodes.find(function (n) { return node.id === n.value; });
6286
6297
  node.expanded = this._expandedNodes.length ? !!this._expandedNodes.find(function (id) { return id === node.id; }) : node.expanded;
6287
6298
  node.highlighted = !!this._highlightedNodes.find(function (id) { return id === node.id; });
6288
6299
  node.focused = this.focusedNode && this.focusedNode.id === node.id ? this.focusedNode.focused : false;
@@ -7476,6 +7487,20 @@
7476
7487
  this.selectedNodes = null;
7477
7488
  }
7478
7489
  }
7490
+ else {
7491
+ if (this.multiselect) {
7492
+ this.selectedNodes = values.map(function (v) {
7493
+ var node = {};
7494
+ node[_this.valueField] = v;
7495
+ return node;
7496
+ });
7497
+ }
7498
+ else {
7499
+ var node = {};
7500
+ node[this.valueField] = value;
7501
+ this.selectedNodes = node;
7502
+ }
7503
+ }
7479
7504
  var nodes = !this.selectedNodes || Array.isArray(this.selectedNodes) ? this.selectedNodes || [] : [this.selectedNodes];
7480
7505
  if (this._list && (nodes.length !== values.length || nodes.some(function (n, i) { return n[_this.valueField] !== values[i]; }))) {
7481
7506
  this.buildTree();
@@ -7492,7 +7517,7 @@
7492
7517
  this.setFormControlValue(wasInvalid);
7493
7518
  };
7494
7519
  DynamicListComponent.prototype.onAutoCompleteUnselect = function (node) {
7495
- this.selectedNodes = this.selectedNodes.filter(function (sNode) { return sNode.id !== node.id; });
7520
+ this.selectedNodes = this.selectedNodes.filter(function (sNode) { return sNode.value !== node.value; });
7496
7521
  this.setFormControlValue();
7497
7522
  };
7498
7523
  DynamicListComponent.prototype.onTreeSelectionChanged = function (evt) {
@@ -7519,7 +7544,7 @@
7519
7544
  var v;
7520
7545
  var changed;
7521
7546
  if (this.multiselect) {
7522
- v = this.selectedNodes ? this.selectedNodes.map(function (node) { return node.data[_this.valueField]; }) : [];
7547
+ v = this.selectedNodes ? this.selectedNodes.map(function (node) { return node[_this.valueField]; }) : [];
7523
7548
  changed = !this.value || !(v.length === this.value.length && v.every(function (val) { return _this.value.some(function (curVal) { return curVal === val; }); }));
7524
7549
  }
7525
7550
  else {
@@ -7532,7 +7557,6 @@
7532
7557
  }
7533
7558
  };
7534
7559
  DynamicListComponent.prototype.buildTree = function () {
7535
- this.selectedNodes = [];
7536
7560
  this.autocompleteValues = [];
7537
7561
  var tree = [];
7538
7562
  for (var i = 0; i < this._list.entries.length; i++) {
@@ -7558,16 +7582,27 @@
7558
7582
  parentNode.push(node);
7559
7583
  };
7560
7584
  DynamicListComponent.prototype.checkSelected = function (node) {
7585
+ var _this = this;
7561
7586
  if (!this.value) {
7562
7587
  return;
7563
7588
  }
7564
7589
  if (this.multiselect) {
7565
- for (var i = 0; i < this.value.length; i++) {
7566
- var isTreeNodeValueInValue = node.data[this.valueField] === this.value[i];
7590
+ var _loop_1 = function (i) {
7591
+ var isTreeNodeValueInValue = node.data[this_1.valueField] === this_1.value[i];
7567
7592
  if (isTreeNodeValueInValue) {
7568
- node.selected = true;
7569
- this.selectedNodes.push(node);
7593
+ var selectedNodeThatHasValue = this_1.selectedNodes.find(function (sN) { return sN[_this.valueField] === _this.value[i]; });
7594
+ if (!selectedNodeThatHasValue) {
7595
+ node.selected = true;
7596
+ this_1.selectedNodes.push(node);
7597
+ }
7598
+ else {
7599
+ selectedNodeThatHasValue.selected = true;
7600
+ }
7570
7601
  }
7602
+ };
7603
+ var this_1 = this;
7604
+ for (var i = 0; i < this.value.length; i++) {
7605
+ _loop_1(i);
7571
7606
  }
7572
7607
  }
7573
7608
  else {
@@ -8189,7 +8224,7 @@
8189
8224
  _this.resultList = _this.referenceFinderService.generateResults(_this.clipboardItems, hits, _this.currentSelection, _this.types);
8190
8225
  }
8191
8226
  else {
8192
- _this.resultList = [];
8227
+ _this.searchTerm$.next('*');
8193
8228
  _this.clipboardOpen = true;
8194
8229
  }
8195
8230
  _this.markedItem = null;
@@ -9357,7 +9392,7 @@
9357
9392
  StringComponent.decorators = [
9358
9393
  { type: i0.Component, args: [{
9359
9394
  selector: 'eo-string',
9360
- 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",
9395
+ 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 [addOnBlur]=\"true\">\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",
9361
9396
  providers: [
9362
9397
  {
9363
9398
  provide: forms.NG_VALUE_ACCESSOR,
@@ -17785,7 +17820,7 @@
17785
17820
  }
17786
17821
  ShareObjectComponent.prototype.ngOnInit = function () {
17787
17822
  var orgaValue = [];
17788
- var shareChildren = this.selection[0].shares ? this.selection[0].shares[0].sharechildren : true;
17823
+ var shareChildren = this.selection[0].shares[0] ? this.selection[0].shares[0].sharechildren : true;
17789
17824
  this.includeChildrenField.setValue(shareChildren);
17790
17825
  if (this.selection[0].isFolder) {
17791
17826
  this.header = this.translate.instant('eo.manage.rights.folder.title');
@@ -18575,8 +18610,8 @@
18575
18610
  ChangePasswordFormComponent.decorators = [
18576
18611
  { type: i0.Component, args: [{
18577
18612
  selector: 'eo-change-password-form',
18578
- template: "<section class=\"change-password\">\n <form #changePasswordFormElement [formGroup]=\"changePasswordForm\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\">\n <div class=\"form-item\">\n\n <eo-form-input [label]=\"('eo.password.reset.current-password' | translate)\" [required]=\"true\" [invalid]=\"passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'currentPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.current-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.new-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords || passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'password'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.new-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.confirm-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'confirmPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.confirm-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <div class=\"invalid error\" *ngIf=\"passwordIsNew\">\n {{'eo.password.reset.error.same.password' | translate}}\n </div>\n\n <div class=\"invalid error\" *ngIf=\"matchingPasswords\">\n {{'eo.password.reset.error.matiching.password' | translate}}\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'short'\">\n eo.password.reset.error.new.password.short\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'number'\">\n eo.password.reset.error.new.password.number\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'specialchars'\">\n eo.password.reset.error.new.password.specialchars\n </div>\n\n <section class=\"change-password__cta\">\n <button class=\"change-password__submit-button\" type=\"submit\"\n [disabled]=\"changePasswordForm.invalid || passwordValidation.type !== 'valid'\" translate>eo.password.reset.confirm-button</button>\n\n <a (click)=\"showPasswords()\">\n <eo-icon class=\"change-password__icon-show\"\n [iconSrc]=\"'assets/_default/svg/ic_eye.svg'\"\n [iconTitle]=\"('eo.password.reset.toogle.icon' | translate)\"\n [ngClass]=\"{'visible': passwordIsVisible}\"></eo-icon>\n </a>\n </section>\n </div>\n </form>\n\n</section>\n",
18579
- styles: [".change-password .invalid.error{color:var(--color-error);padding:5px 0}.change-password__cta{align-items:center;display:flex;margin-top:10px}.change-password__submit-button{margin-right:10px}.change-password__icon-show{color:var(--text-color-caption);cursor:pointer}.change-password__icon-show.visible{color:var(--color-primary-3)}"]
18613
+ template: "<section class=\"change-password\">\n <form #changePasswordFormElement [formGroup]=\"changePasswordForm\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\">\n <div class=\"form-item\">\n\n <eo-form-input [label]=\"('eo.password.reset.current-password' | translate)\" [required]=\"true\" [invalid]=\"passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'currentPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.current-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.new-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords || passwordIsNew\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'password'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.new-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <eo-form-input [label]=\"('eo.password.reset.confirm-password' | translate)\" [required]=\"true\" [invalid]=\"matchingPasswords\">\n <eo-password [parent]=\"changePasswordForm\"\n [element]=\"'confirmPassword'\"\n [canChangepasswordVisiblety]=\"false\"\n [passwordVisible]=\"passwordIsVisible\"\n [placeholder]=\"('eo.password.reset.confirm-password' | translate)\"></eo-password>\n </eo-form-input>\n\n <div class=\"invalid error\" *ngIf=\"passwordIsNew\">\n {{'eo.password.reset.error.same.password' | translate}}\n </div>\n\n <div class=\"invalid error\" *ngIf=\"matchingPasswords\">\n {{'eo.password.reset.error.matiching.password' | translate}}\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'short'\">\n eo.password.reset.error.new.password.short\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'number'\">\n eo.password.reset.error.new.password.number\n </div>\n\n <div class=\"invalid error\" translate [translateParams]=\"{amount: passwordValidation.amount}\" *ngIf=\"passwordValidation.type === 'specialchars'\">\n eo.password.reset.error.new.password.specialchars\n </div>\n\n <section class=\"change-password__cta\">\n <button class=\"change-password__submit-button\" type=\"submit\"\n [disabled]=\"changePasswordForm.invalid || passwordValidation.type !== 'valid'\" translate>eo.password.reset.confirm-button</button>\n\n <a (click)=\"showPasswords()\" tabindex=\"0\" (keydown.enter)=\"showPasswords()\" >\n <eo-icon class=\"change-password__icon-show\"\n [iconSrc]=\"'assets/_default/svg/ic_eye.svg'\"\n [iconTitle]=\"('eo.password.reset.toogle.icon' | translate)\"\n [ngClass]=\"{'visible': passwordIsVisible}\"></eo-icon>\n </a>\n </section>\n </div>\n </form>\n\n</section>\n",
18614
+ styles: [".change-password .invalid.error{color:var(--color-error);padding:5px 0}.change-password :focus{outline:2px solid var(--text-color-caption)}.change-password__cta{align-items:center;display:flex;margin-top:10px}.change-password__submit-button{margin-right:10px}.change-password__icon-show{color:var(--text-color-caption);cursor:pointer}.change-password__icon-show:hover{color:var(--color-accent)}.change-password__icon-show.visible{color:var(--color-primary-3)}"]
18580
18615
  },] }
18581
18616
  ];
18582
18617
  ChangePasswordFormComponent.ctorParameters = function () { return [
@@ -18895,7 +18930,7 @@
18895
18930
  // todo: implement
18896
18931
  };
18897
18932
  ResultListComponent.prototype.resultHasReferences = function () {
18898
- return this._result.fields.elements.some(function (element) { return element.type === 'ORGANISATION' || element.type === 'REFERENCE'; });
18933
+ return this._result.fields.elements.some(function (element) { return element.type === 'ORGANIZATION' || element.type === 'REFERENCE'; });
18899
18934
  };
18900
18935
  ResultListComponent.prototype.exportCSV = function (ignoreThreshold) {
18901
18936
  var _this = this;
@@ -19215,7 +19250,7 @@
19215
19250
 
19216
19251
  var StoredQueryDetailsComponent = /** @class */ (function (_super) {
19217
19252
  __extends(StoredQueryDetailsComponent, _super);
19218
- function StoredQueryDetailsComponent(router, searchService, userService, systemService, selection, pendingChanges, storedQueriesService, formHelperService, translate) {
19253
+ function StoredQueryDetailsComponent(router, searchService, userService, systemService, selection, pendingChanges, storedQueriesService, formHelperService, elemRef, translate) {
19219
19254
  var _this = _super.call(this) || this;
19220
19255
  _this.router = router;
19221
19256
  _this.searchService = searchService;
@@ -19225,6 +19260,7 @@
19225
19260
  _this.pendingChanges = pendingChanges;
19226
19261
  _this.storedQueriesService = storedQueriesService;
19227
19262
  _this.formHelperService = formHelperService;
19263
+ _this.elemRef = elemRef;
19228
19264
  _this.translate = translate;
19229
19265
  _this.FORM_INPUT_TITLE = 'storedQueryTitle';
19230
19266
  _this.FORM_INPUT_FULLTEXT = 'storedQueryFulltext';
@@ -19251,6 +19287,7 @@
19251
19287
  this.queryScope = scope;
19252
19288
  };
19253
19289
  StoredQueryDetailsComponent.prototype.setQuery = function (q) {
19290
+ var _this = this;
19254
19291
  this.editingShare = false;
19255
19292
  this.resetEditForm();
19256
19293
  // grab meta information about the query
@@ -19268,6 +19305,9 @@
19268
19305
  this.edit();
19269
19306
  this.startPending();
19270
19307
  this.notifyList.emit({ unselect: true, update: false });
19308
+ setTimeout(function () {
19309
+ _this.elemRef.nativeElement.querySelector('[name="storedQueryTitle"]').focus();
19310
+ }, 500);
19271
19311
  }
19272
19312
  }
19273
19313
  };
@@ -19691,7 +19731,7 @@
19691
19731
  StoredQueryDetailsComponent.decorators = [
19692
19732
  { type: i0.Component, args: [{
19693
19733
  selector: 'eo-stored-query-details',
19694
- template: "<ng-container *ngIf=\"storedQuery\">\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"\n [iconTitle]=\"('eo.sidebar.navigation.storedqueries' | translate)\">\n </eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{storedQuery.name}}</h2>\n <h3 class=\"eo-header-subtitle\" translate>eo.search.title.storedqueries</h3>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\">\n\n <div class=\"form\">\n\n <ng-template #queryForm>\n <eo-stored-query [query]=\"storedQuery\" [formOnly]=\"true\" #storedQueryForm\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\n </ng-template>\n\n <form class=\"edit-form\" [formGroup]=\"editForm.form\" *ngIf=\"editForm.form; else queryForm\">\n\n <div class=\"context dark\">\n\n <!-- title and fulltext term fields -->\n <eo-form-input class=\"title\">\n <input type=\"text\" name=\"storedQueryTitle\" maxlength=\"64\" autofocus=\"autofocus\" [formControlName]=\"'storedQueryTitle'\"/>\n </eo-form-input>\n \n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n <div class=\"form-field\">\n <eo-form-element [skipToggle]=\"true\" [element]=\"editForm.fulltextFormControl\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"editForm.fulltextFormControl\"\n (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n\n <!-- context type form controls -->\n <h3>{{storedQuery.contextFolderTypes[0]?.label}}</h3>\n <div class=\"form-field\" *ngFor=\"let ctxElement of editForm.contextControls; trackBy: trackByQName\">\n <eo-form-element [element]=\"ctxElement\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"ctxElement\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n </div>\n\n <!-- object type form controls -->\n <div class=\"form-fields\" [ngClass]=\"{empty: !editForm.controls?.length}\">\n <div class=\"form-field\" *ngFor=\"let element of editForm.controls; trackBy: trackByQName\">\n <eo-form-element [element]=\"element\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"element\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n </div>\n </form>\n </div>\n\n <aside class=\"aside\" *ngIf=\"!isNewQuery\">\n\n <!-- favorite and share -->\n <div class=\"meta-actions\">\n\n <ng-container *ngIf=\"isOwnQuery; else sharedWithMe\">\n <eo-icon class=\"button btn-share\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" *ngIf=\"enableSharing\"\n [ngClass]=\"{active: storedQuery.shared || storedQuery.roles.length, editing: editingShare}\"\n (click)=\"toggleShareEdit()\"\n [iconTitle]=\"iconTitles.share\"></eo-icon>\n\n <eo-icon class=\"button btn-fav\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\n [ngClass]=\"{active: storedQuery.favorite}\"\n (click)=\"toggleFavoriteState()\"\n [iconTitle]=\"iconTitles.favor\"></eo-icon>\n </ng-container>\n\n <ng-template #sharedWithMe>\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" [iconTitle]=\"iconTitles.shared\"></eo-icon>\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\" [iconTitle]=\"iconTitles.favored\"></eo-icon>\n </ng-template>\n\n </div>\n\n <!-- roles that share this query -->\n <div class=\"meta-roles\" [ngClass]=\"{dark: editingShare, empty: !storedQuery.roles?.length}\">\n\n <div class=\"label\" translate>eo.storedquery.share.sharedwith</div>\n <div class=\"form-field\" *ngIf=\"rolesPicker?.codesystem?.entries\">\n <eo-codesystem [pickerTitle]=\"rolesPicker.title\"\n [codesystem]=\"rolesPicker.codesystem\"\n [multiselect]=\"true\"\n [readonly]=\"!editingShare\"\n [inputStyleClass]=\"'stored-query__share'\"\n [(ngModel)]=\"rolesPicker.value\"></eo-codesystem>\n </div>\n\n <div class=\"share-actions\" *ngIf=\"editingShare\">\n <button class=\"secondary\" (click)=\"cancelShare()\" translate>eo.storedquery.share.cancel</button>\n <button class=\"primary\" (click)=\"share()\" translate>eo.storedquery.share.ok</button>\n </div>\n </div>\n\n <!-- queries meta info like baseparam settings -->\n <div class=\"meta-data\" *ngIf=\"restrictions?.length\">\n <div class=\"restriction\" *ngFor=\"let restriction of restrictions; trackBy: trackByIndex\">\n <div class=\"label\">{{restriction.label}}</div>\n <div class=\"items\">\n <div *ngFor=\"let item of restriction.items; trackBy: trackByIndex\">{{item}}</div>\n </div>\n </div>\n </div>\n\n </aside>\n\n </div>\n\n <div class=\"actions\">\n <ng-container *ngIf=\"!editForm.form; else actionEdit\">\n <button class=\"secondary btn-delete\" (click)=\"delete()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.delete</button>\n <button class=\"secondary btn-open\" (click)=\"setQueryToAppSearch()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.load</button>\n <button class=\"primary grey btn-edit\" (click)=\"edit()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.edit</button>\n <button class=\"primary btn-search\" [disabled]=\"storedQuery.state?.isEmpty\" (click)=\"executeQuery()\" translate>eo.storedquery.run</button>\n </ng-container>\n\n <ng-template #actionEdit>\n <!-- action while editing the query form -->\n <button class=\"secondary btn-cancel\" (click)=\"cancelEdit()\" translate>eo.storedquery.action.cancel</button>\n <button class=\"primary btn-save\" (click)=\"updateStoredQuery()\" [disabled]=\"editForm.form.invalid\" translate>eo.storedquery.action.save</button>\n </ng-template>\n </div>\n\n</ng-container>\n",
19734
+ template: "<ng-container *ngIf=\"storedQuery\">\n <div class=\"eo-head\">\n <header class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"\n [iconTitle]=\"('eo.sidebar.navigation.storedqueries' | translate)\">\n </eo-icon>\n <div class=\"eo-header-info\">\n <h2 class=\"eo-header-title\">{{storedQuery.name}}</h2>\n <h3 class=\"eo-header-subtitle\" translate>eo.search.title.storedqueries</h3>\n </div>\n </header>\n </div>\n\n <div class=\"eo-body\">\n\n <div class=\"form\">\n\n <ng-template #queryForm>\n <eo-stored-query [query]=\"storedQuery\" [formOnly]=\"true\" #storedQueryForm\n (onQueryLoaded)=\"onStoredQueryLoaded()\"\n (onQueryExecute)=\"onStoredQueryExecute($event)\"></eo-stored-query>\n </ng-template>\n\n <form class=\"edit-form\" [formGroup]=\"editForm.form\" *ngIf=\"editForm.form; else queryForm\">\n\n <div class=\"context dark\">\n\n <!-- title and fulltext term fields -->\n <eo-form-input class=\"title\">\n <input type=\"text\" name=\"storedQueryTitle\" maxlength=\"64\" onfocus=\"this.select()\" [formControlName]=\"'storedQueryTitle'\"/>\n </eo-form-input>\n \n <eo-query-scope-select [selection]=\"queryScope\" (select)=\"setQueryScope($event)\"></eo-query-scope-select>\n <div class=\"form-field\">\n <eo-form-element [skipToggle]=\"true\" [element]=\"editForm.fulltextFormControl\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"editForm.fulltextFormControl\"\n (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n\n <!-- context type form controls -->\n <h3>{{storedQuery.contextFolderTypes[0]?.label}}</h3>\n <div class=\"form-field\" *ngFor=\"let ctxElement of editForm.contextControls; trackBy: trackByQName\">\n <eo-form-element [element]=\"ctxElement\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"ctxElement\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n </div>\n\n <!-- object type form controls -->\n <div class=\"form-fields\" [ngClass]=\"{empty: !editForm.controls?.length}\">\n <div class=\"form-field\" *ngFor=\"let element of editForm.controls; trackBy: trackByQName\">\n <eo-form-element [element]=\"element\" [situation]=\"'SEARCH'\"></eo-form-element>\n <eo-dynamic-property-switch [parentFormControl]=\"element\" (onPropertyChanged)=\"parameterChanged($event)\"></eo-dynamic-property-switch>\n </div>\n </div>\n </form>\n </div>\n\n <aside class=\"aside\" *ngIf=\"!isNewQuery\">\n\n <!-- favorite and share -->\n <div class=\"meta-actions\">\n\n <ng-container *ngIf=\"isOwnQuery; else sharedWithMe\">\n <eo-icon class=\"button btn-share\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" *ngIf=\"enableSharing\"\n [ngClass]=\"{active: storedQuery.shared || storedQuery.roles.length, editing: editingShare}\"\n (click)=\"toggleShareEdit()\"\n [iconTitle]=\"iconTitles.share\"></eo-icon>\n\n <eo-icon class=\"button btn-fav\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"\n [ngClass]=\"{active: storedQuery.favorite}\"\n (click)=\"toggleFavoriteState()\"\n [iconTitle]=\"iconTitles.favor\"></eo-icon>\n </ng-container>\n\n <ng-template #sharedWithMe>\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_share.svg'\" [iconTitle]=\"iconTitles.shared\"></eo-icon>\n <eo-icon class=\"sharedWithMe\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\" [iconTitle]=\"iconTitles.favored\"></eo-icon>\n </ng-template>\n\n </div>\n\n <!-- roles that share this query -->\n <div class=\"meta-roles\" [ngClass]=\"{dark: editingShare, empty: !storedQuery.roles?.length}\">\n\n <div class=\"label\" translate>eo.storedquery.share.sharedwith</div>\n <div class=\"form-field\" *ngIf=\"rolesPicker?.codesystem?.entries\">\n <eo-codesystem [pickerTitle]=\"rolesPicker.title\"\n [codesystem]=\"rolesPicker.codesystem\"\n [multiselect]=\"true\"\n [readonly]=\"!editingShare\"\n [inputStyleClass]=\"'stored-query__share'\"\n [(ngModel)]=\"rolesPicker.value\"></eo-codesystem>\n </div>\n\n <div class=\"share-actions\" *ngIf=\"editingShare\">\n <button class=\"secondary\" (click)=\"cancelShare()\" translate>eo.storedquery.share.cancel</button>\n <button class=\"primary\" (click)=\"share()\" translate>eo.storedquery.share.ok</button>\n </div>\n </div>\n\n <!-- queries meta info like baseparam settings -->\n <div class=\"meta-data\" *ngIf=\"restrictions?.length\">\n <div class=\"restriction\" *ngFor=\"let restriction of restrictions; trackBy: trackByIndex\">\n <div class=\"label\">{{restriction.label}}</div>\n <div class=\"items\">\n <div *ngFor=\"let item of restriction.items; trackBy: trackByIndex\">{{item}}</div>\n </div>\n </div>\n </div>\n\n </aside>\n\n </div>\n\n <div class=\"actions\">\n <ng-container *ngIf=\"!editForm.form; else actionEdit\">\n <button class=\"secondary btn-delete\" (click)=\"delete()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.delete</button>\n <button class=\"secondary btn-open\" (click)=\"setQueryToAppSearch()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.load</button>\n <button class=\"primary grey btn-edit\" (click)=\"edit()\" [disabled]=\"!isOwnQuery\" translate>eo.storedquery.action.edit</button>\n <button class=\"primary btn-search\" [disabled]=\"storedQuery.state?.isEmpty\" (click)=\"executeQuery()\" translate>eo.storedquery.run</button>\n </ng-container>\n\n <ng-template #actionEdit>\n <!-- action while editing the query form -->\n <button class=\"secondary btn-cancel\" (click)=\"cancelEdit()\" translate>eo.storedquery.action.cancel</button>\n <button class=\"primary btn-save\" (click)=\"updateStoredQuery()\" [disabled]=\"editForm.form.invalid\" translate>eo.storedquery.action.save</button>\n </ng-template>\n </div>\n\n</ng-container>\n",
19695
19735
  styles: [":host{--stored-query-aside-width:300px;background:var(--panel-background-grey);display:flex;flex:1;flex-direction:column;height:100%;min-height:0;min-width:0;overflow-y:auto}:host .eo-head{background-color:var(--color-white);border-bottom:1px solid var(--panel-header-border-bottom-color)}:host .eo-body{overflow-y:hidden}:host .eo-body .form{overflow-y:auto;padding:var(--app-pane-padding);padding-right:calc(var(--stored-query-aside-width) + var(--app-pane-padding)*2)}:host .eo-body .form eo-stored-query{background-color:var(--color-white);padding:var(--app-pane-padding)}:host .eo-body .aside{background-color:rgba(var(--color-black-rgb),.02);border:1px solid rgba(var(--color-black-rgb),.1);box-sizing:border-box;padding:var(--app-pane-padding);position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding);width:var(--stored-query-aside-width)}:host .eo-body .aside .meta-actions{display:flex;justify-content:flex-end;margin:0 -2px}:host .eo-body .aside .meta-actions eo-icon{color:var(--text-color-hint);margin:0 2px;padding:4px}:host .eo-body .aside .meta-actions eo-icon.active{color:var(--color-favorite)}:host .eo-body .aside .meta-actions eo-icon.editing{background-color:var(--color-primary-2);border-radius:2px 2px 0 0;color:var(--color-white)}:host .eo-body .aside .meta-actions eo-icon.sharedWithMe{background-color:var(--text-color-hint);border-radius:2px;color:var(--color-white)}:host .eo-body .aside .meta-roles.dark{background-color:var(--color-primary-2);border-radius:2px;color:var(--color-white);margin-bottom:var(--app-pane-padding);padding:calc(var(--app-pane-padding)/2)}:host .eo-body .aside .meta-roles.dark .actions{display:flex}:host .eo-body .aside .meta-roles.dark .label{display:none}:host .eo-body .aside .meta-roles.dark .form-field,:host .eo-body .aside .meta-roles .form-field{background-color:rgba(var(--color-white-rgb),.2)}:host .eo-body .aside .meta-roles .form-field{border:1px solid rgba(var(--color-black-rgb),.1);margin-bottom:calc(var(--app-pane-padding)/2);padding:2px 2px 4px 4px}:host .eo-body .aside .meta-roles .label{color:var(--text-color-caption);font-style:italic;margin-bottom:calc(var(--app-pane-padding)/4)}:host .eo-body .aside .meta-roles .share-actions{display:flex;justify-content:flex-end;margin:0 calc(var(--app-pane-padding)/8*-1)}:host .eo-body .aside .meta-roles .share-actions button{margin:0 calc(var(--app-pane-padding)/8);padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}:host .eo-body .aside .meta-roles.empty:not(.dark) .form-field,:host .eo-body .aside .meta-roles.empty:not(.dark) .label{display:none}:host .eo-body .aside .meta-data{border-collapse:collapse;display:table;flex:1 1 40%;margin:0 0 var(--app-pane-padding) 0;order:1}:host .eo-body .aside .meta-data .restriction{display:table-row}:host .eo-body .aside .meta-data .restriction .label{color:var(--text-color-caption);display:table-cell;font-style:italic;padding-right:calc(var(--app-pane-padding)/2)}:host .eo-body .aside .meta-data .restriction .items{border-left:1px solid rgba(var(--color-black-rgb),.1);display:table-cell;padding:0 0 calc(var(--app-pane-padding)/2) calc(var(--app-pane-padding)/2)}:host .actions{background-color:var(--color-white);border-top:1px solid var(--panel-header-border-bottom-color);display:flex;flex-flow:row;justify-content:flex-end;padding:var(--app-pane-padding) calc(var(--app-pane-padding) - 2px)}:host .actions button{margin:0 2px}:host .edit-form{background-color:var(--color-white);max-width:500px}:host .edit-form .context{background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding)/2)}:host .edit-form .context h3{color:var(--color-white);display:flex;font-size:var(--font-subhead);font-weight:var(--font-weight-light);justify-content:flex-end;margin:0;padding:var(--app-pane-padding) 0 calc(var(--app-pane-padding)/2) 0}:host .edit-form .form-fields{padding:calc(var(--app-pane-padding)/2)}:host .edit-form .form-fields.empty{display:none}:host .edit-form .form-field{align-items:center;display:flex;flex-flow:row nowrap}:host .edit-form .form-field eo-form-element{flex:1 1 auto}:host .edit-form .form-field eo-dynamic-property-switch{flex:0 0 auto}:host eo-stored-query{display:block;max-width:500px}:host ::ng-deep eo-form-input.title{display:block;margin-bottom:var(--app-pane-padding)}:host ::ng-deep eo-form-input.title input{font-size:var(--font-title);font-weight:var(--font-weight-light)}"]
19696
19736
  },] }
19697
19737
  ];
@@ -19704,6 +19744,7 @@
19704
19744
  { type: PendingChangesService },
19705
19745
  { type: i1.StoredQueriesService },
19706
19746
  { type: ObjectFormHelperService },
19747
+ { type: i0.ElementRef },
19707
19748
  { type: i1.TranslateService }
19708
19749
  ]; };
19709
19750
  StoredQueryDetailsComponent.propDecorators = {
@@ -23710,7 +23751,7 @@
23710
23751
  { type: i0.Component, args: [{
23711
23752
  selector: 'eo-frame',
23712
23753
  template: "<!-- global upload component -->\n<eo-upload-overlay *ngIf=\"authenticated && capabilities?.intray\"></eo-upload-overlay>\n\n<!-- main application skeleton -->\n<div class=\"application\" [dir]=\"dir\" [eoShortcuts]=\"navShortcuts\">\n\n <div class=\"app\" *ngIf=\"!initError\" [eoShortcuts]=\"shortcuts\">\n <eo-app-bar [transparent]=\"transparentBar\" *ngIf=\"authenticated\">\n <eo-sidebar-plugin class=\"navi\" [type]=\"'sidebar-navigation'\"></eo-sidebar-plugin>\n <eo-sidebar-plugin class=\"help\" [type]=\"'sidebar-help'\"></eo-sidebar-plugin>\n <eo-sidebar-plugin class=\"profile\" [type]=\"'sidebar-profile'\"></eo-sidebar-plugin>\n </eo-app-bar>\n <div class=\"eo-app-content\">\n <router-outlet></router-outlet>\n </div>\n </div>\n\n <!-- app init failed notification -->\n <div class=\"init-error\" *ngIf=\"initError\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_error.svg'\"></eo-icon>\n <div class=\"message\">\n <div translate>eo.app.init.fail.title</div>\n <div class=\"cause\" translate>eo.app.init.fail.message</div>\n <div class=\"cause error\">{{initError.cause}}</div>\n </div>\n </div>\n\n <div class=\"overlay\">\n <!--<ng-progress [positionUsing]=\"'marginLeft'\" [minimum]=\"0.3\" [maximum]=\"1\"-->\n <!--[speed]=\"300\" [showSpinner]=\"false\"-->\n <!--[direction]=\"dir === 'rtl' ? 'rightToLeftIncreased' : 'leftToRightIncreased'\"-->\n <!--[color]=\"'#bb3f5a'\" [trickleSpeed]=\"300\" [thick]=\"true\" [ease]=\"'linear'\"-->\n <!--&gt;</ng-progress>-->\n </div>\n <router-outlet name=\"modal\"></router-outlet>\n <eo-global-shortcuts *ngIf=\"authenticated && !isMobileEnv\"></eo-global-shortcuts>\n <eo-action-menu></eo-action-menu>\n <section #externalDialog></section>\n</div>\n",
23713
- styles: [":host .application{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;transition:all .5s ease-in-out}:host.view-no-bar:not(.dashboard) .application{top:calc(var(--app-bar-height)*-1 - var(--app-pane-padding))}:host.view-no-header:not(.dashboard) .application{top:calc(var(--app-bar-height)*-1 - var(--app-pane-padding) - var(--app-pane-header-height) + 30px)}:host.view-no-header.object-state .application{top:calc(var(--app-bar-height)*-1 - var(--app-pane-padding) - var(--app-pane-header-height) - 36px)}:host .app{overflow:hidden}:host .app,:host .init-error{background:var(--main-background);bottom:0;display:flex;flex-flow:column;left:0;position:absolute;right:0;top:0}:host .init-error{align-items:center;justify-content:center}:host .init-error eo-icon{color:var(--color-error);height:80px;width:80px}:host .init-error .message{color:var(--color-error);font-size:var(--font-headline);max-width:500px;padding:var(--app-pane-padding)}:host .init-error .message .cause{font-size:var(--font-caption);margin-top:var(--app-pane-padding)}:host .init-error .message .cause.error{font-style:italic;margin-top:var(--app-pane-padding)}:host .overlay{position:absolute;width:100%;z-index:1001}:host .eo-app-content{bottom:0;left:0;overflow-x:auto;position:absolute;right:0;top:var(--app-bar-height)}:host.dashboard .eo-app-content{background-position:50%;background-size:cover;top:0}:host ::ng-deep split-gutter{background-color:transparent!important}"]
23754
+ styles: [":host .application{bottom:0;left:0;position:absolute;right:0;top:0;transition:all .5s ease-in-out}:host.view-no-bar:not(.dashboard) .application{top:calc(var(--app-bar-height)*-1 - var(--app-pane-padding))}:host.view-no-header:not(.dashboard) .application{top:calc(var(--app-bar-height)*-1 - var(--app-pane-padding) - var(--app-pane-header-height) + 30px)}:host.view-no-header.object-state .application{top:calc(var(--app-bar-height)*-1 - var(--app-pane-padding) - var(--app-pane-header-height) - 36px)}:host .app{overflow:hidden}:host .app,:host .init-error{background:var(--main-background);bottom:0;display:flex;flex-flow:column;left:0;position:absolute;right:0;top:0}:host .init-error{align-items:center;justify-content:center}:host .init-error eo-icon{color:var(--color-error);height:80px;width:80px}:host .init-error .message{color:var(--color-error);font-size:var(--font-headline);max-width:500px;padding:var(--app-pane-padding)}:host .init-error .message .cause{font-size:var(--font-caption);margin-top:var(--app-pane-padding)}:host .init-error .message .cause.error{font-style:italic;margin-top:var(--app-pane-padding)}:host .overlay{position:absolute;width:100%;z-index:1001}:host .eo-app-content{bottom:0;left:0;overflow-x:auto;position:absolute;right:0;top:var(--app-bar-height)}:host.dashboard .eo-app-content{background-position:50%;background-size:cover;top:0}:host ::ng-deep split-gutter{background-color:transparent!important}"]
23714
23755
  },] }
23715
23756
  ];
23716
23757
  FrameComponent.ctorParameters = function () { return [
@@ -24476,8 +24517,8 @@
24476
24517
  SettingsComponent.decorators = [
24477
24518
  { type: i0.Component, args: [{
24478
24519
  selector: 'eo-settings',
24479
- 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 [src]=\"preview\">\n </div>\n <div class=\"user-avatar\">\n <img [src]=\"preview\">\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\">\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\">\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\" [(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=\"!isCloud && !isSSO || !isCloud && isSSO\" 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 <eo-change-password-form (onFormSumbit)=\"simpleAcc.open = 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>\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",
24480
- styles: [":host{bottom:0;justify-content:center;left:0;position:absolute;right:0;top:0}:host,:host .cache{display:flex;flex-flow:row}:host .cache{margin:0 var(--app-pane-padding)}.eo-settings{background:var(--color-white);box-shadow:0 2px 5px 0 rgba(0,0,0,.2);box-sizing:border-box;display:flex;flex-flow:column;margin:var(--app-pane-padding);width:800px}@media (max-width:832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{flex:1 1;max-height:300px;min-height:200px;position:relative}@media (max-width:480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;margin:0;padding:0}.eo-settings .header .meta{margin:calc(var(--app-pane-padding)/2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding)*2)}.eo-settings .header .bg{background-position:50%;background-size:cover;bottom:0;filter:grayscale(1);left:0;position:absolute;right:0;top:0}.eo-settings .header .fill{background:rgba(var(--color-primary-rgb),.85);bottom:0;color:var(--color-white);left:0;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.eo-settings .header .userImage{background-position:50%;background-size:cover;border:4px solid var(--color-white);bottom:calc(var(--app-pane-padding)*-1);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26);height:150px;position:absolute;right:var(--app-pane-padding);width:150px;z-index:1}@media (max-width:480px){.eo-settings .header .userImage{height:105px;width:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{border:4px solid var(--color-white);bottom:calc(var(--app-pane-padding)*-1);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26);height:150px;position:absolute;right:var(--app-pane-padding);width:150px;z-index:1}@media (max-width:480px){.eo-settings .header .overlay{height:105px;width:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus,.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:1}.eo-settings .header .overlay .updateMessage{align-items:center;background-clip:border-box;background-color:rgba(192,188,188,.9450980392156862);box-sizing:border-box;display:flex;height:100%;justify-content:center;width:100%}.eo-settings .header .overlay .updateMessage eo-icon{-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;color:var(--color-white);height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;width:48px}.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{bottom:0;box-sizing:border-box;left:0;overflow-y:auto;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding)/4)}.eo-settings .body .section.section-deputies form .actions button{border-radius:2px;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-settings .body .section.section-deputies form.dirty{background-color:rgba(var(--color-black-rgb),.06);padding:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{align-items:center;display:flex;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{border:0;border-radius:4px;color:var(--color-white);height:calc(var(--app-pane-padding)*0.6);width:calc(var(--app-pane-padding)*0.75)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;min-height:27px;padding:0 0 2px 2px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{border-color:transparent;opacity:1}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:0 0 0 150px}@media (max-width:480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{height:0;opacity:0;overflow:hidden;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{height:100%;opacity:1}@media (max-width:480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{color:var(--text-color-caption);flex:0 0 150px}@media (max-width:480px){.eo-settings .body .section .entry .label{flex:0 0 auto;margin-bottom:calc(var(--app-pane-padding)/2)}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{cursor:pointer;margin:0 4px 4px 0}.eo-settings .body .section .entry .values button.active,.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{align-items:center;display:flex}.eo-settings .body .section .entry .use-agent .use-agent-label{color:var(--text-color-caption);margin:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{border-radius:50%;box-sizing:border-box;color:var(--text-color-caption);margin:0;padding:3px}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{align-items:flex-start;display:flex;flex-flow:column}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding)/2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{color:var(--text-color-hint);height:18px;width:18px}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section .values.roles .role>div .description{color:var(--text-color-caption);font-size:var(--font-caption)}.eo-settings .body .toggle-btn{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);border-radius:2px;color:var(--text-color-caption);cursor:pointer;display:inline-block;margin-right:3px;padding:2px 5px;text-decoration:none}.eo-settings.rtl .header .userImage{left:var(--app-pane-padding);right:auto}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{height:100%;width:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media (max-width:480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{align-items:center;display:flex;height:100%;justify-content:space-around;margin:5px 60px 0;width:100%}::ng-deep .view .contain .attachments .atta{display:block;padding:0;position:relative}::ng-deep .view .contain .attachments .atta img{border:2px solid #5c5959;box-sizing:border-box;max-height:200px;max-width:200px;min-height:80px;min-width:80px}::ng-deep .view .contain .attachments .user-avatar{align-items:center;display:flex;margin-right:109px}::ng-deep .view .contain .attachments .user-avatar img{background-size:cover;border:2px solid #5c5959;border-radius:50%;box-sizing:border-box;height:90px;width:90px}::ng-deep .view .button-block{display:flex;justify-content:right;margin:8px}::ng-deep .delete__dialog{min-height:unset!important;padding:8px}::ng-deep .delete__dialog--header{background:#fff!important;color:rgba(var(--color-black-rgb),.54)!important;font-size:1.17em!important;font-weight:400!important;margin:0;padding:0 0 1em!important}"]
24520
+ 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 [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\">\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\">\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=\"!isCloud && !isSSO || !isCloud && isSSO\" 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 <eo-change-password-form (onFormSumbit)=\"simpleAcc.open = 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>\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",
24521
+ styles: [":host{bottom:0;justify-content:center;left:0;position:absolute;right:0;top:0}:host,:host .cache{display:flex;flex-flow:row}:host .cache{margin:0 var(--app-pane-padding)}.eo-settings{background:var(--color-white);box-shadow:0 2px 5px 0 rgba(0,0,0,.2);box-sizing:border-box;display:flex;flex-flow:column;margin:var(--app-pane-padding);width:800px}@media (max-width:832px){.eo-settings{margin:0;min-width:inherit;width:100%}}.eo-settings .header{flex:1 1;max-height:300px;min-height:200px;position:relative}@media (max-width:480px){.eo-settings .header{min-height:210px}}.eo-settings .header h1{font-size:var(--font-display);font-weight:var(--font-weight-light);line-height:1em;margin:0;padding:0}.eo-settings .header .meta{margin:calc(var(--app-pane-padding)/2) 0}.eo-settings .header .presence{margin-top:calc(var(--app-pane-padding)*2)}.eo-settings .header .bg{background-position:50%;background-size:cover;bottom:0;filter:grayscale(1);left:0;position:absolute;right:0;top:0}.eo-settings .header .fill{background:rgba(var(--color-primary-rgb),.85);bottom:0;color:var(--color-white);left:0;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.eo-settings .header .userImage{background-size:cover;border:4px solid var(--color-white);bottom:calc(var(--app-pane-padding)*-1);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26);height:150px;position:absolute;right:var(--app-pane-padding);width:150px;z-index:1}@media (max-width:480px){.eo-settings .header .userImage{height:105px;width:105px}}.eo-settings .header .userImage.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay{border:4px solid var(--color-white);bottom:calc(var(--app-pane-padding)*-1);box-shadow:0 2px 5px 0 rgba(var(--color-black-rgb),.26);height:150px;position:absolute;right:var(--app-pane-padding);width:150px;z-index:1}@media (max-width:480px){.eo-settings .header .overlay{height:105px;width:105px}}.eo-settings .header .overlay.rtl{left:var(--app-pane-padding);right:auto}.eo-settings .header .overlay:focus,.eo-settings .header .overlay:hover{border-color:var(--color-accent);opacity:1}.eo-settings .header .overlay .updateMessage{align-items:center;background-clip:border-box;background-color:rgba(192,188,188,.9450980392156862);box-sizing:border-box;display:flex;height:100%;justify-content:center;width:100%}.eo-settings .header .overlay .updateMessage eo-icon{-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;color:var(--color-white);height:48px;opacity:.5;transition:all var(--app-default-transition-duration) ease-in-out;width:48px}.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{bottom:0;box-sizing:border-box;left:0;overflow-y:auto;padding:var(--app-pane-padding);position:absolute;right:0;top:0}.eo-settings .body .section{margin-top:var(--app-pane-padding)}.eo-settings .body .section.section-deputies form{border-radius:2px}.eo-settings .body .section.section-deputies form .actions{display:flex;justify-content:flex-end;padding-top:calc(var(--app-pane-padding)/4)}.eo-settings .body .section.section-deputies form .actions button{border-radius:2px;padding:calc(var(--app-pane-padding)/4) calc(var(--app-pane-padding)/2)}.eo-settings .body .section.section-deputies form.dirty{background-color:rgba(var(--color-black-rgb),.06);padding:2px}.eo-settings .body .section.section-deputies .entry.substitute .values{display:flex;flex-flow:row wrap}.eo-settings .body .section.section-deputies .entry.substitute .values .chip{align-items:center;display:flex;font-size:.9em;padding:2px 4px}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute{border:0;border-radius:4px;color:var(--color-white);height:calc(var(--app-pane-padding)*0.6);width:calc(var(--app-pane-padding)*0.75)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--present{background-color:var(--color-success)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip .substitute--away{background-color:var(--color-error)}.eo-settings .body .section.section-deputies .entry.substitute .values .chip>span{margin:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-default{background-color:var(--color-white);border-color:rgba(var(--color-black-rgb),.1);border-radius:2px;min-height:27px;padding:0 0 2px 2px}.eo-settings .body .section.section-deputies ::ng-deep .values .ui-state-disabled{border-color:transparent;opacity:1}.eo-settings .body .section p{line-height:1.7em}.eo-settings .body .section h3{color:var(--text-color-caption);font-size:var(--font-subhead);font-weight:var(--font-weight-normal);margin:0;padding:0 0 0 150px}@media (max-width:480px){.eo-settings .body .section h3{padding:0}}.eo-settings .body .section .entry{display:flex;flex-flow:row nowrap;padding:var(--app-pane-padding) 0 0 0}.eo-settings .body .section .entry.lock-settings{height:0;opacity:0;overflow:hidden;transition:all .5s ease-in-out}.eo-settings .body .section .entry.lock-settings--show{height:100%;opacity:1}@media (max-width:480px){.eo-settings .body .section .entry{flex-flow:column}}.eo-settings .body .section .entry .label{color:var(--text-color-caption);flex:0 0 150px}@media (max-width:480px){.eo-settings .body .section .entry .label{flex:0 0 auto;margin-bottom:calc(var(--app-pane-padding)/2)}}.eo-settings .body .section .entry .values{flex:1 1 auto}.eo-settings .body .section .entry .values button{cursor:pointer;margin:0 4px 4px 0}.eo-settings .body .section .entry .values button.active,.eo-settings .body .section .entry .values button.toggle:disabled{cursor:default}.eo-settings .body .section .entry .use-agent{align-items:center;display:flex}.eo-settings .body .section .entry .use-agent .use-agent-label{color:var(--text-color-caption);margin:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section .entry .use-agent eo-icon.info-icon{border-radius:50%;box-sizing:border-box;color:var(--text-color-caption);margin:0;padding:3px}.eo-settings .body .section .entry .use-agent eo-icon.info-icon:hover{background-color:var(--color-primary);color:var(--color-white);cursor:pointer}.eo-settings .body .section .values.roles{align-items:flex-start;display:flex;flex-flow:column}.eo-settings .body .section .values.roles .role{display:flex;flex-flow:row nowrap;margin-bottom:calc(var(--app-pane-padding)/2);word-break:break-all}.eo-settings .body .section .values.roles .role eo-icon{color:var(--text-color-hint);height:18px;width:18px}.eo-settings .body .section .values.roles .role>div{padding:0 calc(var(--app-pane-padding)/2)}.eo-settings .body .section .values.roles .role>div .description{color:var(--text-color-caption);font-size:var(--font-caption)}.eo-settings .body .toggle-btn{-webkit-border-radius:2px;background:rgba(var(--color-black-rgb),.1);border-radius:2px;color:var(--text-color-caption);cursor:pointer;display:inline-block;margin-right:3px;padding:2px 5px;text-decoration:none}.eo-settings.rtl .header .userImage{left:var(--app-pane-padding);right:auto}.eo-settings.rtl .body .section h3{padding:0 150px 0 0}::ng-deep .view{height:100%;width:100%}::ng-deep .view .eo-dialog-content{overflow:hidden}::ng-deep .view .contain{display:flex;flex-flow:column}@media (max-width:480px){::ng-deep .view .contain{min-height:210px}}::ng-deep .view .contain .attachments{align-items:center;display:flex;height:100%;justify-content:space-around;margin:5px 60px 0;width:100%}::ng-deep .view .contain .attachments .atta{display:block;margin-inline:10px;margin-top:10px;padding:0;position:relative}::ng-deep .view .contain .attachments .atta img{border:2px solid #5c5959;box-sizing:border-box;max-height:200px;max-width:200px;min-height:80px;min-width:80px}::ng-deep .view .contain .attachments .user-avatar{align-items:center;display:flex;margin-right:109px}::ng-deep .view .contain .attachments .user-avatar .preview-round{border:2px solid #5c5959;border-radius:50%;height:90px;width:90px}::ng-deep .view .button-block{display:flex;justify-content:right;margin:8px}::ng-deep .delete__dialog{min-height:unset!important;padding:8px}::ng-deep .delete__dialog--header{background:#fff!important;color:rgba(var(--color-black-rgb),.54)!important;font-size:1.17em!important;font-weight:400!important;margin:0;padding:0 0 1em!important}"]
24481
24522
  },] }
24482
24523
  ];
24483
24524
  SettingsComponent.ctorParameters = function () { return [
@@ -24794,10 +24835,10 @@
24794
24835
  this.http = http;
24795
24836
  this.userService = userService;
24796
24837
  this.config = config;
24797
- 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": "9.0.0-rc.8", "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" }];
24838
+ 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": "9.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "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" }];
24798
24839
  this.ctrl = {
24799
24840
  productName: 'yuuvis® RAD client',
24800
- clientVersion: '9.0.0-rc.8'
24841
+ clientVersion: '9.0.0'
24801
24842
  };
24802
24843
  this.licenses = {
24803
24844
  'MIT': {
@@ -26366,17 +26407,15 @@
26366
26407
  .subscribe(function (data) {
26367
26408
  _this.gridData = data;
26368
26409
  _this.updateGrid(_this.gridData);
26369
- });
26370
- var lastInboxItemID = this.storageService.getItem(this.storageKeyLastItemID);
26371
- if (lastInboxItemID) {
26372
- if (this.gridData) {
26373
- var item_1 = this.gridData.find(function (i) { return i.id === lastInboxItemID; });
26410
+ var lastInboxItemID = _this.storageService.getItem(_this.storageKeyLastItemID);
26411
+ if (lastInboxItemID) {
26412
+ var item_1 = _this.gridData.find(function (i) { return i.id === lastInboxItemID; });
26374
26413
  if (item_1) {
26375
- this.selectFirst = false;
26414
+ _this.selectFirst = false;
26376
26415
  setTimeout(function () { return _this.eoGrid.selectRow(item_1); }, 500);
26377
26416
  }
26378
26417
  }
26379
- }
26418
+ });
26380
26419
  };
26381
26420
  InboxStateComponent.prototype.ngOnDestroy = function () {
26382
26421
  this.selection.clear();