@eo-sdk/client 10.4.0 → 10.5.0-rc.1

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 (73) hide show
  1. package/README.md +2 -2
  2. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  3. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  4. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +57 -0
  5. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -0
  6. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +62 -0
  7. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -0
  8. package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +11 -0
  9. package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -0
  10. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +4 -1
  11. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
  12. package/app/eo-client/eo-client.module.d.ts +19 -16
  13. package/app/eo-client/eo-client.module.d.ts.map +1 -1
  14. package/app/eo-client/settings/settings.component.d.ts +2 -0
  15. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  16. package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts +2 -1
  17. package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts.map +1 -1
  18. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
  19. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +1 -0
  20. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  21. package/app/eo-framework/tree/tree.component.d.ts +2 -1
  22. package/app/eo-framework/tree/tree.component.d.ts.map +1 -1
  23. package/app/eo-framework-core/empty-state/empty-state.interface.d.ts +3 -3
  24. package/app/eo-framework-core/empty-state/empty-state.interface.d.ts.map +1 -1
  25. package/assets/_default/i18n/de.json +19 -2
  26. package/assets/_default/i18n/en.json +18 -1
  27. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  28. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +11 -3
  29. package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +200 -0
  30. package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +188 -0
  31. package/esm2020/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +2 -0
  32. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +3 -3
  33. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +20 -14
  34. package/esm2020/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +3 -3
  35. package/esm2020/app/eo-client/eo-client.module.mjs +16 -6
  36. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +2 -2
  37. package/esm2020/app/eo-client/settings/settings.component.mjs +16 -4
  38. package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +3 -3
  39. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +1 -1
  40. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +1 -1
  41. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +3 -3
  42. package/esm2020/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +7 -4
  43. package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +1 -1
  44. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +3 -3
  45. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +3 -3
  46. package/esm2020/app/eo-framework/frame/frame.component.mjs +2 -2
  47. package/esm2020/app/eo-framework/grid/filters/codesystem-filter.component.mjs +3 -3
  48. package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +1 -1
  49. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +1 -1
  50. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +1 -1
  51. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +10 -3
  52. package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +3 -3
  53. package/esm2020/app/eo-framework/tree/tree.component.mjs +15 -4
  54. package/esm2020/app/eo-framework-core/empty-state/empty-state.interface.mjs +1 -1
  55. package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +12 -1
  56. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +1 -1
  57. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +18 -1
  58. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +28 -0
  59. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  60. package/fesm2015/eo-sdk-client.mjs +468 -48
  61. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  62. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +28 -0
  63. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  64. package/fesm2020/eo-sdk-client.mjs +456 -48
  65. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  66. package/package.json +3 -2
  67. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts +3 -0
  68. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts.map +1 -1
  69. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +1 -1
  70. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +11 -0
  71. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +1 -1
  72. package/styles.css +1 -0
  73. package/styles.scss +1 -0
@@ -194,16 +194,16 @@ let StoredQueriesStateComponent = class StoredQueriesStateComponent {
194
194
  }
195
195
  };
196
196
  StoredQueriesStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StoredQueriesStateComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.PendingChangesService }, { token: i3.TranslateService }, { token: i4.SelectionService }, { token: i3.StoredQueriesService }, { token: i5.PageTitleService }, { token: i3.UserService }, { token: i6.AppSearchService }], target: i0.ɵɵFactoryTarget.Component });
197
- StoredQueriesStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: StoredQueriesStateComponent, selector: "eo-stored-queries-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'stored.queries.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.sidebar.navigation.storedqueries</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.folder.filter.title' | translate\" [id]=\"'stored.queries.text'\"\n [matchFields]=\"['name']\" [filterParams]=\"textFilterParams\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'stored.queries.type'\"\n [title]=\"'eo.folder.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'stored.queries.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions?.rowData\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.stored.queries.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- details -->\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-stored-query-details (notifyList)=\"notifyList($event)\"></eo-stored-query-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host ::ng-deep eo-grid .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep eo-grid .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep eo-grid .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep eo-grid .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep eo-grid .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep eo-grid .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons{font-size:15px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons img{width:16px;height:16px;padding:3px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons .object-type-label{display:none}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons.shared-with-me>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--text-color-hint)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.StoredQueryDetailsComponent, selector: "eo-stored-query-details", inputs: ["query"], outputs: ["notifyList"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i18.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i19.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i20.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i21.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i21.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
197
+ StoredQueriesStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: StoredQueriesStateComponent, selector: "eo-stored-queries-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'stored.queries.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.sidebar.navigation.storedqueries</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.folder.filter.title' | translate\" [id]=\"'stored.queries.text'\"\n [matchFields]=\"['name']\" [filterParams]=\"textFilterParams\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'stored.queries.type'\"\n [title]=\"'eo.folder.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'stored.queries.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions?.rowData\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.stored.queries.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- details -->\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-stored-query-details (notifyList)=\"notifyList($event)\"></eo-stored-query-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host ::ng-deep eo-grid .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep eo-grid .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep eo-grid .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep eo-grid .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep eo-grid .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep eo-grid .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons{font-size:15px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons img{width:16px;height:16px;padding:3px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons .object-type-label{display:none}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons.shared-with-me>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--text-color-hint)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i9.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i10.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i11.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i12.StoredQueryDetailsComponent, selector: "eo-stored-query-details", inputs: ["query"], outputs: ["notifyList"] }, { kind: "component", type: i13.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i14.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i15.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i16.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i17.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i18.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i19.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i20.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i21.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i21.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
198
198
  StoredQueriesStateComponent = __decorate([
199
199
  UntilDestroy()
200
200
  ], StoredQueriesStateComponent);
201
201
  export { StoredQueriesStateComponent };
