@eo-sdk/client 10.0.0-beta.2 → 10.0.0-beta.3
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.
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +7 -3
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-shell.module.d.ts +2 -1
- package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
- package/app/eo-framework/form-elements/checkbox/checkbox.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts +3 -1
- package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/date/date.component.d.ts +2 -0
- package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/date/year-range/year-range.directive.d.ts.map +1 -0
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts +3 -1
- package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/form-elements.module.d.ts +37 -39
- package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
- package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/index.d.ts +1 -3
- package/app/eo-framework/form-elements/index.d.ts.map +1 -1
- package/app/eo-framework/form-elements/reference/reference.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +3 -2
- package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts +1 -5
- package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +4 -7
- package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.module.d.ts +4 -3
- package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts +2 -7
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/index.d.ts +0 -1
- package/app/eo-framework/index.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +2 -7
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts +6 -59
- package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form-helper.service.d.ts +86 -2
- package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts +3 -11
- package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
- package/app/eo-framework/plugins/plugin.component.d.ts +0 -2
- package/app/eo-framework/plugins/plugin.component.d.ts.map +1 -1
- package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
- package/app/eo-framework/process/details/process-details.component.d.ts +2 -7
- package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +2 -7
- package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -1
- package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +2 -0
- package/assets/_default/i18n/en.json +4 -2
- package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -5
- package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +1 -1
- package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +3 -3
- package/esm2020/app/eo-client/login/login.component.mjs +1 -1
- package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +1 -1
- package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +3 -3
- package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +1 -1
- package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +3 -3
- package/esm2020/app/eo-client/settings/settings.component.mjs +3 -3
- package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +1 -1
- package/esm2020/app/eo-client/version-state/version-state.component.mjs +1 -1
- package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +3 -3
- package/esm2020/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +1 -1
- package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +1 -1
- package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +1 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +2 -2
- package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add.component.mjs +1 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +1 -1
- package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +32 -20
- package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +8 -4
- package/esm2020/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +1 -4
- package/esm2020/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +9 -3
- package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +9 -24
- package/esm2020/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +44 -0
- package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +2 -2
- package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +9 -3
- package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +3 -13
- package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +7 -7
- package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +2 -2
- package/esm2020/app/eo-framework/form-elements/index.mjs +2 -4
- package/esm2020/app/eo-framework/form-elements/number-range/number-range.component.mjs +1 -1
- package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +2 -2
- package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +5 -5
- package/esm2020/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +7 -2
- package/esm2020/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +9 -17
- package/esm2020/app/eo-framework/grid/filters/codesystem-filter.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +9 -27
- package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/grid.component.mjs +2 -2
- package/esm2020/app/eo-framework/grid/grid.module.mjs +5 -8
- package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +8 -15
- package/esm2020/app/eo-framework/index.mjs +1 -2
- package/esm2020/app/eo-framework/media/media.component.mjs +2 -2
- package/esm2020/app/eo-framework/object-details/edit-icon/edit-icon.component.mjs +1 -1
- package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +1 -1
- package/esm2020/app/eo-framework/object-details/object-details.component.mjs +10 -15
- package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +1 -2
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +4 -4
- package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +1 -1
- package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +18 -494
- package/esm2020/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +1 -1
- package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +506 -7
- package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +19 -27
- package/esm2020/app/eo-framework/plugins/plugin.component.mjs +5 -7
- package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +3 -4
- package/esm2020/app/eo-framework/process/details/process-details.component.mjs +10 -16
- package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +7 -16
- package/esm2020/app/eo-framework/result-list/result-list.component.mjs +1 -1
- package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +6 -3
- package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +3 -3
- package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +6 -1
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +5 -0
- package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2015/eo-sdk-client.mjs +3736 -4528
- package/fesm2015/eo-sdk-client.mjs.map +1 -1
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +5 -0
- package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
- package/fesm2020/eo-sdk-client.mjs +3739 -4531
- package/fesm2020/eo-sdk-client.mjs.map +1 -1
- package/package.json +4 -4
- package/projects/eo-sdk/core/lib/util/utils.d.ts +1 -0
- package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
- package/scss/_eo-variables.scss +68 -40
- package/scss/_form.scss +6 -0
- package/scss/_main.scss +1 -1
- package/scss/_theme-dark.scss +22 -0
- package/scss/_yuuvis-components.scss +12 -2
- package/styles.css +51 -24
- package/styles.scss +5 -10
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.d.ts +0 -67
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.d.ts.map +0 -1
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.d.ts +0 -21
- package/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.d.ts.map +0 -1
- package/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.d.ts +0 -33
- package/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.d.ts.map +0 -1
- package/app/eo-framework/form-elements/datetime/datetime.component.d.ts +0 -51
- package/app/eo-framework/form-elements/datetime/datetime.component.d.ts.map +0 -1
- package/app/eo-framework/form-elements/datetime/year-range/year-range.directive.d.ts.map +0 -1
- package/app/eo-framework/tab-container/index.d.ts +0 -6
- package/app/eo-framework/tab-container/index.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-container.component.d.ts +0 -62
- package/app/eo-framework/tab-container/tab-container.component.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-container.module.d.ts +0 -18
- package/app/eo-framework/tab-container/tab-container.module.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-panel/tab-panel.component.d.ts +0 -13
- package/app/eo-framework/tab-container/tab-panel/tab-panel.component.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-view/tab-view.component.d.ts +0 -19
- package/app/eo-framework/tab-container/tab-view/tab-view.component.d.ts.map +0 -1
- package/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.d.ts +0 -11
- package/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.d.ts.map +0 -1
- package/esm2020/app/eo-framework/form-elements/datetime/datepicker/datepicker.component.mjs +0 -239
- package/esm2020/app/eo-framework/form-elements/datetime/datepicker/datepicker.interface.mjs +0 -2
- package/esm2020/app/eo-framework/form-elements/datetime/datepicker/service/datepicker.service.mjs +0 -109
- package/esm2020/app/eo-framework/form-elements/datetime/datetime.component.mjs +0 -142
- package/esm2020/app/eo-framework/form-elements/datetime/year-range/year-range.directive.mjs +0 -44
- package/esm2020/app/eo-framework/tab-container/index.mjs +0 -6
- package/esm2020/app/eo-framework/tab-container/tab-container.component.mjs +0 -184
- package/esm2020/app/eo-framework/tab-container/tab-container.module.mjs +0 -47
- package/esm2020/app/eo-framework/tab-container/tab-panel/tab-panel.component.mjs +0 -26
- package/esm2020/app/eo-framework/tab-container/tab-view/tab-view.component.mjs +0 -61
- package/esm2020/app/eo-framework/tab-container/tab-view-nav/tab-view-nav.component.mjs +0 -25
- package/scss/_eo-inverted.scss +0 -73
- package/scss/_eo-pink-theme.scss +0 -73
- package/scss/_eo-theme.scss +0 -81
- package/scss/_eo-vars.scss +0 -3
- /package/app/eo-framework/form-elements/{datetime → date}/year-range/year-range.directive.d.ts +0 -0
|
@@ -204,12 +204,12 @@ export class InboxStateComponent extends UnsubscribeOnDestroy {
|
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
InboxStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InboxStateComponent, deps: [{ token: i1.TranslateService }, { token: i2.SelectionService }, { token: i3.PageTitleService }, { token: i1.InboxService }, { token: i4.PendingChangesService }, { token: i5.EmptyStateService }, { token: i1.EventService }, { token: i6.ActivatedRoute }, { token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Component });
|
|
207
|
-
InboxStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InboxStateComponent, selector: "eo-inbox-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"cFilter.resetFilter(); refreshGrid()\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\" [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\" [filterParams]=\"defaultFilterParams\"\n [id]=\"'inbox.text'\" [matchFields]=\"['title','description','id']\"></eo-text-filter>\n <eo-set-filter [operator]=\"'AND'\" [id]=\"'inbox.set'\"\n [options]=\"inboxFilterFields\"></eo-set-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'inbox.type'\"\n [options]=\"typeFilterFields\" [title]=\"'eo.inbox.filter.section.type' | translate\"></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\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n <!-- inbox details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n\n\n<!-- <eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\"\n [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"refreshGrid()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\"\n [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></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\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"selectFirst\"\n [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\n <ng-template pTemplate=\"content\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\"\n [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n </eo-split>\n</eo-undock-split> -->\n", 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 .inboxChanged{background:var(--color-success);color:#fff}:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .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 .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .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 .ag-cell .list-item .content .notes>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--color-primary-4);color:var(--color-white);font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding) / 4) 0 calc(var(--app-pane-padding) / 4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-normal);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .title-bold{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption);color:var(--text-color-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{position:relative;bottom:15px;left:25px}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.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: i9.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i10.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i11.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i12.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i13.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options"] }, { kind: "component", type: i14.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "directive", type: i15.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i16.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i17.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i18.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i19.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i20.InboxDetailsComponent, selector: "eo-inbox-details", inputs: ["emptyState", "applySelection", "item"] }, { kind: "component", type: i21.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i22.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { kind: "component", type: i23.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i23.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] });
|
|
207
|
+
InboxStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InboxStateComponent, selector: "eo-inbox-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"cFilter.resetFilter(); refreshGrid()\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\" [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\" [filterParams]=\"defaultFilterParams\"\n [id]=\"'inbox.text'\" [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></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\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n <!-- inbox details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n\n\n<!-- <eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\"\n [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"refreshGrid()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\"\n [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></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\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"selectFirst\"\n [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\n <ng-template pTemplate=\"content\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\"\n [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n </eo-split>\n</eo-undock-split> -->\n", 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 .inboxChanged{background:var(--color-success);color:#fff}:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .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 .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .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 .ag-cell .list-item .content .notes>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--color-primary-4);color:#fff;font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding) / 4) 0 calc(var(--app-pane-padding) / 4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-normal);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .title-bold{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption);color:var(--text-color-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{position:relative;bottom:15px;left:25px}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.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: i9.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i10.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i11.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i12.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i13.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i14.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "directive", type: i15.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i16.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i17.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i18.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i19.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i20.InboxDetailsComponent, selector: "eo-inbox-details", inputs: ["emptyState", "applySelection", "item"] }, { kind: "component", type: i21.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i22.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { kind: "component", type: i23.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i23.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] });
|
|
208
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InboxStateComponent, decorators: [{
|
|
209
209
|
type: Component,
|
|
210
|
-
args: [{ selector: 'eo-inbox-state', template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"cFilter.resetFilter(); refreshGrid()\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\" [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\" [filterParams]=\"defaultFilterParams\"\n [id]=\"'inbox.text'\" [matchFields]=\"['title','description','id']\"></eo-text-filter>\n <eo-set-filter [operator]=\"'AND'\" [id]=\"'inbox.set'\"\n [options]=\"inboxFilterFields\"></eo-set-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'inbox.type'\"\n [options]=\"typeFilterFields\" [title]=\"'eo.inbox.filter.section.type' | translate\"></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\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n <!-- inbox details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n\n\n<!-- <eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\"\n [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"refreshGrid()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\"\n [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></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\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"selectFirst\"\n [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\n <ng-template pTemplate=\"content\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\"\n [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n </eo-split>\n</eo-undock-split> -->\n", 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 .inboxChanged{background:var(--color-success);color:#fff}:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .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 .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .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 .ag-cell .list-item .content .notes>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--color-primary-4);color:var(--color-white);font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding) / 4) 0 calc(var(--app-pane-padding) / 4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-normal);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .title-bold{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption);color:var(--text-color-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{position:relative;bottom:15px;left:25px}\n"] }]
|
|
210
|
+
args: [{ selector: 'eo-inbox-state', template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"cFilter.resetFilter(); refreshGrid()\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\" [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\" [filterParams]=\"defaultFilterParams\"\n [id]=\"'inbox.text'\" [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></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\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n <!-- inbox details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n\n\n<!-- <eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\"\n [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"refreshGrid()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\"\n [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></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\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"selectFirst\"\n [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\n <ng-template pTemplate=\"content\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\"\n [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n </eo-split>\n</eo-undock-split> -->\n", 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 .inboxChanged{background:var(--color-success);color:#fff}:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .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 .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .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 .ag-cell .list-item .content .notes>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--color-primary-4);color:#fff;font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding) / 4) 0 calc(var(--app-pane-padding) / 4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-normal);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .title-bold{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption);color:var(--text-color-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{position:relative;bottom:15px;left:25px}\n"] }]
|
|
211
211
|
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.SelectionService }, { type: i3.PageTitleService }, { type: i1.InboxService }, { type: i4.PendingChangesService }, { type: i5.EmptyStateService }, { type: i1.EventService }, { type: i6.ActivatedRoute }, { type: i1.LocalStorageService }]; }, propDecorators: { eoGrid: [{
|
|
212
212
|
type: ViewChild,
|
|
213
213
|
args: ['eoGrid']
|
|
214
214
|
}] } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3gtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUt0RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUU1RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQU9sRyxPQUFPLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRaEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQW1CM0QsWUFBbUIsU0FBMkIsRUFDckMsU0FBMkIsRUFDMUIsWUFBOEIsRUFDL0IsWUFBMEIsRUFDekIsY0FBcUMsRUFDckMsS0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsS0FBcUIsRUFDckIsY0FBbUM7UUFDM0MsS0FBSyxFQUFFLENBQUM7UUFUUyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGlCQUFZLEdBQVos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QXFCTCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFdmVudFNlcnZpY2UsIEluYm94U3RhdGUsIExvY2FsU3RvcmFnZVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7SW5ib3hJdGVtLCBJbmJveFNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2N1c3RvbS1zb3J0L2N1c3RvbS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvdXRpbC91bnN1YnNjcmliZS91bnN1YnNjcmliZS5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7SVNldEZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9maWx0ZXIvc2V0RmlsdGVycy9zZXQtZmlsdGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtJbmJveFR5cGVzLCBJbmJveFR5cGVzRmlsdGVyfSBmcm9tICcuL2luYm94LnR5cGVzLmVudW0nO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1pbmJveC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmJveC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luYm94LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5ib3hTdGF0ZUNvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50IHtcblxuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHNvcnRGaWVsZHM6IENvbERlZltdO1xuICBpbmJveEZpbHRlckZpZWxkczogSVNldEZpbHRlcltdID0gW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXSA9IFtdO1xuICBpbmJveFNlbGVjdGlvbklkID0gJ2luYm94JztcbiAgaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCA9ICdpbmJveF9kbXMnO1xuICBpbmJveFNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZTtcbiAgc2VsZWN0Rmlyc3QgPSB0cnVlO1xuICBpZE1hdGNoID0gdHJ1ZTtcbiAgZ3JpZERhdGE7XG4gIGRlZmF1bHRGaWx0ZXJQYXJhbXM6IGFueSA9IHt9O1xuICBlbXB0eVN0YXRlOiBFbXB0eVN0YXRlID0ge2ljb246ICdpY19uby1maWxlLnN2ZycsIHRleHQ6ICcnLCBjbGFzc05hbWU6ICcnfTtcbiAgaW5ib3hDaGFuZ2VkID0gZmFsc2U7XG4gIHN0b3JhZ2VLZXlMYXN0SXRlbUlEID0gJ2VvLmluYm94Lmxhc3RJdGVtSUQnO1xuXG4gIEBWaWV3Q2hpbGQoJ2VvR3JpZCcpIGVvR3JpZDogR3JpZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHVibGljIGluYm94U2VydmljZTogSW5ib3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5saXN0LnRpdGxlJykpO1xuICAgIC8vc2Vjb25kYXJ5IHNlbGVjdGlvbiBpbnN0YW5jZSBmb3IgaW5ib3ggaXRlbXNcbiAgICB0aGlzLmluYm94U2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hTZWxlY3Rpb25JZCk7XG4gICAgdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCk7XG5cbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcyA9IHtjb250ZXh0OiB7ZGVmYXVsdFZhbHVlOiBwYXJhbXMuaWR9fTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5pbmJveFNlcnZpY2UuaW5ib3hTdGF0ZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IEluYm94U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZW9HcmlkKSB7XG4gICAgICAgICAgLy8gdG9kbzogdGVtcG9yYXJ5IGZpeCB1bnRpbCBzdGF0dXMgc2VydmljZSB1cGRhdGVcbiAgICAgICAgICAvLyB0aGlzLmluYm94Q2hhbmdlZCA9IHRoaXMuZW9HcmlkLmNvbnRleHRDb3VudCAhPT0gc3RhdGUudG90YWxtZXNzYWdlcztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvbkNvdW50Q2hhbmdlZChldnQ6IGFueSkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRGaWx0ZXJQYXJhbXMuY29udGV4dCAmJiB0aGlzLmRlZmF1bHRGaWx0ZXJQYXJhbXMuY29udGV4dC5kZWZhdWx0VmFsdWUpIHtcbiAgICAgIGlmIChldnQucm93Q291bnQgPT09IDApIHtcbiAgICAgICAgdGhpcy5pZE1hdGNoID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcy5jb250ZXh0LmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLmluYm94U2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaW5ib3hTZWxlY3Rpb24uZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmVvR3JpZC5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcy5jb250ZXh0LmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZCgpIHtcbiAgICB0aGlzLmluYm94Q2hhbmdlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5ib3hTZWxlY3Rpb24uZGlzYWJsZShmYWxzZSk7XG4gICAgdGhpcy5pbmJveFNlcnZpY2UuZ2V0SXRlbXMoKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmluYm94U2VydmljZS5yZWZyZXNoSW5ib3hTdGF0ZSgpO1xuICB9XG5cbiAgaXRlbUZpbHRlckZpZWxkcyhub2RlLCBpdGVtKSB7XG4gICAgY29uc3QgdmFsdWUgPSBub2RlLmRhdGFbSW5ib3hUeXBlc0ZpbHRlcltpdGVtXV07XG4gICAgY29uc3QgYWNjZXB0ZWRBbmRVbmFjY2VwdGVkQ29tYmluZWQgPSB0aGlzLmluYm94RmlsdGVyRmllbGRzLmZpbmQoZmlsdGVyID0+IGZpbHRlci5pZCA9PT0gJ2FjY2VwdGVkVGFza3MnKS52YWx1ZVxuICAgICAgJiYgdGhpcy5pbmJveEZpbHRlckZpZWxkcy5maW5kKGZpbHRlciA9PiBmaWx0ZXIuaWQgPT09ICd1bmFjY2VwdGVkVGFza3MnKS52YWx1ZTtcbiAgICBzd2l0Y2ggKEluYm94VHlwZXNGaWx0ZXJbaXRlbV0pIHtcbiAgICAgIGNhc2UgSW5ib3hUeXBlc0ZpbHRlci5vdmVyZHVlOlxuICAgICAgICByZXR1cm4gbm9kZS5kYXRhLmlzT3ZlcmR1ZSgpO1xuICAgICAgY2FzZSBJbmJveFR5cGVzRmlsdGVyLmFic2VudDpcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgICBjYXNlIEluYm94VHlwZXNGaWx0ZXIuYWNjZXB0ZWRUYXNrczpcbiAgICAgICAgcmV0dXJuIGFjY2VwdGVkQW5kVW5hY2NlcHRlZENvbWJpbmVkID8gbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nIDogbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nICYmICEhbm9kZS5kYXRhLmFjY2VwdGVkO1xuICAgICAgY2FzZSBJbmJveFR5cGVzRmlsdGVyLnVuYWNjZXB0ZWRUYXNrczpcbiAgICAgICAgcmV0dXJuIGFjY2VwdGVkQW5kVW5hY2NlcHRlZENvbWJpbmVkID8gbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nIDogbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nICYmICFub2RlLmRhdGEuYWNjZXB0ZWQ7XG4gICAgfVxuICB9XG5cbiAgZmllbGRGaWx0ZXJzKCkge1xuICAgIHRoaXMudHlwZUZpbHRlckZpZWxkcyA9IE9iamVjdC5rZXlzKEluYm94VHlwZXMpLm1hcChpdGVtID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgZW8uaW5ib3guJHtpdGVtfWApLFxuICAgICAgZmlsdGVyOiAobm9kZSkgPT4gbm9kZS5kYXRhLnR5cGUgPT09IGl0ZW0sXG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIGlkOiBpdGVtXG4gICAgfSkpO1xuXG4gICAgdGhpcy5pbmJveEZpbHRlckZpZWxkcyA9IE9iamVjdC5rZXlzKEluYm94VHlwZXNGaWx0ZXIpLm1hcChpdGVtID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgZW8uaW5ib3guZmlsdGVyLiR7aXRlbX1gKSxcbiAgICAgIGZpbHRlcjogKG5vZGUpID0+IHRoaXMuaXRlbUZpbHRlckZpZWxkcyhub2RlLCBpdGVtKSxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgIGlkOiBpdGVtXG4gICAgfSkpO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuZmllbGRGaWx0ZXJzKCk7XG4gIH1cblxuICB1cGRhdGVHcmlkKGRhdGE6IEluYm94SXRlbVtdKTogdm9pZCB7XG4gICAgdGhpcy5lbXB0eVN0YXRlID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKGRhdGEgPyBkYXRhLmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuXG4gICAgaWYgKHRoaXMuZW9HcmlkICYmIHRoaXMuZW9HcmlkLmlzUmVhZHkpIHtcbiAgICAgIHJldHVybiB0aGlzLmVvR3JpZC51cGRhdGVSb3dEYXRhKGRhdGEpO1xuICAgIH1cblxuICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG5cbiAgICBsZXQgY29sRGVmczogQ29sRGVmW10gPSBbe1xuICAgICAgaGVhZGVyTmFtZTogJycsXG4gICAgICBmaWVsZDogJ19fY3VzdG9tJyxcbiAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICBmaWx0ZXI6IGZhbHNlXG4gICAgICAvLyBjZWxsUmVuZGVyZXJGcmFtZXdvcms6IEluYm94UmVuZGVyZXJDb21wb25lbnRcbiAgICB9XTtcblxuICAgIHRoaXMuc29ydEZpZWxkcyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdyZWNlaXZlZCcsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQuZGF0ZScpLCBzb3J0OiAnJyxcbiAgICAgICAgdmFsdWVHZXR0ZXI6IChwKSA9PiAocC5kYXRhW3AuY29sRGVmLmZpZWxkXSB8fCAnJykubWF0Y2goL1xcK1xcZFxcZDpcXGRcXGQvKSA/IG5ldyBEYXRlKHAuZGF0YVtwLmNvbERlZi5maWVsZF0pLnRvSVNPU3RyaW5nKCkgOiBwLmRhdGFbcC5jb2xEZWYuZmllbGRdXG4gICAgICB9LFxuICAgICAge2ZpZWxkOiAndGl0bGUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LnRpdGxlJyksIHNvcnQ6ICcnfSxcbiAgICAgIHtmaWVsZDogJ2Rlc2NyaXB0aW9uJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kZXNjcmlwdGlvbicpLCBzb3J0OiAnJ31cbiAgICBdO1xuXG4gICAgbGV0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IHtjb3VudDogZGF0YS5sZW5ndGh9LFxuICAgICAgcm93RGF0YTogZGF0YSxcbiAgICAgIGNvbHVtbkRlZnM6IGNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJ1xuICAgIH07XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG5cbiAgICBsZXQgbGFiZWwgPSAnJztcbiAgICBpZiAoT2JqZWN0LmtleXMoSW5ib3hUeXBlcykuaW5jbHVkZXMocGFyYW1zLmRhdGEudHlwZSkpIHtcbiAgICAgIGxhYmVsID0gcGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoYGVvLmluYm94LiR7cGFyYW1zLmRhdGEudHlwZX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSBgYXNzZXRzL19kZWZhdWx0L3N2Zy9pY18ke0luYm94VHlwZXNbcGFyYW1zLmRhdGEudHlwZV19LnN2Z2A7XG5cbiAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignaWNvbicsIHBhcmFtcywge3ZhbHVlOiB7dXJsLCBsYWJlbH19KTtcbiAgICBsZXQgc2hvcnREYXRlID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywge3ZhbHVlOiBwYXJhbXMuZGF0YS5yZWNlaXZlZCwgcGF0dGVybjogJ2VvU2hvcnREYXRlJ30pO1xuICAgIGxldCBzaG9ydFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLnJlY2VpdmVkLCBwYXR0ZXJuOiAnZW9TaG9ydFRpbWUnfSk7XG4gICAgbGV0IGR1ZXRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLmR1ZXRpbWV9KTtcbiAgICBjb25zdCB0aXRsZUNsYXNzID0gcGFyYW1zLmRhdGEuYWNjZXB0ZWQgPyAndGl0bGUnIDogJ3RpdGxlLWJvbGQnO1xuXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtJHtwYXJhbXMuZGF0YS5mb2xkZXIgPyAnIGZvbGRlcicgOiAnJ31cIiB1bnNlbGVjdGFibGU+XG4gICAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nJHt0aXRsZUNsYXNzfSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbic+JHtwYXJhbXMuZGF0YS5kZXNjcmlwdGlvbiB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdub3RlcyR7cGFyYW1zLmRhdGEuaXNPdmVyZHVlKCkgPyAnIHBhc3REdWUnIDogJyd9Jz5cbiAgICAgICAgICAgICAgICAgICR7cGFyYW1zLmRhdGEuZHVldGltZSA/ICc8c3BhbiBjbGFzcz1cInBlcmlvZFwiPicgKyBkdWV0aW1lICsgJzwvc3Bhbj4nIDogJyd9XG4gICAgICAgICAgICAgICAgICAke3BhcmFtcy5kYXRhLmlzZGVwdXR5ID8gJzxzcGFuPicgKyBwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guaXRlbS5ub3RlLmFic2VuY2UnKSArICc8L3NwYW4+JyA6ICcnfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPiR7c2hvcnREYXRlfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+JHtzaG9ydFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICAgIHRoaXMuaW5ib3hTZXJ2aWNlXG4gICAgICAuaW5ib3hJdGVtc0dyaWREYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBJbmJveEl0ZW1bXSkgPT4ge1xuXG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQodGhpcy5ncmlkRGF0YSk7XG5cbiAgICAgICAgY29uc3QgbGFzdEluYm94SXRlbUlEID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleUxhc3RJdGVtSUQpO1xuICAgICAgICBpZiAobGFzdEluYm94SXRlbUlEKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZ3JpZERhdGEuZmluZChpID0+IGkuaWQgPT09IGxhc3RJbmJveEl0ZW1JRCk7XG4gICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Rmlyc3QgPSBmYWxzZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5lb0dyaWQuc2VsZWN0Um93KGl0ZW0pLCA1MDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICA8IS0tIGxpc3QgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogaW5ib3hTZWxlY3Rpb25JZH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cblxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5pbmJveC5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5IHJlZnJlc2gtYnV0dG9uXCIgW25nQ2xhc3NdPVwie2luYm94Q2hhbmdlZDogaW5ib3hDaGFuZ2VkfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpOyByZWZyZXNoR3JpZCgpXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIGNsYXNzPVwib3ZlcmxheS1maWx0ZXJcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidwcmltYXJ5J1wiIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3QuZmlsdGVyJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXIgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZFN1YmplY3QsICRldmVudClcIlxuICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9GaWx0ZXIub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGVvLXRleHQtZmlsdGVyIFt0aXRsZV09XCInZW8uaW5ib3guZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFtmaWx0ZXJQYXJhbXNdPVwiZGVmYXVsdEZpbHRlclBhcmFtc1wiXG4gICAgICAgICAgICAgICAgW2lkXT1cIidpbmJveC50ZXh0J1wiIFttYXRjaEZpZWxkc109XCJbJ3RpdGxlJywnZGVzY3JpcHRpb24nLCdpZCddXCI+PC9lby10ZXh0LWZpbHRlcj5cbiAgICAgICAgICAgICAgPGVvLXNldC1maWx0ZXIgW29wZXJhdG9yXT1cIidBTkQnXCIgW2lkXT1cIidpbmJveC5zZXQnXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJpbmJveEZpbHRlckZpZWxkc1wiPjwvZW8tc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgPGVvLXNldC1maWx0ZXIgW29wZXJhdG9yXT1cIidPUidcIiBbaWRdPVwiJ2luYm94LnR5cGUnXCJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJ0eXBlRmlsdGVyRmllbGRzXCIgW3RpdGxlXT1cIidlby5pbmJveC5maWx0ZXIuc2VjdGlvbi50eXBlJyB8IHRyYW5zbGF0ZVwiPjwvZW8tc2V0LWZpbHRlcj5cbiAgICAgICAgICAgIDwvZW8tY3VzdG9tLWZpbHRlcj5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb1NvcnQgY2xhc3M9XCJvdmVybGF5LXNvcnRcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zb3J0LnN2ZydcIlxuICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiIFtpY29uQ2xhc3NdPVwiJ3ByaW1hcnknXCI+XG4gICAgICAgICAgICA8ZW8tY3VzdG9tLXNvcnQgI2NTb3J0IFtpZF09XCInaW5ib3guc29ydCdcIiAoY2hhbmdlKT1cImNTb3J0LnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWQgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIiBbc2VsZWN0Rmlyc3RdPVwic2VsZWN0Rmlyc3RcIiBbb3B0aW9uc109XCJ7ZmlsdGVyQWN0aXZlOiBvRmlsdGVyLmFjdGl2ZX1cIlxuICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudCk7b25Db3VudENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoZW9HcmlkRm9jdXNDaGFuZ2VkKT1cImVvTGlzdC5vbkZvY3VzQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX2luYm94LnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLmluYm94Lmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxlby1yZXNldC1maWx0ZXIgW2lzRmlsdGVyQWN0aXZlXT1cIm9GaWx0ZXIuYWN0aXZlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2VvLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8IS0tIGluYm94IGRldGFpbHMgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8taW5ib3gtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie2luOiBpbmJveFNlbGVjdGlvbklkLCBvdXQ6IGluYm94RG1zT2JqZWN0U2VsZWN0aW9uSWR9XCJcbiAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGVcIj5cbiAgICAgIDxlby10YWItcGx1Z2luIFt0eXBlXT1cIidpbmJveC1kZXRhaWxzLXRhYi5pbmJveCdcIj48L2VvLXRhYi1wbHVnaW4+XG4gICAgPC9lby1pbmJveC1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuICA8IS0tIG9iamVjdCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjQwXCI+XG4gICAgPGVvLW9iamVjdC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7aW46IGluYm94RG1zT2JqZWN0U2VsZWN0aW9uSWR9XCIgW2NhY2hlTGF5b3V0XT1cIidpbmJveC5zdGF0ZS5vYmplY3QtZGV0YWlscydcIj5cbiAgICAgIDxlby10YWItcGx1Z2luIFt0eXBlXT1cIidvYmplY3QtZGV0YWlscy10YWIuaW5ib3gnXCI+PC9lby10YWItcGx1Z2luPlxuICAgIDwvZW8tb2JqZWN0LWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuXG5cbjwhLS0gPGVvLXVuZG9jay1zcGxpdD5cbiAgPGVvLXNwbGl0IFtndXR0ZXJTaXplXT1cIjE2XCIgW3Zpc2libGVUcmFuc2l0aW9uXT1cInRydWVcIiBbY2FjaGVMYXlvdXRdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICAgIDxlby1zcGxpdC1hcmVhIFtzaXplXT1cIjMwXCIgW21pblNpemVQaXhlbF09XCIzMDBcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XG4gICAgICAgIDxlby1saXN0LWNvbnRhaW5lciAjZW9MaXN0IFthcHBseVNlbGVjdGlvbl09XCJ7b3V0OiBpbmJveFNlbGVjdGlvbklkfVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cblxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2luYm94LnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5pbmJveC5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5IHJlZnJlc2gtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2luYm94Q2hhbmdlZDogaW5ib3hDaGFuZ2VkfVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZWZyZXNoR3JpZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmxpc3QucmVmcmVzaCcgfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuXG4gICAgICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIGNsYXNzPVwib3ZlcmxheS1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5maWx0ZXInIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImNGaWx0ZXIudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkU3ViamVjdCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvRmlsdGVyLm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tdGV4dC1maWx0ZXIgW3RpdGxlXT1cIidlby5pbmJveC5maWx0ZXIudGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyUGFyYW1zXT1cImRlZmF1bHRGaWx0ZXJQYXJhbXNcIiBbaWRdPVwiJ2luYm94LnRleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0Y2hGaWVsZHNdPVwiWyd0aXRsZScsJ2Rlc2NyaXB0aW9uJywnaWQnXVwiIFtlbmFibGVTYXZlXT1cInRydWVcIj48L2VvLXRleHQtZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgPGVvLXNldC1maWx0ZXIgY2xhc3M9XCJ0eXBlLWZpbHRlcnNcIiBbb3BlcmF0b3JdPVwiJ09SJ1wiIFtpZF09XCInaW5ib3gudHlwZSdcIiBbZmlsdGVyUGFyYW1zXT1cImRlZmF1bHRGaWx0ZXJQYXJhbXNcIiBbb3B0aW9uc109XCJ0eXBlRmlsdGVyRmllbGRzXCI+PC9lby1zZXQtZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgPGVvLXNldC1maWx0ZXIgY2xhc3M9XCJpbmJveC1maWx0ZXJzXCIgW29wZXJhdG9yXT1cIidBTkQnXCIgW2lkXT1cIidpbmJveC5zZXQnXCIgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW29wdGlvbnNdPVwiaW5ib3hGaWx0ZXJGaWVsZHNcIj48L2VvLXNldC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgPC9lby1jdXN0b20tZmlsdGVyPlxuICAgICAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCJcbiAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5saXN0LnNvcnQnIHwgdHJhbnNsYXRlXCIgW2ljb25DbGFzc109XCIncHJpbWFyeSdcIj5cbiAgICAgICAgICAgICAgICA8ZW8tY3VzdG9tLXNvcnQgI2NTb3J0IFtpZF09XCInaW5ib3guc29ydCdcIiAoY2hhbmdlKT1cImNTb3J0LnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9Tb3J0Lm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCIgW3NvcnRGaWVsZHNdPVwic29ydEZpZWxkc1wiPjwvZW8tY3VzdG9tLXNvcnQ+XG4gICAgICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWJvZHlcIj5cbiAgICAgICAgICAgIDxlby1ncmlkICNlb0dyaWQgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIiBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCIgW3NlbGVjdEZpcnN0XT1cInNlbGVjdEZpcnN0XCJcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwie2ZpbHRlckFjdGl2ZTogb0ZpbHRlci5hY3RpdmV9XCJcbiAgICAgICAgICAgICAgKGVvR3JpZENvdW50Q2hhbmdlZCk9XCJlb0xpc3Qub25Db3VudENoYW5nZWQoJGV2ZW50KTtvbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZW8tdG90YWwtY291bnQgW2dyaWRDb3VudF09XCJlb0xpc3QuZ3JpZENvdW50XCIgW291dHNpZGVHcmlkXT1cImZhbHNlXCIgY2xhc3M9XCJmbGV4LXJvd1wiPjwvZW8tdG90YWwtY291bnQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX2luYm94LnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLmluYm94Lmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgICAgICA8ZW8tcmVzZXQtZmlsdGVyIFtpc0ZpbHRlckFjdGl2ZV09XCJvRmlsdGVyLmFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiPjwvZW8tcmVzZXQtZmlsdGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9lby1ncmlkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2VvLXNwbGl0LWFyZWE+XG4gICAgPGVvLXNwbGl0LWFyZWEgW3NpemVdPVwiMzBcIiBbbWluU2l6ZVBpeGVsXT1cIjQwMFwiPlxuICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj5cbiAgICAgICAgPGVvLWluYm94LWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogaW5ib3hTZWxlY3Rpb25JZCwgb3V0OiBpbmJveERtc09iamVjdFNlbGVjdGlvbklkfVwiXG4gICAgICAgICAgW2VtcHR5U3RhdGVdPVwiZW1wdHlTdGF0ZVwiPlxuICAgICAgICAgIDxlby10YWItcGx1Z2luIFt0eXBlXT1cIidpbmJveC1kZXRhaWxzLXRhYi5pbmJveCdcIj48L2VvLXRhYi1wbHVnaW4+XG4gICAgICAgIDwvZW8taW5ib3gtZGV0YWlscz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9lby1zcGxpdC1hcmVhPlxuICAgIDxlby1zcGxpdC1hcmVhIFtzaXplXT1cIjQwXCIgW21pblNpemVQaXhlbF09XCI0MDBcIiBbY2FjaGVdPVwiZmFsc2VcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XG5cbiAgICAgICAgPGVvLW9iamVjdC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7aW46IGluYm94RG1zT2JqZWN0U2VsZWN0aW9uSWR9XCJcbiAgICAgICAgICBbY2FjaGVMYXlvdXRdPVwiJ2luYm94LnN0YXRlLm9iamVjdC1kZXRhaWxzJ1wiPlxuICAgICAgICAgIDxlby10YWItcGx1Z2luIFt0eXBlXT1cIidvYmplY3QtZGV0YWlscy10YWIuaW5ib3gnXCI+PC9lby10YWItcGx1Z2luPlxuICAgICAgICA8L2VvLW9iamVjdC1kZXRhaWxzPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2VvLXNwbGl0LWFyZWE+XG4gIDwvZW8tc3BsaXQ+XG48L2VvLXVuZG9jay1zcGxpdD4gLS0+XG4iXX0=
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3gtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUt0RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUU1RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQU9sRyxPQUFPLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRaEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQW1CM0QsWUFBbUIsU0FBMkIsRUFDckMsU0FBMkIsRUFDMUIsWUFBOEIsRUFDL0IsWUFBMEIsRUFDekIsY0FBcUMsRUFDckMsS0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsS0FBcUIsRUFDckIsY0FBbUM7UUFDM0MsS0FBSyxFQUFFLENBQUM7UUFUUyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGlCQUFZLEdBQVos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QXFCTCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFdmVudFNlcnZpY2UsIEluYm94U3RhdGUsIExvY2FsU3RvcmFnZVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7SW5ib3hJdGVtLCBJbmJveFNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2N1c3RvbS1zb3J0L2N1c3RvbS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvdXRpbC91bnN1YnNjcmliZS91bnN1YnNjcmliZS5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7SVNldEZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9maWx0ZXIvc2V0RmlsdGVycy9zZXQtZmlsdGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtJbmJveFR5cGVzLCBJbmJveFR5cGVzRmlsdGVyfSBmcm9tICcuL2luYm94LnR5cGVzLmVudW0nO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1pbmJveC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmJveC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luYm94LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5ib3hTdGF0ZUNvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50IHtcblxuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHNvcnRGaWVsZHM6IENvbERlZltdO1xuICBpbmJveEZpbHRlckZpZWxkczogSVNldEZpbHRlcltdID0gW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXSA9IFtdO1xuICBpbmJveFNlbGVjdGlvbklkID0gJ2luYm94JztcbiAgaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCA9ICdpbmJveF9kbXMnO1xuICBpbmJveFNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZTtcbiAgc2VsZWN0Rmlyc3QgPSB0cnVlO1xuICBpZE1hdGNoID0gdHJ1ZTtcbiAgZ3JpZERhdGE7XG4gIGRlZmF1bHRGaWx0ZXJQYXJhbXM6IGFueSA9IHt9O1xuICBlbXB0eVN0YXRlOiBFbXB0eVN0YXRlID0ge2ljb246ICdpY19uby1maWxlLnN2ZycsIHRleHQ6ICcnLCBjbGFzc05hbWU6ICcnfTtcbiAgaW5ib3hDaGFuZ2VkID0gZmFsc2U7XG4gIHN0b3JhZ2VLZXlMYXN0SXRlbUlEID0gJ2VvLmluYm94Lmxhc3RJdGVtSUQnO1xuXG4gIEBWaWV3Q2hpbGQoJ2VvR3JpZCcpIGVvR3JpZDogR3JpZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHVibGljIGluYm94U2VydmljZTogSW5ib3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5saXN0LnRpdGxlJykpO1xuICAgIC8vc2Vjb25kYXJ5IHNlbGVjdGlvbiBpbnN0YW5jZSBmb3IgaW5ib3ggaXRlbXNcbiAgICB0aGlzLmluYm94U2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hTZWxlY3Rpb25JZCk7XG4gICAgdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCk7XG5cbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcyA9IHtjb250ZXh0OiB7ZGVmYXVsdFZhbHVlOiBwYXJhbXMuaWR9fTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5pbmJveFNlcnZpY2UuaW5ib3hTdGF0ZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IEluYm94U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZW9HcmlkKSB7XG4gICAgICAgICAgLy8gdG9kbzogdGVtcG9yYXJ5IGZpeCB1bnRpbCBzdGF0dXMgc2VydmljZSB1cGRhdGVcbiAgICAgICAgICAvLyB0aGlzLmluYm94Q2hhbmdlZCA9IHRoaXMuZW9HcmlkLmNvbnRleHRDb3VudCAhPT0gc3RhdGUudG90YWxtZXNzYWdlcztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvbkNvdW50Q2hhbmdlZChldnQ6IGFueSkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRGaWx0ZXJQYXJhbXMuY29udGV4dCAmJiB0aGlzLmRlZmF1bHRGaWx0ZXJQYXJhbXMuY29udGV4dC5kZWZhdWx0VmFsdWUpIHtcbiAgICAgIGlmIChldnQucm93Q291bnQgPT09IDApIHtcbiAgICAgICAgdGhpcy5pZE1hdGNoID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcy5jb250ZXh0LmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLmluYm94U2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaW5ib3hTZWxlY3Rpb24uZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmVvR3JpZC5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcy5jb250ZXh0LmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZCgpIHtcbiAgICB0aGlzLmluYm94Q2hhbmdlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5ib3hTZWxlY3Rpb24uZGlzYWJsZShmYWxzZSk7XG4gICAgdGhpcy5pbmJveFNlcnZpY2UuZ2V0SXRlbXMoKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmluYm94U2VydmljZS5yZWZyZXNoSW5ib3hTdGF0ZSgpO1xuICB9XG5cbiAgaXRlbUZpbHRlckZpZWxkcyhub2RlLCBpdGVtKSB7XG4gICAgY29uc3QgdmFsdWUgPSBub2RlLmRhdGFbSW5ib3hUeXBlc0ZpbHRlcltpdGVtXV07XG4gICAgY29uc3QgYWNjZXB0ZWRBbmRVbmFjY2VwdGVkQ29tYmluZWQgPSB0aGlzLmluYm94RmlsdGVyRmllbGRzLmZpbmQoZmlsdGVyID0+IGZpbHRlci5pZCA9PT0gJ2FjY2VwdGVkVGFza3MnKS52YWx1ZVxuICAgICAgJiYgdGhpcy5pbmJveEZpbHRlckZpZWxkcy5maW5kKGZpbHRlciA9PiBmaWx0ZXIuaWQgPT09ICd1bmFjY2VwdGVkVGFza3MnKS52YWx1ZTtcbiAgICBzd2l0Y2ggKEluYm94VHlwZXNGaWx0ZXJbaXRlbV0pIHtcbiAgICAgIGNhc2UgSW5ib3hUeXBlc0ZpbHRlci5vdmVyZHVlOlxuICAgICAgICByZXR1cm4gbm9kZS5kYXRhLmlzT3ZlcmR1ZSgpO1xuICAgICAgY2FzZSBJbmJveFR5cGVzRmlsdGVyLmFic2VudDpcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgICBjYXNlIEluYm94VHlwZXNGaWx0ZXIuYWNjZXB0ZWRUYXNrczpcbiAgICAgICAgcmV0dXJuIGFjY2VwdGVkQW5kVW5hY2NlcHRlZENvbWJpbmVkID8gbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nIDogbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nICYmICEhbm9kZS5kYXRhLmFjY2VwdGVkO1xuICAgICAgY2FzZSBJbmJveFR5cGVzRmlsdGVyLnVuYWNjZXB0ZWRUYXNrczpcbiAgICAgICAgcmV0dXJuIGFjY2VwdGVkQW5kVW5hY2NlcHRlZENvbWJpbmVkID8gbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nIDogbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nICYmICFub2RlLmRhdGEuYWNjZXB0ZWQ7XG4gICAgfVxuICB9XG5cbiAgZmllbGRGaWx0ZXJzKCkge1xuICAgIHRoaXMudHlwZUZpbHRlckZpZWxkcyA9IE9iamVjdC5rZXlzKEluYm94VHlwZXMpLm1hcChpdGVtID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgZW8uaW5ib3guJHtpdGVtfWApLFxuICAgICAgZmlsdGVyOiAobm9kZSkgPT4gbm9kZS5kYXRhLnR5cGUgPT09IGl0ZW0sXG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIGlkOiBpdGVtXG4gICAgfSkpO1xuXG4gICAgdGhpcy5pbmJveEZpbHRlckZpZWxkcyA9IE9iamVjdC5rZXlzKEluYm94VHlwZXNGaWx0ZXIpLm1hcChpdGVtID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgZW8uaW5ib3guZmlsdGVyLiR7aXRlbX1gKSxcbiAgICAgIGZpbHRlcjogKG5vZGUpID0+IHRoaXMuaXRlbUZpbHRlckZpZWxkcyhub2RlLCBpdGVtKSxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgIGlkOiBpdGVtXG4gICAgfSkpO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuZmllbGRGaWx0ZXJzKCk7XG4gIH1cblxuICB1cGRhdGVHcmlkKGRhdGE6IEluYm94SXRlbVtdKTogdm9pZCB7XG4gICAgdGhpcy5lbXB0eVN0YXRlID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKGRhdGEgPyBkYXRhLmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuXG4gICAgaWYgKHRoaXMuZW9HcmlkICYmIHRoaXMuZW9HcmlkLmlzUmVhZHkpIHtcbiAgICAgIHJldHVybiB0aGlzLmVvR3JpZC51cGRhdGVSb3dEYXRhKGRhdGEpO1xuICAgIH1cblxuICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG5cbiAgICBsZXQgY29sRGVmczogQ29sRGVmW10gPSBbe1xuICAgICAgaGVhZGVyTmFtZTogJycsXG4gICAgICBmaWVsZDogJ19fY3VzdG9tJyxcbiAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICBmaWx0ZXI6IGZhbHNlXG4gICAgICAvLyBjZWxsUmVuZGVyZXJGcmFtZXdvcms6IEluYm94UmVuZGVyZXJDb21wb25lbnRcbiAgICB9XTtcblxuICAgIHRoaXMuc29ydEZpZWxkcyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdyZWNlaXZlZCcsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQuZGF0ZScpLCBzb3J0OiAnJyxcbiAgICAgICAgdmFsdWVHZXR0ZXI6IChwKSA9PiAocC5kYXRhW3AuY29sRGVmLmZpZWxkXSB8fCAnJykubWF0Y2goL1xcK1xcZFxcZDpcXGRcXGQvKSA/IG5ldyBEYXRlKHAuZGF0YVtwLmNvbERlZi5maWVsZF0pLnRvSVNPU3RyaW5nKCkgOiBwLmRhdGFbcC5jb2xEZWYuZmllbGRdXG4gICAgICB9LFxuICAgICAge2ZpZWxkOiAndGl0bGUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LnRpdGxlJyksIHNvcnQ6ICcnfSxcbiAgICAgIHtmaWVsZDogJ2Rlc2NyaXB0aW9uJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kZXNjcmlwdGlvbicpLCBzb3J0OiAnJ31cbiAgICBdO1xuXG4gICAgbGV0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IHtjb3VudDogZGF0YS5sZW5ndGh9LFxuICAgICAgcm93RGF0YTogZGF0YSxcbiAgICAgIGNvbHVtbkRlZnM6IGNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJ1xuICAgIH07XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG5cbiAgICBsZXQgbGFiZWwgPSAnJztcbiAgICBpZiAoT2JqZWN0LmtleXMoSW5ib3hUeXBlcykuaW5jbHVkZXMocGFyYW1zLmRhdGEudHlwZSkpIHtcbiAgICAgIGxhYmVsID0gcGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoYGVvLmluYm94LiR7cGFyYW1zLmRhdGEudHlwZX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSBgYXNzZXRzL19kZWZhdWx0L3N2Zy9pY18ke0luYm94VHlwZXNbcGFyYW1zLmRhdGEudHlwZV19LnN2Z2A7XG5cbiAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignaWNvbicsIHBhcmFtcywge3ZhbHVlOiB7dXJsLCBsYWJlbH19KTtcbiAgICBsZXQgc2hvcnREYXRlID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywge3ZhbHVlOiBwYXJhbXMuZGF0YS5yZWNlaXZlZCwgcGF0dGVybjogJ2VvU2hvcnREYXRlJ30pO1xuICAgIGxldCBzaG9ydFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLnJlY2VpdmVkLCBwYXR0ZXJuOiAnZW9TaG9ydFRpbWUnfSk7XG4gICAgbGV0IGR1ZXRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLmR1ZXRpbWV9KTtcbiAgICBjb25zdCB0aXRsZUNsYXNzID0gcGFyYW1zLmRhdGEuYWNjZXB0ZWQgPyAndGl0bGUnIDogJ3RpdGxlLWJvbGQnO1xuXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtJHtwYXJhbXMuZGF0YS5mb2xkZXIgPyAnIGZvbGRlcicgOiAnJ31cIiB1bnNlbGVjdGFibGU+XG4gICAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nJHt0aXRsZUNsYXNzfSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbic+JHtwYXJhbXMuZGF0YS5kZXNjcmlwdGlvbiB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdub3RlcyR7cGFyYW1zLmRhdGEuaXNPdmVyZHVlKCkgPyAnIHBhc3REdWUnIDogJyd9Jz5cbiAgICAgICAgICAgICAgICAgICR7cGFyYW1zLmRhdGEuZHVldGltZSA/ICc8c3BhbiBjbGFzcz1cInBlcmlvZFwiPicgKyBkdWV0aW1lICsgJzwvc3Bhbj4nIDogJyd9XG4gICAgICAgICAgICAgICAgICAke3BhcmFtcy5kYXRhLmlzZGVwdXR5ID8gJzxzcGFuPicgKyBwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guaXRlbS5ub3RlLmFic2VuY2UnKSArICc8L3NwYW4+JyA6ICcnfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPiR7c2hvcnREYXRlfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+JHtzaG9ydFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICAgIHRoaXMuaW5ib3hTZXJ2aWNlXG4gICAgICAuaW5ib3hJdGVtc0dyaWREYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBJbmJveEl0ZW1bXSkgPT4ge1xuXG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQodGhpcy5ncmlkRGF0YSk7XG5cbiAgICAgICAgY29uc3QgbGFzdEluYm94SXRlbUlEID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleUxhc3RJdGVtSUQpO1xuICAgICAgICBpZiAobGFzdEluYm94SXRlbUlEKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZ3JpZERhdGEuZmluZChpID0+IGkuaWQgPT09IGxhc3RJbmJveEl0ZW1JRCk7XG4gICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Rmlyc3QgPSBmYWxzZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5lb0dyaWQuc2VsZWN0Um93KGl0ZW0pLCA1MDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICA8IS0tIGxpc3QgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogaW5ib3hTZWxlY3Rpb25JZH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cblxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5pbmJveC5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5IHJlZnJlc2gtYnV0dG9uXCIgW25nQ2xhc3NdPVwie2luYm94Q2hhbmdlZDogaW5ib3hDaGFuZ2VkfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpOyByZWZyZXNoR3JpZCgpXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIGNsYXNzPVwib3ZlcmxheS1maWx0ZXJcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidwcmltYXJ5J1wiIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3QuZmlsdGVyJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXIgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZFN1YmplY3QsICRldmVudClcIlxuICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9GaWx0ZXIub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGVvLXRleHQtZmlsdGVyIFt0aXRsZV09XCInZW8uaW5ib3guZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFtmaWx0ZXJQYXJhbXNdPVwiZGVmYXVsdEZpbHRlclBhcmFtc1wiXG4gICAgICAgICAgICAgICAgW2lkXT1cIidpbmJveC50ZXh0J1wiIFttYXRjaEZpZWxkc109XCJbJ3RpdGxlJywnZGVzY3JpcHRpb24nLCdpZCddXCIgW2VuYWJsZVNhdmVdPVwidHJ1ZVwiPjwvZW8tdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIGNsYXNzPVwidHlwZS1maWx0ZXJzXCIgW29wZXJhdG9yXT1cIidPUidcIiBbaWRdPVwiJ2luYm94LnR5cGUnXCIgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW29wdGlvbnNdPVwidHlwZUZpbHRlckZpZWxkc1wiPjwvZW8tc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgPGVvLXNldC1maWx0ZXIgY2xhc3M9XCJpbmJveC1maWx0ZXJzXCIgW29wZXJhdG9yXT1cIidBTkQnXCIgW2lkXT1cIidpbmJveC5zZXQnXCIgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW29wdGlvbnNdPVwiaW5ib3hGaWx0ZXJGaWVsZHNcIj48L2VvLXNldC1maWx0ZXI+XG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIiBbaWNvbkNsYXNzXT1cIidwcmltYXJ5J1wiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1zb3J0ICNjU29ydCBbaWRdPVwiJ2luYm94LnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9Tb3J0Lm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCIgW3NvcnRGaWVsZHNdPVwic29ydEZpZWxkc1wiPjwvZW8tY3VzdG9tLXNvcnQ+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgICA8ZW8tZ3JpZCAjZW9HcmlkICpuZ0lmPVwiZ3JpZE9wdGlvbnM/LnJvd0RhdGFcIiBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIiBbZnVsbFdpZHRoXT1cInRydWVcIiBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCIgW3NlbGVjdEZpcnN0XT1cInNlbGVjdEZpcnN0XCIgW29wdGlvbnNdPVwie2ZpbHRlckFjdGl2ZTogb0ZpbHRlci5hY3RpdmV9XCJcbiAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpO29uQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19pbmJveC5zdmcnLCB0ZXh0OiBvRmlsdGVyLmFjdGl2ZSA/ICdlby5uby5maWx0ZXIucmVzdWx0JyA6ICdlby5pbmJveC5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICA8ZW8tcmVzZXQtZmlsdGVyIFtpc0ZpbHRlckFjdGl2ZV09XCJvRmlsdGVyLmFjdGl2ZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjRmlsdGVyLnJlc2V0RmlsdGVyKCk7Y1NvcnQucmVzZXQoKTtyZWZyZXNoR3JpZCgpXCI+PC9lby1yZXNldC1maWx0ZXI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPCEtLSBpbmJveCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjMwXCI+XG4gICAgPGVvLWluYm94LWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogaW5ib3hTZWxlY3Rpb25JZCwgb3V0OiBpbmJveERtc09iamVjdFNlbGVjdGlvbklkfVwiXG4gICAgICBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlXCI+XG4gICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCInaW5ib3gtZGV0YWlscy10YWIuaW5ib3gnXCI+PC9lby10YWItcGx1Z2luPlxuICAgIDwvZW8taW5ib3gtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPCEtLSBvYmplY3QgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI0MFwiPlxuICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie2luOiBpbmJveERtc09iamVjdFNlbGVjdGlvbklkfVwiIFtjYWNoZUxheW91dF09XCInaW5ib3guc3RhdGUub2JqZWN0LWRldGFpbHMnXCI+XG4gICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCInb2JqZWN0LWRldGFpbHMtdGFiLmluYm94J1wiPjwvZW8tdGFiLXBsdWdpbj5cbiAgICA8L2VvLW9iamVjdC1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtc3BsaXQtdmlldz5cblxuXG48IS0tIDxlby11bmRvY2stc3BsaXQ+XG4gIDxlby1zcGxpdCBbZ3V0dGVyU2l6ZV09XCIxNlwiIFt2aXNpYmxlVHJhbnNpdGlvbl09XCJ0cnVlXCIgW2NhY2hlTGF5b3V0XT1cIidpbmJveC5zdGF0ZSdcIj5cbiAgICA8ZW8tc3BsaXQtYXJlYSBbc2l6ZV09XCIzMFwiIFttaW5TaXplUGl4ZWxdPVwiMzAwXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuICAgICAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogaW5ib3hTZWxlY3Rpb25JZH1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19pbmJveC5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8uaW5ib3gubGlzdC50aXRsZTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeSByZWZyZXNoLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntpbmJveENoYW5nZWQ6IGluYm94Q2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaEdyaWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmlsdGVyLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3QuZmlsdGVyJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxlby1jdXN0b20tZmlsdGVyICNjRmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZFN1YmplY3QsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLXRleHQtZmlsdGVyIFt0aXRsZV09XCInZW8uaW5ib3guZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW2lkXT1cIidpbmJveC50ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdGNoRmllbGRzXT1cIlsndGl0bGUnLCdkZXNjcmlwdGlvbicsJ2lkJ11cIiBbZW5hYmxlU2F2ZV09XCJ0cnVlXCI+PC9lby10ZXh0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIGNsYXNzPVwidHlwZS1maWx0ZXJzXCIgW29wZXJhdG9yXT1cIidPUidcIiBbaWRdPVwiJ2luYm94LnR5cGUnXCIgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW29wdGlvbnNdPVwidHlwZUZpbHRlckZpZWxkc1wiPjwvZW8tc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIGNsYXNzPVwiaW5ib3gtZmlsdGVyc1wiIFtvcGVyYXRvcl09XCInQU5EJ1wiIFtpZF09XCInaW5ib3guc2V0J1wiIFtmaWx0ZXJQYXJhbXNdPVwiZGVmYXVsdEZpbHRlclBhcmFtc1wiIFtvcHRpb25zXT1cImluYm94RmlsdGVyRmllbGRzXCI+PC9lby1zZXQtZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvZW8tY3VzdG9tLWZpbHRlcj5cbiAgICAgICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydCBjbGFzcz1cIm92ZXJsYXktc29ydFwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NvcnQuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiIFtpY29uQ2xhc3NdPVwiJ3ByaW1hcnknXCI+XG4gICAgICAgICAgICAgICAgPGVvLWN1c3RvbS1zb3J0ICNjU29ydCBbaWRdPVwiJ2luYm94LnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvU29ydC5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiIFtzb3J0RmllbGRzXT1cInNvcnRGaWVsZHNcIj48L2VvLWN1c3RvbS1zb3J0PlxuICAgICAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgICAgICA8ZW8tZ3JpZCAjZW9HcmlkICpuZ0lmPVwiZ3JpZE9wdGlvbnM/LnJvd0RhdGFcIiBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIiBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCIgW3Nob3dGb290ZXJdPVwidHJ1ZVwiIFtzZWxlY3RGaXJzdF09XCJzZWxlY3RGaXJzdFwiXG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cIntmaWx0ZXJBY3RpdmU6IG9GaWx0ZXIuYWN0aXZlfVwiXG4gICAgICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudCk7b25Db3VudENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChlb0dyaWRGb2N1c0NoYW5nZWQpPVwiZW9MaXN0Lm9uRm9jdXNDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19pbmJveC5zdmcnLCB0ZXh0OiBvRmlsdGVyLmFjdGl2ZSA/ICdlby5uby5maWx0ZXIucmVzdWx0JyA6ICdlby5pbmJveC5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9lby1zcGxpdC1hcmVhPlxuICAgIDxlby1zcGxpdC1hcmVhIFtzaXplXT1cIjMwXCIgW21pblNpemVQaXhlbF09XCI0MDBcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XG4gICAgICAgIDxlby1pbmJveC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7aW46IGluYm94U2VsZWN0aW9uSWQsIG91dDogaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZH1cIlxuICAgICAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGVcIj5cbiAgICAgICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCInaW5ib3gtZGV0YWlscy10YWIuaW5ib3gnXCI+PC9lby10YWItcGx1Z2luPlxuICAgICAgICA8L2VvLWluYm94LWRldGFpbHM+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZW8tc3BsaXQtYXJlYT5cbiAgICA8ZW8tc3BsaXQtYXJlYSBbc2l6ZV09XCI0MFwiIFttaW5TaXplUGl4ZWxdPVwiNDAwXCIgW2NhY2hlXT1cImZhbHNlXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuXG4gICAgICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie2luOiBpbmJveERtc09iamVjdFNlbGVjdGlvbklkfVwiXG4gICAgICAgICAgW2NhY2hlTGF5b3V0XT1cIidpbmJveC5zdGF0ZS5vYmplY3QtZGV0YWlscydcIj5cbiAgICAgICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCInb2JqZWN0LWRldGFpbHMtdGFiLmluYm94J1wiPjwvZW8tdGFiLXBsdWdpbj5cbiAgICAgICAgPC9lby1vYmplY3QtZGV0YWlscz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9lby1zcGxpdC1hcmVhPlxuICA8L2VvLXNwbGl0PlxuPC9lby11bmRvY2stc3BsaXQ+IC0tPlxuIl19
|
|
@@ -81,7 +81,7 @@ export class LoginComponent {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: LoginComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.Config }, { token: i3.PageTitleService }, { token: i2.TranslateService }, { token: i2.EnvironmentService }, { token: i4.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
-
LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: LoginComponent, selector: "eo-login", ngImport: i0, template: "<div class=\"eo-login-container\" [style.background-image]=\"backgroundImage\">\n <div class=\"eo-login\">\n\n <div class=\"head\" *ngIf=\"!cloudEnvironment\">\n <eo-icon [iconSrc]=\"appLogo\"></eo-icon>\n </div>\n\n <div class=\"invalid\" *ngIf=\"invalid\" translate>eo.state.login.msg.invalid</div>\n\n <form (ngSubmit)=\"login()\" #loginForm=\"ngForm\">\n\n <fieldset [ngClass]=\"{loading: loading}\">\n\n <div class=\"form-item\" *ngIf=\"native\" [ngClass]=\"{empty: !profiles || profiles.length === 0}\">\n <yvc-dropdown [options]=\"profiles\" placeholder=\"host\" \n [required]=\"true\" \n [(ngModel)]=\"form.host\" name=\"profile\">\n <ng-template let-profile pTemplate=\"item\">\n <div class=\"option-row\">\n <div>{{profile.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"removeProfile(profile.value)\"></eo-icon>\n </div>\n </ng-template>\n </yvc-dropdown>\n <label translate>eo.state.login.host</label>\n </div>\n\n <!-- form login -->\n <ng-container *ngIf=\"!cloudEnvironment; else tplCloudLogin\">\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"username\" placeholder=\"{{'eo.state.login.username'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.username\" name=\"username\" required tabindex=\"1\">\n <label for=\"username\" translate>eo.state.login.username</label>\n </div>\n <div class=\"form-item\">\n <input type=\"password\" class=\"form-control\" id=\"password\"\n placeholder=\"{{'eo.state.login.password'|translate}}\"\n [disabled]=\"loading\"\n [(ngModel)]=\"form.password\" name=\"password\" required tabindex=\"2\">\n <label for=\"password\" translate>eo.state.login.password</label>\n </div>\n </ng-container>\n\n <!-- cloud login -->\n <ng-template #tplCloudLogin>\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"tenant\" placeholder=\"{{'eo.state.login.tenant'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.tenant\" name=\"tenant\" required tabindex=\"1\">\n <label for=\"tenant\" translate>eo.state.login.tenant</label>\n </div>\n </ng-template>\n\n </fieldset>\n <div class=\"actions\">\n <button type=\"submit\" class=\"primary\" [disabled]=\"!loginForm.form.valid || loading\"\n [ngClass]=\"{spinner: loading}\"\n translate tabindex=\"3\">eo.state.login.submit</button>\n </div>\n </form>\n\n </div>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;align-items:stretch;justify-content:center}.eo-login-container{width:100%;display:flex;justify-content:center;background-size:cover;background-position:center center}.eo-login-container .eo-login{width:400px;display:flex;flex-flow:column;align-items:stretch;justify-content:center}@media (max-width: 432px){.eo-login-container .eo-login{width:100%;box-sizing:border-box;padding:0 var(--app-pane-padding)}}.eo-login-container .eo-login .head{padding-bottom:calc(var(--app-pane-padding) * 3);display:flex;justify-content:flex-end}.eo-login-container .eo-login .head eo-icon{width:60%;height:auto;margin:0;min-width:120px;color:var(--text-color-hint)}.eo-login-container .eo-login .invalid{color:var(--color-error);margin-bottom:var(--app-pane-padding)}.eo-login-container .eo-login fieldset{background:var(--color-white);border:0;padding:0;border-radius:2px;box-shadow:0 2px 8px 0 rgba(var(--color-black-rgb),.26)}.eo-login-container .eo-login fieldset .form-item{display:flex;flex-flow:row nowrap;align-items:center;border-bottom:1px solid var(--list-item-border-color)}.eo-login-container .eo-login fieldset .form-item>*{flex:1 1 auto}.eo-login-container .eo-login fieldset .form-item label{flex:0 0 auto;color:var(--text-color-caption);padding:0 calc(var(--app-pane-padding) / 2)}.eo-login-container .eo-login fieldset input{width:100%;background:transparent;box-sizing:border-box;margin:0;padding:calc(var(--app-pane-padding) * .75) calc(var(--app-pane-padding) / 2);border:0}.eo-login-container .eo-login fieldset input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset}.eo-login-container .eo-login fieldset input:last-child{border-bottom:0}.eo-login-container .eo-login fieldset.loading,.eo-login-container .eo-login fieldset.empty .ui-dropdown-trigger{opacity:.5}.eo-login-container .eo-login .actions{display:flex;flex-flow:row nowrap;justify-content:flex-end}.eo-login-container .eo-login .actions button{margin-top:var(--app-pane-padding)}.eo-login-container .eo-login .actions button[disabled]{opacity:.9}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { 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.Dropdown, selector: "yvc-dropdown", inputs: ["
|
|
84
|
+
LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: LoginComponent, selector: "eo-login", ngImport: i0, template: "<div class=\"eo-login-container\" [style.background-image]=\"backgroundImage\">\n <div class=\"eo-login\">\n\n <div class=\"head\" *ngIf=\"!cloudEnvironment\">\n <eo-icon [iconSrc]=\"appLogo\"></eo-icon>\n </div>\n\n <div class=\"invalid\" *ngIf=\"invalid\" translate>eo.state.login.msg.invalid</div>\n\n <form (ngSubmit)=\"login()\" #loginForm=\"ngForm\">\n\n <fieldset [ngClass]=\"{loading: loading}\">\n\n <div class=\"form-item\" *ngIf=\"native\" [ngClass]=\"{empty: !profiles || profiles.length === 0}\">\n <yvc-dropdown [options]=\"profiles\" placeholder=\"host\" \n [required]=\"true\" \n [(ngModel)]=\"form.host\" name=\"profile\">\n <ng-template let-profile pTemplate=\"item\">\n <div class=\"option-row\">\n <div>{{profile.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"removeProfile(profile.value)\"></eo-icon>\n </div>\n </ng-template>\n </yvc-dropdown>\n <label translate>eo.state.login.host</label>\n </div>\n\n <!-- form login -->\n <ng-container *ngIf=\"!cloudEnvironment; else tplCloudLogin\">\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"username\" placeholder=\"{{'eo.state.login.username'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.username\" name=\"username\" required tabindex=\"1\">\n <label for=\"username\" translate>eo.state.login.username</label>\n </div>\n <div class=\"form-item\">\n <input type=\"password\" class=\"form-control\" id=\"password\"\n placeholder=\"{{'eo.state.login.password'|translate}}\"\n [disabled]=\"loading\"\n [(ngModel)]=\"form.password\" name=\"password\" required tabindex=\"2\">\n <label for=\"password\" translate>eo.state.login.password</label>\n </div>\n </ng-container>\n\n <!-- cloud login -->\n <ng-template #tplCloudLogin>\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"tenant\" placeholder=\"{{'eo.state.login.tenant'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.tenant\" name=\"tenant\" required tabindex=\"1\">\n <label for=\"tenant\" translate>eo.state.login.tenant</label>\n </div>\n </ng-template>\n\n </fieldset>\n <div class=\"actions\">\n <button type=\"submit\" class=\"primary\" [disabled]=\"!loginForm.form.valid || loading\"\n [ngClass]=\"{spinner: loading}\"\n translate tabindex=\"3\">eo.state.login.submit</button>\n </div>\n </form>\n\n </div>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;align-items:stretch;justify-content:center}.eo-login-container{width:100%;display:flex;justify-content:center;background-size:cover;background-position:center center}.eo-login-container .eo-login{width:400px;display:flex;flex-flow:column;align-items:stretch;justify-content:center}@media (max-width: 432px){.eo-login-container .eo-login{width:100%;box-sizing:border-box;padding:0 var(--app-pane-padding)}}.eo-login-container .eo-login .head{padding-bottom:calc(var(--app-pane-padding) * 3);display:flex;justify-content:flex-end}.eo-login-container .eo-login .head eo-icon{width:60%;height:auto;margin:0;min-width:120px;color:var(--text-color-hint)}.eo-login-container .eo-login .invalid{color:var(--color-error);margin-bottom:var(--app-pane-padding)}.eo-login-container .eo-login fieldset{background:var(--color-white);border:0;padding:0;border-radius:2px;box-shadow:0 2px 8px 0 rgba(var(--color-black-rgb),.26)}.eo-login-container .eo-login fieldset .form-item{display:flex;flex-flow:row nowrap;align-items:center;border-bottom:1px solid var(--list-item-border-color)}.eo-login-container .eo-login fieldset .form-item>*{flex:1 1 auto}.eo-login-container .eo-login fieldset .form-item label{flex:0 0 auto;color:var(--text-color-caption);padding:0 calc(var(--app-pane-padding) / 2)}.eo-login-container .eo-login fieldset input{width:100%;background:transparent;box-sizing:border-box;margin:0;padding:calc(var(--app-pane-padding) * .75) calc(var(--app-pane-padding) / 2);border:0}.eo-login-container .eo-login fieldset input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset}.eo-login-container .eo-login fieldset input:last-child{border-bottom:0}.eo-login-container .eo-login fieldset.loading,.eo-login-container .eo-login fieldset.empty .ui-dropdown-trigger{opacity:.5}.eo-login-container .eo-login .actions{display:flex;flex-flow:row nowrap;justify-content:flex-end}.eo-login-container .eo-login .actions button{margin-top:var(--app-pane-padding)}.eo-login-container .eo-login .actions button[disabled]{opacity:.9}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { 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.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
85
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: LoginComponent, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
87
|
args: [{ selector: 'eo-login', template: "<div class=\"eo-login-container\" [style.background-image]=\"backgroundImage\">\n <div class=\"eo-login\">\n\n <div class=\"head\" *ngIf=\"!cloudEnvironment\">\n <eo-icon [iconSrc]=\"appLogo\"></eo-icon>\n </div>\n\n <div class=\"invalid\" *ngIf=\"invalid\" translate>eo.state.login.msg.invalid</div>\n\n <form (ngSubmit)=\"login()\" #loginForm=\"ngForm\">\n\n <fieldset [ngClass]=\"{loading: loading}\">\n\n <div class=\"form-item\" *ngIf=\"native\" [ngClass]=\"{empty: !profiles || profiles.length === 0}\">\n <yvc-dropdown [options]=\"profiles\" placeholder=\"host\" \n [required]=\"true\" \n [(ngModel)]=\"form.host\" name=\"profile\">\n <ng-template let-profile pTemplate=\"item\">\n <div class=\"option-row\">\n <div>{{profile.label}}</div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"\n (click)=\"removeProfile(profile.value)\"></eo-icon>\n </div>\n </ng-template>\n </yvc-dropdown>\n <label translate>eo.state.login.host</label>\n </div>\n\n <!-- form login -->\n <ng-container *ngIf=\"!cloudEnvironment; else tplCloudLogin\">\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"username\" placeholder=\"{{'eo.state.login.username'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.username\" name=\"username\" required tabindex=\"1\">\n <label for=\"username\" translate>eo.state.login.username</label>\n </div>\n <div class=\"form-item\">\n <input type=\"password\" class=\"form-control\" id=\"password\"\n placeholder=\"{{'eo.state.login.password'|translate}}\"\n [disabled]=\"loading\"\n [(ngModel)]=\"form.password\" name=\"password\" required tabindex=\"2\">\n <label for=\"password\" translate>eo.state.login.password</label>\n </div>\n </ng-container>\n\n <!-- cloud login -->\n <ng-template #tplCloudLogin>\n <div class=\"form-item\">\n <input type=\"text\" class=\"form-control\" id=\"tenant\" placeholder=\"{{'eo.state.login.tenant'|translate}}\"\n [disabled]=\"loading\" autofocus\n [(ngModel)]=\"form.tenant\" name=\"tenant\" required tabindex=\"1\">\n <label for=\"tenant\" translate>eo.state.login.tenant</label>\n </div>\n </ng-template>\n\n </fieldset>\n <div class=\"actions\">\n <button type=\"submit\" class=\"primary\" [disabled]=\"!loginForm.form.valid || loading\"\n [ngClass]=\"{spinner: loading}\"\n translate tabindex=\"3\">eo.state.login.submit</button>\n </div>\n </form>\n\n </div>\n</div>\n", styles: [":host{position:absolute;inset:0;display:flex;flex-flow:row;align-items:stretch;justify-content:center}.eo-login-container{width:100%;display:flex;justify-content:center;background-size:cover;background-position:center center}.eo-login-container .eo-login{width:400px;display:flex;flex-flow:column;align-items:stretch;justify-content:center}@media (max-width: 432px){.eo-login-container .eo-login{width:100%;box-sizing:border-box;padding:0 var(--app-pane-padding)}}.eo-login-container .eo-login .head{padding-bottom:calc(var(--app-pane-padding) * 3);display:flex;justify-content:flex-end}.eo-login-container .eo-login .head eo-icon{width:60%;height:auto;margin:0;min-width:120px;color:var(--text-color-hint)}.eo-login-container .eo-login .invalid{color:var(--color-error);margin-bottom:var(--app-pane-padding)}.eo-login-container .eo-login fieldset{background:var(--color-white);border:0;padding:0;border-radius:2px;box-shadow:0 2px 8px 0 rgba(var(--color-black-rgb),.26)}.eo-login-container .eo-login fieldset .form-item{display:flex;flex-flow:row nowrap;align-items:center;border-bottom:1px solid var(--list-item-border-color)}.eo-login-container .eo-login fieldset .form-item>*{flex:1 1 auto}.eo-login-container .eo-login fieldset .form-item label{flex:0 0 auto;color:var(--text-color-caption);padding:0 calc(var(--app-pane-padding) / 2)}.eo-login-container .eo-login fieldset input{width:100%;background:transparent;box-sizing:border-box;margin:0;padding:calc(var(--app-pane-padding) * .75) calc(var(--app-pane-padding) / 2);border:0}.eo-login-container .eo-login fieldset input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset}.eo-login-container .eo-login fieldset input:last-child{border-bottom:0}.eo-login-container .eo-login fieldset.loading,.eo-login-container .eo-login fieldset.empty .ui-dropdown-trigger{opacity:.5}.eo-login-container .eo-login .actions{display:flex;flex-flow:row nowrap;justify-content:flex-end}.eo-login-container .eo-login .actions button{margin-top:var(--app-pane-padding)}.eo-login-container .eo-login .actions button[disabled]{opacity:.9}\n"] }]
|
|
@@ -212,7 +212,7 @@ export class NotificationsStateComponent extends UnsubscribeOnDestroy {
|
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
NotificationsStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NotificationsStateComponent, deps: [{ token: i1.SelectionService }, { token: i2.TranslateService }, { token: i2.SystemService }, { token: i3.PendingChangesService }, { token: i4.EmptyStateService }, { token: i2.BackendService }, { token: i2.EventService }, { token: i2.DmsService }, { token: i5.PageTitleService }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
215
|
-
NotificationsStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: NotificationsStateComponent, selector: "eo-notifications-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'notification.state'\">\n <ng-template yvcSplitArea [size]=\"25\"><eo-list-container #eoList [applySelection]=\"{}\"\n [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.notifications.list.title</div>\n <div class=\"header-sub-title\" translate>eo.notifications.list.subtitle</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary 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 [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [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.notifications.filter.title' | translate\" [matchFields]=\"['info']\"\n [filterParams]=\"textFilterParams\" [id]=\"'notifications.text'\"></eo-text-filter>\n\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.notifications.filter.section.title' | translate\"\n [options]=\"objectTypeFilterFields\" [id]=\"'notifications.object.type'\"></eo-set-filter>\n\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.notifications.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\" [id]=\"'notifications.type'\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconClass]=\"'primary'\" class=\"overlay-sort\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'notifications.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\"\n [iconTitle]=\"'eo.object.actions.title' | translate\" [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event)\" (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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.notifications.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-object-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\"\n [cacheLayout]=\"'notification.state.object-details'\" [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'object-details-tab.notifications'\"></eo-tab-plugin>\n <div class=\"error\" *ngIf=\"gridData?.length\">\n <button class=\"button secondary\" (click)=\"remove()\" translate>eo.notifications.details.item.gone.remove</button>\n <button class=\"button secondary\" (click)=\"removeSubscriptionAndResubmissions()\"\n translate>eo.notifications.details.item.gone.remove.subscriptions</button>\n </div>\n </eo-object-details>\n </ng-template>\n\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 .error .button{margin:1em}:host yvc-split-view{height:100%}:host ::ng-deep .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 .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .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 .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .meta{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .ag-cell .list-item .content .meta .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .meta .description.date{font-size:var(--font-hint)}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i12.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: i13.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i14.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i15.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i16.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i17.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options"] }, { kind: "component", type: i18.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i19.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i20.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { 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: i7.TranslatePipe, name: "translate" }] });
|
|
215
|
+
NotificationsStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: NotificationsStateComponent, selector: "eo-notifications-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'notification.state'\">\n <ng-template yvcSplitArea [size]=\"25\"><eo-list-container #eoList [applySelection]=\"{}\"\n [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.notifications.list.title</div>\n <div class=\"header-sub-title\" translate>eo.notifications.list.subtitle</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary 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 [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [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.notifications.filter.title' | translate\" [matchFields]=\"['info']\"\n [filterParams]=\"textFilterParams\" [id]=\"'notifications.text'\"></eo-text-filter>\n\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.notifications.filter.section.title' | translate\"\n [options]=\"objectTypeFilterFields\" [id]=\"'notifications.object.type'\"></eo-set-filter>\n\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.notifications.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\" [id]=\"'notifications.type'\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconClass]=\"'primary'\" class=\"overlay-sort\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'notifications.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\"\n [iconTitle]=\"'eo.object.actions.title' | translate\" [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event)\" (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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.notifications.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-object-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\"\n [cacheLayout]=\"'notification.state.object-details'\" [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'object-details-tab.notifications'\"></eo-tab-plugin>\n <div class=\"error\" *ngIf=\"gridData?.length\">\n <button class=\"button secondary\" (click)=\"remove()\" translate>eo.notifications.details.item.gone.remove</button>\n <button class=\"button secondary\" (click)=\"removeSubscriptionAndResubmissions()\"\n translate>eo.notifications.details.item.gone.remove.subscriptions</button>\n </div>\n </eo-object-details>\n </ng-template>\n\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 .error .button{margin:1em}:host yvc-split-view{height:100%}:host ::ng-deep .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 .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .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 .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .meta{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .ag-cell .list-item .content .meta .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .meta .description.date{font-size:var(--font-hint)}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i12.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: i13.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i14.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i15.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i16.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i17.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i18.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i19.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i20.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { 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: i7.TranslatePipe, name: "translate" }] });
|
|
216
216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: NotificationsStateComponent, decorators: [{
|
|
217
217
|
type: Component,
|
|
218
218
|
args: [{ selector: 'eo-notifications-state', template: "<yvc-split-view [layoutSettingsID]=\"'notification.state'\">\n <ng-template yvcSplitArea [size]=\"25\"><eo-list-container #eoList [applySelection]=\"{}\"\n [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.notifications.list.title</div>\n <div class=\"header-sub-title\" translate>eo.notifications.list.subtitle</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary 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 [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconClass]=\"'primary'\"\n class=\"overlay-filter\" [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.notifications.filter.title' | translate\" [matchFields]=\"['info']\"\n [filterParams]=\"textFilterParams\" [id]=\"'notifications.text'\"></eo-text-filter>\n\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.notifications.filter.section.title' | translate\"\n [options]=\"objectTypeFilterFields\" [id]=\"'notifications.object.type'\"></eo-set-filter>\n\n <eo-set-filter [operator]=\"'OR'\" [title]=\"'eo.notifications.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\" [id]=\"'notifications.type'\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\" [iconClass]=\"'primary'\" class=\"overlay-sort\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'notifications.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button actions-button\" (click)=\"eoList.showActions()\"\n [iconTitle]=\"'eo.object.actions.title' | translate\" [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n\n <div class=\"eo-body\">\n <eo-grid #eoGrid [gridOptions]=\"gridOptions\" *ngIf=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event)\" (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_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.notifications.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\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"75\">\n <eo-object-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\"\n [cacheLayout]=\"'notification.state.object-details'\" [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'object-details-tab.notifications'\"></eo-tab-plugin>\n <div class=\"error\" *ngIf=\"gridData?.length\">\n <button class=\"button secondary\" (click)=\"remove()\" translate>eo.notifications.details.item.gone.remove</button>\n <button class=\"button secondary\" (click)=\"removeSubscriptionAndResubmissions()\"\n translate>eo.notifications.details.item.gone.remove.subscriptions</button>\n </div>\n </eo-object-details>\n </ng-template>\n\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 .error .button{margin:1em}:host yvc-split-view{height:100%}:host ::ng-deep .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 .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .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 .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .meta{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .ag-cell .list-item .content .meta .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .meta .description.date{font-size:var(--font-hint)}\n"] }]
|