202
202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StoredQueriesStateComponent, decorators: [{
203
203
  type: Component,
204
- args: [{ selector: 'eo-stored-queries-state', template: "<yvc-split-view [layoutSettingsID]=\"'stored.queries.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.sidebar.navigation.storedqueries</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.folder.filter.title' | translate\" [id]=\"'stored.queries.text'\"\n [matchFields]=\"['name']\" [filterParams]=\"textFilterParams\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'stored.queries.type'\"\n [title]=\"'eo.folder.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'stored.queries.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions?.rowData\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.stored.queries.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- details -->\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-stored-query-details (notifyList)=\"notifyList($event)\"></eo-stored-query-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host ::ng-deep eo-grid .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep eo-grid .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep eo-grid .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep eo-grid .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep eo-grid .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep eo-grid .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons{font-size:15px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons img{width:16px;height:16px;padding:3px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons .object-type-label{display:none}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons.shared-with-me>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--text-color-hint)}\n"] }]
204
+ args: [{ selector: 'eo-stored-queries-state', template: "<yvc-split-view [layoutSettingsID]=\"'stored.queries.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"25\">\n <eo-list-container #eoList [applySelection]=\"{}\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_saved_search.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.sidebar.navigation.storedqueries</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.folder.filter.title' | translate\" [id]=\"'stored.queries.text'\"\n [matchFields]=\"['name']\" [filterParams]=\"textFilterParams\"></eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'stored.queries.type'\"\n [title]=\"'eo.folder.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'stored.queries.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions?.rowData\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_search.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.stored.queries.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <!-- details -->\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-stored-query-details (notifyList)=\"notifyList($event)\"></eo-stored-query-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host ::ng-deep eo-grid .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep eo-grid .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep eo-grid .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep eo-grid .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep eo-grid .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep eo-grid .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons{font-size:15px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons img{width:16px;height:16px;padding:3px}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons .object-type-label{display:none}:host ::ng-deep eo-grid .ag-cell .list-item .content .icons.shared-with-me>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--text-color-hint)}\n"] }]
205
205
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.PendingChangesService }, { type: i3.TranslateService }, { type: i4.SelectionService }, { type: i3.StoredQueriesService }, { type: i5.PageTitleService }, { type: i3.UserService }, { type: i6.AppSearchService }]; }, propDecorators: { eoGrid: [{
206
206
  type: ViewChild,
207
207
  args: ['eoGrid']
208
208
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLXF1ZXJpZXMtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvc3RvcmVkLXF1ZXJpZXMtc3RhdGUvc3RvcmVkLXF1ZXJpZXMtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvc3RvcmVkLXF1ZXJpZXMtc3RhdGUvc3RvcmVkLXF1ZXJpZXMtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWlCLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBK0IsV0FBVyxFQUFpQyxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0csT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTW5ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBR3pHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRN0UsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFldEMsWUFBb0IsS0FBcUIsRUFDL0IsTUFBYyxFQUNkLGNBQXFDLEVBQ3RDLFNBQTJCLEVBQzFCLFNBQTJCLEVBQzNCLG9CQUEwQyxFQUMxQyxZQUE4QixFQUM5QixXQUF3QixFQUN4QixTQUEyQjtRQVJqQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUMvQixXQUFNLEdB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QXlFO1FBQ3pFLHdEQUF3RDtRQUN4RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssNkJBQTZCLEVBQUU7Z0JBQy9GLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt3SEE5TVUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsaUtDdkJ4Qywrd0dBNkRpQjtBRHRDSiwyQkFBMkI7SUFOdkMsWUFBWSxFQUFFO0dBTUYsMkJBQTJCLENBZ052QztTQWhOWSwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx5QkFBeUI7dVZBaUJkLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sRGVmLCBHcmlkT3B0aW9uc30gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFb1VzZXIsIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBTdG9yZWRRdWVyeSwgVHJhbnNsYXRlU2VydmljZSwgVXNlclNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge0FwcFNlYXJjaFNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlYXJjaC9hcHAtc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2N1c3RvbS1zb3J0L2N1c3RvbS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge0lTZXRGaWx0ZXJ9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvZmlsdGVyL3NldEZpbHRlcnMvc2V0LWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7R3JpZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHtUeXBlRmlsdGVyfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvc3RvcmVkLXF1ZXJ5L3N0b3JlZC1xdWVyeS10eXBlLWZpbHRlci5lbnVtJztcbmltcG9ydCB7VXRpbGl0aWVzU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL3V0aWwvc2VydmljZXMvdXRpbGl0aWVzLnNlcnZpY2UnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXN0b3JlZC1xdWVyaWVzLXN0YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlZC1xdWVyaWVzLXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RvcmVkLXF1ZXJpZXMtc3RhdGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdG9yZWRRdWVyaWVzU3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuXG4gIHN0b3JlZFF1ZXJpZXM6IFN0b3JlZFF1ZXJ5W10gPSBbXTtcbiAgc2VsZWN0ZWRRdWVyeTogU3RvcmVkUXVlcnk7XG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXSA9IFtdO1xuICBncmlkRGF0YTogU3RvcmVkUXVlcnlbXTtcbiAgdGV4dEZpbHRlclBhcmFtczogYW55ID0ge307XG5cbiAgdXNlcjogRW9Vc2VyO1xuICBzZWxlY3RGaXJzdCA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZCgnZW9HcmlkJykgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU2VydmljZTogU3RvcmVkUXVlcmllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTZWFyY2g6IEFwcFNlYXJjaFNlcnZpY2UpIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRCYXNlVGl0bGUodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLnRpdGxlLnN0b3JlZHF1ZXJpZXMnKSk7XG4gIH1cblxuICBzZWxlY3QocXVlcnk6IFN0b3JlZFF1ZXJ5KSB7XG4gICAgdGhpcy5zZWxlY3Rpb24uZm9jdXMocXVlcnkpO1xuICAgIGlmICh0aGlzLmVvR3JpZCkge1xuICAgICAgdGhpcy5lb0dyaWQuYXBpLmRlc2VsZWN0QWxsKCk7XG4gICAgICB0aGlzLmVvR3JpZC5hcGkuY2xlYXJGb2N1c2VkQ2VsbCgpO1xuICAgIH1cbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeXMoKSB7XG4gICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2VcbiAgICAgIC5zdG9yZWRRdWVyaWVzJC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMClcbiAgICAgICkuc3Vic2NyaWJlKHF1ZXJpZXNTdWJzY3JpcHRpb24gPT4ge1xuICAgICAgICB0aGlzLmdyaWREYXRhID0gcXVlcmllc1N1YnNjcmlwdGlvbi5xdWVyaWVzLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbmFtZScpKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2Zhdm9yaXRlJywgJ2Rlc2MnKSk7XG4gICAgICAgIHRoaXMudXBkYXRlR3JpZCh0aGlzLmdyaWREYXRhLCBxdWVyaWVzU3Vic2NyaXB0aW9uLnNlbGVjdCAmJiB0aGlzLmdyaWREYXRhID8gcXVlcmllc1N1YnNjcmlwdGlvbi5zZWxlY3QgOiBudWxsKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVmcmVzaEdyaWQoKSB7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5yZWZyZXNoU3RvcmVkUXVlcmllcygpO1xuICB9XG5cbiAgZ2V0Um93SW5kZXgoaWQpIHtcbiAgICBpZiAodGhpcy5lb0dyaWQpIHtcbiAgICAgIGNvbnN0IHJvd05vZGVJZCA9IHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmdldFJvd05vZGVJZChpZCk7XG4gICAgICBjb25zdCByb3dOb2RlID0gdGhpcy5lb0dyaWQuYXBpLmdldFJvd05vZGUocm93Tm9kZUlkKTtcbiAgICAgIHJldHVybiByb3dOb2RlID8gcm93Tm9kZS5yb3dJbmRleCA6IG51bGw7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbm90aWZ5TGlzdCh2YWwpIHtcbiAgICBpZiAodGhpcy5lb0dyaWQpIHtcbiAgICAgIGNvbnN0IHt1bnNlbGVjdCwgdXBkYXRlLCBwYXlsb2FkfSA9IHZhbDtcbiAgICAgIGlmICghdW5zZWxlY3QgJiYgIXVwZGF0ZSAmJiAhcGF5bG9hZCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZW9HcmlkLnNlbGVjdFJvdygwKSwgNTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0eXBlRmlsdGVyKG5vZGUsIGl0ZW06IHN0cmluZykge1xuICAgIHN3aXRjaCAoaXRlbSkge1xuICAgICAgY2FzZSBUeXBlRmlsdGVyLmZhdm9yZWQ6XG4gICAgICBjYXNlIFR5cGVGaWx0ZXIuc2hhcmVkOlxuICAgICAgICByZXR1cm4gIVV0aWxpdGllc1NlcnZpY2UuaXNFbXB0eU9yRmFsc2Uobm9kZS5kYXRhW2l0ZW1dKTtcbiAgICAgIGNhc2UgVHlwZUZpbHRlci5vdGhlcnM6XG4gICAgICAgIHJldHVybiBVdGlsaXRpZXNTZXJ2aWNlLmlzRW1wdHlPckZhbHNlKG5vZGUuZGF0YVtUeXBlRmlsdGVyLmZhdm9yZWRdKSAmJiBVdGlsaXRpZXNTZXJ2aWNlLmlzRW1wdHlPckZhbHNlKG5vZGUuZGF0YVtUeXBlRmlsdGVyLnNoYXJlZF0pO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgdHlwZUZpbHRlcnMoKSB7XG4gICAgdGhpcy50eXBlRmlsdGVyRmllbGRzID0gT2JqZWN0LmtleXMoVHlwZUZpbHRlcikubWFwKGl0ZW0gPT4gKHtcbiAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGBlby5zdG9yZWRxdWVyeS4ke2l0ZW19LmZpbHRlci50aXRsZWApLFxuICAgICAgZmlsdGVyOiAobm9kZSkgPT4gdGhpcy50eXBlRmlsdGVyKG5vZGUsIFR5cGVGaWx0ZXJbaXRlbV0pLFxuICAgICAgdmFsdWU6IHRydWUsXG4gICAgICBpZDogaXRlbVxuICAgIH0pKTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnR5cGVGaWx0ZXJzKCk7XG4gIH1cblxuICB1cGRhdGVHcmlkKGRhdGEsIGlkKSB7XG5cbiAgICBpZiAodGhpcy5lb0dyaWQgJiYgdGhpcy5lb0dyaWQuaXNSZWFkeSkge1xuICAgICAgLy8gdG9kbzogaG90Zml4OiBlbmFibGUgYXV0byBzZWxlY3Rpb24gaW4gY2FzZSBpdCB3YXMgZGlzYWJsZWQgYnkgbmV3IHF1ZXJ5XG4gICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnNlbGVjdEZpcnN0ID0gdHJ1ZSksIDEwMDApO1xuICAgICAgcmV0dXJuIHRoaXMuZW9HcmlkLnVwZGF0ZVJvd0RhdGEoZGF0YSwgaWQpO1xuICAgIH1cblxuICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG5cbiAgICBsZXQgY29sRGVmczogQ29sRGVmW10gPSBbXG4gICAgICB7XG4gICAgICAgIGhlYWRlck5hbWU6ICcnLFxuICAgICAgICBmaWVsZDogJ19fY3VzdG9tJyxcbiAgICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgICAgZmlsdGVyOiBmYWxzZVxuICAgICAgfVxuICAgIF07XG5cbiAgICB0aGlzLnRleHRGaWx0ZXJQYXJhbXMgPSB7Y29udGV4dDoge2RlZmF1bHRWYWx1ZTogJyd9fTtcbiAgICB0aGlzLnNvcnRGaWVsZHMgPSBbe2ZpZWxkOiAnbmFtZScsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQudGl0bGUnKSwgc29ydDogJyd9XTtcbiAgICBsZXQgc29ydENvbERlZnMgPSBDdXN0b21Tb3J0Q29tcG9uZW50LnNvcnRDb2xEZWZzKHRoaXMuc29ydEZpZWxkcyk7XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zID0ge1xuICAgICAgY29udGV4dDoge2NvdW50OiBkYXRhLmxlbmd0aCwgY3VycmVudFVzZXI6IHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKX0sXG4gICAgICByb3dEYXRhOiBkYXRhLFxuICAgICAgY29sdW1uRGVmczogY29sRGVmcy5jb25jYXQoc29ydENvbERlZnMpLFxuICAgICAgcm93QnVmZmVyOiAyMCxcbiAgICAgIHJvd0hlaWdodDogODBcbiAgICB9O1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyKHBhcmFtcykge1xuICAgIGNvbnN0IG93biA9IHBhcmFtcy5jb250ZXh0LmN1cnJlbnRVc2VyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gcGFyYW1zLmRhdGEudXNlci50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY29uc3QgZmF2SWNvblRpdGxlID0gIW93biA/ICdlby5zdG9yZWRxdWVyeS5mYXZvcmVkZm9yLnRpdGxlJyA6ICdlby5zdG9yZWRxdWVyeS5mYXZvcmVkLnRpdGxlJztcbiAgICBjb25zdCBzaGFyZUljb25UaXRsZSA9ICFvd24gPyAnZW8uc3RvcmVkcXVlcnkuc2hhcmVkZm9yLnRpdGxlJyA6ICdlby5zdG9yZWRxdWVyeS5zaGFyZWQudGl0bGUnO1xuXG4gICAgY29uc3QgZmF2SWNvbiA9IFV0aWxpdGllc1NlcnZpY2UuaXNFbXB0eU9yRmFsc2UocGFyYW1zLmRhdGFbVHlwZUZpbHRlci5mYXZvcmVkXSkgPyAnJyA6XG4gICAgICBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2ljb24nLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtsYWJlbDogcGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoZmF2SWNvblRpdGxlKSwgdXJsOiAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19mYXZvcml0ZS5zdmcnfVxuICAgICAgfSk7XG5cbiAgICBjb25zdCBzaGFyZUljb24gPSBVdGlsaXRpZXNTZXJ2aWNlLmlzRW1wdHlPckZhbHNlKHBhcmFtcy5kYXRhW1R5cGVGaWx0ZXIuc2hhcmVkXSkgPyAnJyA6XG4gICAgICBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2ljb24nLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtsYWJlbDogcGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoc2hhcmVJY29uVGl0bGUpLCB1cmw6ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NoYXJlLnN2Zyd9XG4gICAgICB9KTtcblxuXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtXCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb250ZW50Jz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0aXRsZSc+JHtwYXJhbXMuZGF0YS5uYW1lIHx8ICcnfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2ljb25zICR7IW93biA/ICdzaGFyZWQtd2l0aC1tZScgOiAnJ30nPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+JHtmYXZJY29ufTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPiR7c2hhcmVJY29ufTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIGxldCBmb2N1c2VkID0gdGhpcy5zZWxlY3Rpb24uZ2V0Rm9jdXMoKTtcbiAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5yZW1vdmVTdG9yZWRRdWVyeShmb2N1c2VkLmlkKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVOZXdTdG9yZWRRdWVyeSgpIHtcbiAgICB0aGlzLmFwcFNlYXJjaC5xdWVyeSRcbiAgICAgIC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShxdWVyeSA9PiB7XG4gICAgICAgIGxldCBzcSA9IG5ldyBTdG9yZWRRdWVyeSgpO1xuICAgICAgICBzcS5zZXRRdWVyeShxdWVyeSk7XG4gICAgICAgIHRoaXMuc2VsZWN0KHNxKTtcbiAgICAgIH1cbiAgICAgICk7XG4gICAgLy8gZ2V0IHJpZCBvZiB0aGUgcXVlcnkgcGFyYW1cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zdG9yZWQtcXVlcmllcyddLCB7cmVwbGFjZVVybDogdHJ1ZX0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5cygpO1xuXG4gICAgLy8gaW4gY2FzZSBvZiBnZXR0aW5nIHRoZSBjcmVhdGUgcGFyYW0sIHdlJ2xsIGZldGNoIHRoZSBsYXRlc3QgcXVlcnkgZnJvbVxuICAgIC8vIGFwcFNlYXJjaFNlcnZpY2UgYW5kIGNyZWF0ZSBhIG5ldyBTdG9yZWRRdWVyeSBmcm9tIGl0XG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ2NyZWF0ZSddKSB7XG4gICAgICB0aGlzLnNlbGVjdEZpcnN0ID0gZmFsc2U7XG4gICAgICB0aGlzLmNyZWF0ZU5ld1N0b3JlZFF1ZXJ5KCk7XG4gICAgfVxuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzID09PSAnL3N0b3JlZC1xdWVyaWVzP2NyZWF0ZT10cnVlJykge1xuICAgICAgICAgIHRoaXMuY3JlYXRlTmV3U3RvcmVkUXVlcnkoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxufVxuIiwiPHl2Yy1zcGxpdC12aWV3IFtsYXlvdXRTZXR0aW5nc0lEXT1cIidzdG9yZWQucXVlcmllcy5zdGF0ZSdcIj5cbiAgPCEtLSBsaXN0IC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjI1XCI+XG4gICAgPGVvLWxpc3QtY29udGFpbmVyICNlb0xpc3QgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zZWFyY2guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5zaWRlYmFyLm5hdmlnYXRpb24uc3RvcmVkcXVlcmllczwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcmVmcmVzaC1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIlxuICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmxpc3QucmVmcmVzaCcgfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29GaWx0ZXIgY2xhc3M9XCJvdmVybGF5LWZpbHRlclwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2ZpbHRlci5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3QuZmlsdGVyJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXIgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZW8tdGV4dC1maWx0ZXIgW3RpdGxlXT1cIidlby5mb2xkZXIuZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFtpZF09XCInc3RvcmVkLnF1ZXJpZXMudGV4dCdcIlxuICAgICAgICAgICAgICAgIFttYXRjaEZpZWxkc109XCJbJ25hbWUnXVwiIFtmaWx0ZXJQYXJhbXNdPVwidGV4dEZpbHRlclBhcmFtc1wiPjwvZW8tdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIFtvcGVyYXRvcl09XCInT1InXCIgW2lkXT1cIidzdG9yZWQucXVlcmllcy50eXBlJ1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidlby5mb2xkZXIuZmlsdGVyLnNlY3Rpb24ub2JqZWN0dHlwZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInR5cGVGaWx0ZXJGaWVsZHNcIj48L2VvLXNldC1maWx0ZXI+XG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCAjY1NvcnQgW2lkXT1cIidzdG9yZWQucXVlcmllcy5zb3J0J1wiIChjaGFuZ2UpPVwiY1NvcnQudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvU29ydC5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiIFtzb3J0RmllbGRzXT1cInNvcnRGaWVsZHNcIj48L2VvLWN1c3RvbS1zb3J0PlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWQgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zXCIgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIiBbc2VsZWN0Rmlyc3RdPVwic2VsZWN0Rmlyc3RcIiAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoZW9HcmlkU2VsZWN0aW9uQ2hhbmdlZCk9XCJlb0xpc3Qub25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChlb0dyaWRGb2N1c0NoYW5nZWQpPVwiZW9MaXN0Lm9uRm9jdXNDaGFuZ2VkKCRldmVudClcIj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19zZWFyY2guc3ZnJywgdGV4dDogb0ZpbHRlci5hY3RpdmUgPyAnZW8ubm8uZmlsdGVyLnJlc3VsdCcgOiAnZW8uc3RvcmVkLnF1ZXJpZXMubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiPjwvZW8tcmVzZXQtZmlsdGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2VvLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI3NVwiPlxuICAgIDxlby1zdG9yZWQtcXVlcnktZGV0YWlscyAobm90aWZ5TGlzdCk9XCJub3RpZnlMaXN0KCRldmVudClcIj48L2VvLXN0b3JlZC1xdWVyeS1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtc3BsaXQtdmlldz4iXX0=
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLXF1ZXJpZXMtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvc3RvcmVkLXF1ZXJpZXMtc3RhdGUvc3RvcmVkLXF1ZXJpZXMtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvc3RvcmVkLXF1ZXJpZXMtc3RhdGUvc3RvcmVkLXF1ZXJpZXMtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWlCLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBK0IsV0FBVyxFQUFpQyxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0csT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTW5ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBR3pHLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRN0UsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFldEMsWUFBb0IsS0FBcUIsRUFDL0IsTUFBYyxFQUNkLGNBQXFDLEVBQ3RDLFNBQTJCLEVBQzFCLFNBQTJCLEVBQzNCLG9CQUEwQyxFQUMxQyxZQUE4QixFQUM5QixXQUF3QixFQUN4QixTQUEyQjtRQVJqQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUMvQixXQUFNLEdB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QXlFO1FBQ3pFLHdEQUF3RDtRQUN4RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssNkJBQTZCLEVBQUU7Z0JBQy9GLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt3SEE5TVUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsaUtDdkJ4QyxxeEdBNkRpQjtBRHRDSiwyQkFBMkI7SUFOdkMsWUFBWSxFQUFFO0dBTUYsMkJBQTJCLENBZ052QztTQWhOWSwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx5QkFBeUI7dVZBaUJkLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sRGVmLCBHcmlkT3B0aW9uc30gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtFb1VzZXIsIFN0b3JlZFF1ZXJpZXNTZXJ2aWNlLCBTdG9yZWRRdWVyeSwgVHJhbnNsYXRlU2VydmljZSwgVXNlclNlcnZpY2UsIFV0aWxzfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge0FwcFNlYXJjaFNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlYXJjaC9hcHAtc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHtTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9zZWxlY3Rpb24vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2N1c3RvbS1zb3J0L2N1c3RvbS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge0lTZXRGaWx0ZXJ9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvZmlsdGVyL3NldEZpbHRlcnMvc2V0LWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7R3JpZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHtUeXBlRmlsdGVyfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvc3RvcmVkLXF1ZXJ5L3N0b3JlZC1xdWVyeS10eXBlLWZpbHRlci5lbnVtJztcbmltcG9ydCB7VXRpbGl0aWVzU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL3V0aWwvc2VydmljZXMvdXRpbGl0aWVzLnNlcnZpY2UnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXN0b3JlZC1xdWVyaWVzLXN0YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlZC1xdWVyaWVzLXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RvcmVkLXF1ZXJpZXMtc3RhdGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTdG9yZWRRdWVyaWVzU3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuXG4gIHN0b3JlZFF1ZXJpZXM6IFN0b3JlZFF1ZXJ5W10gPSBbXTtcbiAgc2VsZWN0ZWRRdWVyeTogU3RvcmVkUXVlcnk7XG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXSA9IFtdO1xuICBncmlkRGF0YTogU3RvcmVkUXVlcnlbXTtcbiAgdGV4dEZpbHRlclBhcmFtczogYW55ID0ge307XG5cbiAgdXNlcjogRW9Vc2VyO1xuICBzZWxlY3RGaXJzdCA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZCgnZW9HcmlkJykgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZWRRdWVyaWVzU2VydmljZTogU3RvcmVkUXVlcmllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTZWFyY2g6IEFwcFNlYXJjaFNlcnZpY2UpIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRCYXNlVGl0bGUodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2VhcmNoLnRpdGxlLnN0b3JlZHF1ZXJpZXMnKSk7XG4gIH1cblxuICBzZWxlY3QocXVlcnk6IFN0b3JlZFF1ZXJ5KSB7XG4gICAgdGhpcy5zZWxlY3Rpb24uZm9jdXMocXVlcnkpO1xuICAgIGlmICh0aGlzLmVvR3JpZCkge1xuICAgICAgdGhpcy5lb0dyaWQuYXBpLmRlc2VsZWN0QWxsKCk7XG4gICAgICB0aGlzLmVvR3JpZC5hcGkuY2xlYXJGb2N1c2VkQ2VsbCgpO1xuICAgIH1cbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cblxuICBnZXRTdG9yZWRRdWVyeXMoKSB7XG4gICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICAgIHRoaXMuc3RvcmVkUXVlcmllc1NlcnZpY2VcbiAgICAgIC5zdG9yZWRRdWVyaWVzJC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMClcbiAgICAgICkuc3Vic2NyaWJlKHF1ZXJpZXNTdWJzY3JpcHRpb24gPT4ge1xuICAgICAgICB0aGlzLmdyaWREYXRhID0gcXVlcmllc1N1YnNjcmlwdGlvbi5xdWVyaWVzLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbmFtZScpKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2Zhdm9yaXRlJywgJ2Rlc2MnKSk7XG4gICAgICAgIHRoaXMudXBkYXRlR3JpZCh0aGlzLmdyaWREYXRhLCBxdWVyaWVzU3Vic2NyaXB0aW9uLnNlbGVjdCAmJiB0aGlzLmdyaWREYXRhID8gcXVlcmllc1N1YnNjcmlwdGlvbi5zZWxlY3QgOiBudWxsKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVmcmVzaEdyaWQoKSB7XG4gICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5yZWZyZXNoU3RvcmVkUXVlcmllcygpO1xuICB9XG5cbiAgZ2V0Um93SW5kZXgoaWQpIHtcbiAgICBpZiAodGhpcy5lb0dyaWQpIHtcbiAgICAgIGNvbnN0IHJvd05vZGVJZCA9IHRoaXMuZW9HcmlkLmdyaWRPcHRpb25zLmdldFJvd05vZGVJZChpZCk7XG4gICAgICBjb25zdCByb3dOb2RlID0gdGhpcy5lb0dyaWQuYXBpLmdldFJvd05vZGUocm93Tm9kZUlkKTtcbiAgICAgIHJldHVybiByb3dOb2RlID8gcm93Tm9kZS5yb3dJbmRleCA6IG51bGw7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbm90aWZ5TGlzdCh2YWwpIHtcbiAgICBpZiAodGhpcy5lb0dyaWQpIHtcbiAgICAgIGNvbnN0IHt1bnNlbGVjdCwgdXBkYXRlLCBwYXlsb2FkfSA9IHZhbDtcbiAgICAgIGlmICghdW5zZWxlY3QgJiYgIXVwZGF0ZSAmJiAhcGF5bG9hZCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZW9HcmlkLnNlbGVjdFJvdygwKSwgNTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0eXBlRmlsdGVyKG5vZGUsIGl0ZW06IHN0cmluZykge1xuICAgIHN3aXRjaCAoaXRlbSkge1xuICAgICAgY2FzZSBUeXBlRmlsdGVyLmZhdm9yZWQ6XG4gICAgICBjYXNlIFR5cGVGaWx0ZXIuc2hhcmVkOlxuICAgICAgICByZXR1cm4gIVV0aWxpdGllc1NlcnZpY2UuaXNFbXB0eU9yRmFsc2Uobm9kZS5kYXRhW2l0ZW1dKTtcbiAgICAgIGNhc2UgVHlwZUZpbHRlci5vdGhlcnM6XG4gICAgICAgIHJldHVybiBVdGlsaXRpZXNTZXJ2aWNlLmlzRW1wdHlPckZhbHNlKG5vZGUuZGF0YVtUeXBlRmlsdGVyLmZhdm9yZWRdKSAmJiBVdGlsaXRpZXNTZXJ2aWNlLmlzRW1wdHlPckZhbHNlKG5vZGUuZGF0YVtUeXBlRmlsdGVyLnNoYXJlZF0pO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgdHlwZUZpbHRlcnMoKSB7XG4gICAgdGhpcy50eXBlRmlsdGVyRmllbGRzID0gT2JqZWN0LmtleXMoVHlwZUZpbHRlcikubWFwKGl0ZW0gPT4gKHtcbiAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGBlby5zdG9yZWRxdWVyeS4ke2l0ZW19LmZpbHRlci50aXRsZWApLFxuICAgICAgZmlsdGVyOiAobm9kZSkgPT4gdGhpcy50eXBlRmlsdGVyKG5vZGUsIFR5cGVGaWx0ZXJbaXRlbV0pLFxuICAgICAgdmFsdWU6IHRydWUsXG4gICAgICBpZDogaXRlbVxuICAgIH0pKTtcbiAgfVxuXG4gIHJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLnR5cGVGaWx0ZXJzKCk7XG4gIH1cblxuICB1cGRhdGVHcmlkKGRhdGEsIGlkKSB7XG5cbiAgICBpZiAodGhpcy5lb0dyaWQgJiYgdGhpcy5lb0dyaWQuaXNSZWFkeSkge1xuICAgICAgLy8gdG9kbzogaG90Zml4OiBlbmFibGUgYXV0byBzZWxlY3Rpb24gaW4gY2FzZSBpdCB3YXMgZGlzYWJsZWQgYnkgbmV3IHF1ZXJ5XG4gICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnNlbGVjdEZpcnN0ID0gdHJ1ZSksIDEwMDApO1xuICAgICAgcmV0dXJuIHRoaXMuZW9HcmlkLnVwZGF0ZVJvd0RhdGEoZGF0YSwgaWQpO1xuICAgIH1cblxuICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG5cbiAgICBsZXQgY29sRGVmczogQ29sRGVmW10gPSBbXG4gICAgICB7XG4gICAgICAgIGhlYWRlck5hbWU6ICcnLFxuICAgICAgICBmaWVsZDogJ19fY3VzdG9tJyxcbiAgICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgICAgZmlsdGVyOiBmYWxzZVxuICAgICAgfVxuICAgIF07XG5cbiAgICB0aGlzLnRleHRGaWx0ZXJQYXJhbXMgPSB7Y29udGV4dDoge2RlZmF1bHRWYWx1ZTogJyd9fTtcbiAgICB0aGlzLnNvcnRGaWVsZHMgPSBbe2ZpZWxkOiAnbmFtZScsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQudGl0bGUnKSwgc29ydDogJyd9XTtcbiAgICBsZXQgc29ydENvbERlZnMgPSBDdXN0b21Tb3J0Q29tcG9uZW50LnNvcnRDb2xEZWZzKHRoaXMuc29ydEZpZWxkcyk7XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zID0ge1xuICAgICAgY29udGV4dDoge2NvdW50OiBkYXRhLmxlbmd0aCwgY3VycmVudFVzZXI6IHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKX0sXG4gICAgICByb3dEYXRhOiBkYXRhLFxuICAgICAgY29sdW1uRGVmczogY29sRGVmcy5jb25jYXQoc29ydENvbERlZnMpLFxuICAgICAgcm93QnVmZmVyOiAyMCxcbiAgICAgIHJvd0hlaWdodDogODBcbiAgICB9O1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyKHBhcmFtcykge1xuICAgIGNvbnN0IG93biA9IHBhcmFtcy5jb250ZXh0LmN1cnJlbnRVc2VyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gcGFyYW1zLmRhdGEudXNlci50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY29uc3QgZmF2SWNvblRpdGxlID0gIW93biA/ICdlby5zdG9yZWRxdWVyeS5mYXZvcmVkZm9yLnRpdGxlJyA6ICdlby5zdG9yZWRxdWVyeS5mYXZvcmVkLnRpdGxlJztcbiAgICBjb25zdCBzaGFyZUljb25UaXRsZSA9ICFvd24gPyAnZW8uc3RvcmVkcXVlcnkuc2hhcmVkZm9yLnRpdGxlJyA6ICdlby5zdG9yZWRxdWVyeS5zaGFyZWQudGl0bGUnO1xuXG4gICAgY29uc3QgZmF2SWNvbiA9IFV0aWxpdGllc1NlcnZpY2UuaXNFbXB0eU9yRmFsc2UocGFyYW1zLmRhdGFbVHlwZUZpbHRlci5mYXZvcmVkXSkgPyAnJyA6XG4gICAgICBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2ljb24nLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtsYWJlbDogcGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoZmF2SWNvblRpdGxlKSwgdXJsOiAnYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19mYXZvcml0ZS5zdmcnfVxuICAgICAgfSk7XG5cbiAgICBjb25zdCBzaGFyZUljb24gPSBVdGlsaXRpZXNTZXJ2aWNlLmlzRW1wdHlPckZhbHNlKHBhcmFtcy5kYXRhW1R5cGVGaWx0ZXIuc2hhcmVkXSkgPyAnJyA6XG4gICAgICBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2ljb24nLCBwYXJhbXMsIHtcbiAgICAgICAgdmFsdWU6IHtsYWJlbDogcGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoc2hhcmVJY29uVGl0bGUpLCB1cmw6ICdhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NoYXJlLnN2Zyd9XG4gICAgICB9KTtcblxuXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtXCIgdW5zZWxlY3RhYmxlPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb250ZW50Jz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0aXRsZSc+JHtwYXJhbXMuZGF0YS5uYW1lIHx8ICcnfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2ljb25zICR7IW93biA/ICdzaGFyZWQtd2l0aC1tZScgOiAnJ30nPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+JHtmYXZJY29ufTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPiR7c2hhcmVJY29ufTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIGxldCBmb2N1c2VkID0gdGhpcy5zZWxlY3Rpb24uZ2V0Rm9jdXMoKTtcbiAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgdGhpcy5zdG9yZWRRdWVyaWVzU2VydmljZS5yZW1vdmVTdG9yZWRRdWVyeShmb2N1c2VkLmlkKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVOZXdTdG9yZWRRdWVyeSgpIHtcbiAgICB0aGlzLmFwcFNlYXJjaC5xdWVyeSRcbiAgICAgIC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShxdWVyeSA9PiB7XG4gICAgICAgIGxldCBzcSA9IG5ldyBTdG9yZWRRdWVyeSgpO1xuICAgICAgICBzcS5zZXRRdWVyeShxdWVyeSk7XG4gICAgICAgIHRoaXMuc2VsZWN0KHNxKTtcbiAgICAgIH1cbiAgICAgICk7XG4gICAgLy8gZ2V0IHJpZCBvZiB0aGUgcXVlcnkgcGFyYW1cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9zdG9yZWQtcXVlcmllcyddLCB7cmVwbGFjZVVybDogdHJ1ZX0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmdldFN0b3JlZFF1ZXJ5cygpO1xuXG4gICAgLy8gaW4gY2FzZSBvZiBnZXR0aW5nIHRoZSBjcmVhdGUgcGFyYW0sIHdlJ2xsIGZldGNoIHRoZSBsYXRlc3QgcXVlcnkgZnJvbVxuICAgIC8vIGFwcFNlYXJjaFNlcnZpY2UgYW5kIGNyZWF0ZSBhIG5ldyBTdG9yZWRRdWVyeSBmcm9tIGl0XG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ2NyZWF0ZSddKSB7XG4gICAgICB0aGlzLnNlbGVjdEZpcnN0ID0gZmFsc2U7XG4gICAgICB0aGlzLmNyZWF0ZU5ld1N0b3JlZFF1ZXJ5KCk7XG4gICAgfVxuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzID09PSAnL3N0b3JlZC1xdWVyaWVzP2NyZWF0ZT10cnVlJykge1xuICAgICAgICAgIHRoaXMuY3JlYXRlTmV3U3RvcmVkUXVlcnkoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxufVxuIiwiPHl2Yy1zcGxpdC12aWV3IFtsYXlvdXRTZXR0aW5nc0lEXT1cIidzdG9yZWQucXVlcmllcy5zdGF0ZSdcIj5cbiAgPCEtLSBsaXN0IC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjI1XCI+XG4gICAgPGVvLWxpc3QtY29udGFpbmVyICNlb0xpc3QgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zYXZlZF9zZWFyY2guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5zaWRlYmFyLm5hdmlnYXRpb24uc3RvcmVkcXVlcmllczwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcmVmcmVzaC1idXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19yZWZyZXNoLnN2ZydcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIlxuICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmxpc3QucmVmcmVzaCcgfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29GaWx0ZXIgY2xhc3M9XCJvdmVybGF5LWZpbHRlclwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2ZpbHRlci5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3QuZmlsdGVyJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXIgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZW8tdGV4dC1maWx0ZXIgW3RpdGxlXT1cIidlby5mb2xkZXIuZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFtpZF09XCInc3RvcmVkLnF1ZXJpZXMudGV4dCdcIlxuICAgICAgICAgICAgICAgIFttYXRjaEZpZWxkc109XCJbJ25hbWUnXVwiIFtmaWx0ZXJQYXJhbXNdPVwidGV4dEZpbHRlclBhcmFtc1wiPjwvZW8tdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIFtvcGVyYXRvcl09XCInT1InXCIgW2lkXT1cIidzdG9yZWQucXVlcmllcy50eXBlJ1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidlby5mb2xkZXIuZmlsdGVyLnNlY3Rpb24ub2JqZWN0dHlwZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInR5cGVGaWx0ZXJGaWVsZHNcIj48L2VvLXNldC1maWx0ZXI+XG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCAjY1NvcnQgW2lkXT1cIidzdG9yZWQucXVlcmllcy5zb3J0J1wiIChjaGFuZ2UpPVwiY1NvcnQudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvU29ydC5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiIFtzb3J0RmllbGRzXT1cInNvcnRGaWVsZHNcIj48L2VvLWN1c3RvbS1zb3J0PlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWQgW2dyaWRPcHRpb25zXT1cImdyaWRPcHRpb25zXCIgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIiBbc2VsZWN0Rmlyc3RdPVwic2VsZWN0Rmlyc3RcIiAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoZW9HcmlkU2VsZWN0aW9uQ2hhbmdlZCk9XCJlb0xpc3Qub25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChlb0dyaWRGb2N1c0NoYW5nZWQpPVwiZW9MaXN0Lm9uRm9jdXNDaGFuZ2VkKCRldmVudClcIj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19zZWFyY2guc3ZnJywgdGV4dDogb0ZpbHRlci5hY3RpdmUgPyAnZW8ubm8uZmlsdGVyLnJlc3VsdCcgOiAnZW8uc3RvcmVkLnF1ZXJpZXMubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiPjwvZW8tcmVzZXQtZmlsdGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2VvLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI3NVwiPlxuICAgIDxlby1zdG9yZWQtcXVlcnktZGV0YWlscyAobm90aWZ5TGlzdCk9XCJub3RpZnlMaXN0KCRldmVudClcIj48L2VvLXN0b3JlZC1xdWVyeS1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtc3BsaXQtdmlldz4iXX0=
@@ -117,7 +117,7 @@ export class AddSubscriptionComponent {
117
117
  }
118
118
  }
119
119
  AddSubscriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AddSubscriptionComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i1.UserService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
120
- AddSubscriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: AddSubscriptionComponent, selector: "eo-add-subscription", inputs: { selection: "selection" }, outputs: { finished: "finished", canceled: "canceled" }, viewQueries: [{ propertyName: "titleField", first: true, predicate: ["titleField"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\" [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\" [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\"translate>eo.subscription.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidity\" (click)=\"createSubscription()\"translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(even):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(even):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.TrapFocusDirective, selector: "[eoTrapFocus]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i8.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i10.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
120
+ AddSubscriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: AddSubscriptionComponent, selector: "eo-add-subscription", inputs: { selection: "selection" }, outputs: { finished: "finished", canceled: "canceled" }, viewQueries: [{ propertyName: "titleField", first: true, predicate: ["titleField"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\" [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\" [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\"translate>eo.subscription.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidity\" (click)=\"createSubscription()\"translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(even):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(even):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.TrapFocusDirective, selector: "[eoTrapFocus]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i8.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i10.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AddSubscriptionComponent, decorators: [{
122
122
  type: Component,
123
123
  args: [{ selector: 'eo-add-subscription', template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\" [invalid]=\"titleValidity\" *ngIf=\"selection.length === 1\">\n <eo-string formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidity\">\n <div translate>eo.form.property.required</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\" [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\" [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg</div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\"translate>eo.subscription.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidity\" (click)=\"createSubscription()\"translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(even):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(even):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"] }]
@@ -135,7 +135,7 @@ export class SignatureComponent {
135
135
  }
136
136
  }
137
137
  SignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SignatureComponent, deps: [{ token: i1.BpmService }, { token: i2.PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SigningService }, { token: i1.EventService }, { token: i1.DmsService }, { token: i1.SystemService }, { token: i1.LocalStorageService }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
138
- SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i9.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i10.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i11.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i12.CtaComponent, selector: "eo-cta", inputs: ["active"] }, { kind: "component", type: i13.SequenceListComponent, selector: "eo-sequence-list", inputs: ["MAX_SIGNERS", "phoneRequired"], outputs: ["itemEdit"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
138
+ SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i9.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i10.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i11.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i12.CtaComponent, selector: "eo-cta", inputs: ["active"] }, { kind: "component", type: i13.SequenceListComponent, selector: "eo-sequence-list", inputs: ["MAX_SIGNERS", "phoneRequired"], outputs: ["itemEdit"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
139
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SignatureComponent, decorators: [{
140
140
  type: Component,
141
141
  args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"] }]