@energycap/components 0.31.5 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/energycap-components.min.css +2 -2
- package/energycap-email.min.css +1 -1
- package/esm2020/energycap-components.mjs +5 -0
- package/esm2020/lib/components.module.mjs +386 -0
- package/esm2020/lib/controls/banner/banner.component.mjs +106 -0
- package/esm2020/lib/controls/button/button.component.mjs +106 -0
- package/esm2020/lib/controls/button/copy-button.directive.mjs +65 -0
- package/esm2020/lib/controls/checkbox/checkbox.component.mjs +139 -0
- package/esm2020/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -0
- package/esm2020/lib/controls/combobox/combobox.component.mjs +841 -0
- package/esm2020/lib/controls/dropdown/dropdown.component.mjs +237 -0
- package/esm2020/lib/controls/file-upload/file-upload.component.mjs +169 -0
- package/esm2020/lib/controls/form-control/form-control.component.mjs +86 -0
- package/esm2020/lib/controls/form-control-base.mjs +143 -0
- package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
- package/esm2020/lib/controls/form-group/form-group.component.mjs +252 -0
- package/esm2020/lib/controls/help-popover/help-popover.component.mjs +28 -0
- package/esm2020/lib/controls/item-picker/item-picker.component.mjs +233 -0
- package/esm2020/lib/controls/link-button/link-button.component.mjs +11 -0
- package/esm2020/lib/controls/menu/menu.component.mjs +443 -0
- package/{esm2015/lib/controls/navigation/link-item.js → esm2020/lib/controls/navigation/link-item.mjs} +0 -0
- package/{esm2015/lib/controls/navigation/nav-group.js → esm2020/lib/controls/navigation/nav-group.mjs} +0 -0
- package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
- package/{esm2015/lib/controls/navigation/nav-item.js → esm2020/lib/controls/navigation/nav-item.mjs} +0 -0
- package/esm2020/lib/controls/numericbox/numericbox.component.mjs +371 -0
- package/esm2020/lib/controls/popover/popover.component.mjs +84 -0
- package/{esm2015/lib/controls/radio-button/radio-button-option.js → esm2020/lib/controls/radio-button/radio-button-option.mjs} +0 -0
- package/esm2020/lib/controls/radio-button/radio-button.component.mjs +81 -0
- package/esm2020/lib/controls/select/select.component.mjs +87 -0
- package/esm2020/lib/controls/tabs/tabs.component.mjs +47 -0
- package/esm2020/lib/controls/textbox/textbox.component.mjs +154 -0
- package/{esm2015/lib/core/cache.service.js → esm2020/lib/core/cache.service.mjs} +9 -8
- package/{esm2015/lib/core/custom-validators.js → esm2020/lib/core/custom-validators.mjs} +0 -0
- package/{esm2015/lib/core/date-time-helper.js → esm2020/lib/core/date-time-helper.mjs} +0 -0
- package/esm2020/lib/core/error.service.mjs +57 -0
- package/esm2020/lib/core/scroll.service.mjs +89 -0
- package/esm2020/lib/core/telemetry-tracker.service.mjs +16 -0
- package/esm2020/lib/core/telemetry.service.mjs +38 -0
- package/esm2020/lib/core/validation-message.service.mjs +181 -0
- package/{esm2015/lib/core/validation-patterns.js → esm2020/lib/core/validation-patterns.mjs} +0 -0
- package/esm2020/lib/core/window.service.mjs +182 -0
- package/esm2020/lib/display/app-bar/app-bar.component.mjs +46 -0
- package/esm2020/lib/display/avatar/avatar.component.mjs +67 -0
- package/{esm2015/lib/display/avatar/avatar.service.js → esm2020/lib/display/avatar/avatar.service.mjs} +9 -7
- package/esm2020/lib/display/confirm/confirm.component.mjs +131 -0
- package/{esm2015/lib/display/dialog/dialog-content.js → esm2020/lib/display/dialog/dialog-content.mjs} +0 -0
- package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
- package/{esm2015/lib/display/dialog/dialog-types.js → esm2020/lib/display/dialog/dialog-types.mjs} +0 -0
- package/esm2020/lib/display/dialog/dialog.component.mjs +242 -0
- package/esm2020/lib/display/dialog/dialog.service.mjs +71 -0
- package/{esm2015/lib/display/help/help-types.js → esm2020/lib/display/help/help-types.mjs} +0 -0
- package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +106 -0
- package/{esm2015/lib/display/hierarchy/hierarchy-mocks.spec.js → esm2020/lib/display/hierarchy/hierarchy-mocks.spec.mjs} +5 -9
- package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +59 -0
- package/esm2020/lib/display/item-display/item-display.component.mjs +67 -0
- package/esm2020/lib/display/json-display/json-display.component.mjs +47 -0
- package/esm2020/lib/display/resizable/resizable-base.mjs +120 -0
- package/esm2020/lib/display/resizable/resizable.component.mjs +57 -0
- package/esm2020/lib/display/spinner/spinner.component.mjs +12 -0
- package/esm2020/lib/display/splash/splash.component.mjs +42 -0
- package/esm2020/lib/display/splash/splash.service.mjs +35 -0
- package/esm2020/lib/display/table/resizable-column.component.mjs +20 -0
- package/esm2020/lib/display/table/resizable-table.directive.mjs +227 -0
- package/esm2020/lib/display/table/searchable-table.component.mjs +338 -0
- package/esm2020/lib/display/table/table-detail-row.component.mjs +27 -0
- package/esm2020/lib/display/table/table-locked-column.component.mjs +58 -0
- package/esm2020/lib/display/table/table-master-header-row.component.mjs +11 -0
- package/esm2020/lib/display/table/table-master-row.component.mjs +150 -0
- package/esm2020/lib/display/table/table-pagination.component.mjs +150 -0
- package/esm2020/lib/display/table/table-selectable-row.component.mjs +235 -0
- package/esm2020/lib/display/table/table.component.mjs +244 -0
- package/esm2020/lib/display/tags/tag.mjs +15 -0
- package/esm2020/lib/display/tags/tags.component.mjs +77 -0
- package/esm2020/lib/display/toast/toast/toast.component.mjs +77 -0
- package/{esm2015/lib/display/toast/toast-types.js → esm2020/lib/display/toast/toast-types.mjs} +0 -0
- package/esm2020/lib/display/toast/toast.service.mjs +35 -0
- package/esm2020/lib/display/toast/toaster/toaster.component.mjs +114 -0
- package/esm2020/lib/display/tooltip/tooltip.component.mjs +25 -0
- package/esm2020/lib/display/tooltip/tooltip.service.mjs +63 -0
- package/esm2020/lib/display/tree/tree.component.mjs +125 -0
- package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +58 -0
- package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
- package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
- package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +163 -0
- package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
- package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
- package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +48 -0
- package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
- package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
- package/{esm2015/lib/shared/display.js → esm2020/lib/shared/display.mjs} +0 -0
- package/esm2020/lib/shared/form-group.helper.mjs +67 -0
- package/{esm2015/lib/shared/json-helper.js → esm2020/lib/shared/json-helper.mjs} +0 -0
- package/{esm2015/lib/shared/lodash-helper.js → esm2020/lib/shared/lodash-helper.mjs} +0 -0
- package/esm2020/lib/shared/page/page-base/page-base.component.mjs +339 -0
- package/{esm2015/lib/shared/page/page-statuses.js → esm2020/lib/shared/page/page-statuses.mjs} +0 -0
- package/esm2020/lib/shared/page/page-title/page-title.component.mjs +23 -0
- package/esm2020/lib/shared/page/page-view/page-view.component.mjs +121 -0
- package/{esm2015/lib/shared/testing/hierarchy-base-test-injector-factory.spec.js → esm2020/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs} +0 -0
- package/esm2020/lib/shared/testing/page-base-component-test-helper.spec.mjs +30 -0
- package/{esm2015/lib/shared/testing/page-base-component-test-injector-factory.spec.js → esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs} +0 -0
- package/esm2020/lib/shared/testing/public-mocks.spec.mjs +132 -0
- package/{esm2015/lib/shared/testing/spy-factory.spec.js → esm2020/lib/shared/testing/spy-factory.spec.mjs} +0 -0
- package/{esm2015/lib/shared/testing/translation-mocks.spec.js → esm2020/lib/shared/testing/translation-mocks.spec.mjs} +0 -0
- package/esm2020/lib/shared/user-preference.service.mjs +17 -0
- package/esm2020/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
- package/esm2020/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -0
- package/esm2020/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/energycap-components.mjs +10090 -0
- package/fesm2015/energycap-components.mjs.map +1 -0
- package/fesm2020/energycap-components.mjs +9999 -0
- package/fesm2020/energycap-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components.module.d.ts +72 -0
- package/lib/controls/banner/banner.component.d.ts +3 -0
- package/lib/controls/button/button.component.d.ts +3 -0
- package/lib/controls/button/copy-button.directive.d.ts +3 -0
- package/lib/controls/checkbox/checkbox.component.d.ts +3 -0
- package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +3 -0
- package/lib/controls/combobox/combobox.component.d.ts +5 -2
- package/lib/controls/dropdown/dropdown.component.d.ts +3 -0
- package/lib/controls/file-upload/file-upload.component.d.ts +5 -2
- package/lib/controls/form-control/form-control.component.d.ts +3 -0
- package/lib/controls/form-control-base.d.ts +3 -0
- package/lib/controls/form-control-label/form-control-label.component.d.ts +3 -0
- package/lib/controls/form-group/form-group.component.d.ts +6 -3
- package/lib/controls/help-popover/help-popover.component.d.ts +3 -0
- package/lib/controls/item-picker/item-picker.component.d.ts +5 -2
- package/lib/controls/link-button/link-button.component.d.ts +3 -0
- package/lib/controls/menu/menu.component.d.ts +3 -0
- package/lib/controls/navigation/nav-item-active.directive.d.ts +3 -0
- package/lib/controls/numericbox/numericbox.component.d.ts +5 -2
- package/lib/controls/popover/popover.component.d.ts +3 -0
- package/lib/controls/radio-button/radio-button.component.d.ts +3 -0
- package/lib/controls/select/select.component.d.ts +3 -0
- package/lib/controls/tabs/tabs.component.d.ts +3 -0
- package/lib/controls/textbox/textbox.component.d.ts +3 -0
- package/lib/core/cache.service.d.ts +3 -0
- package/lib/core/error.service.d.ts +3 -0
- package/lib/core/scroll.service.d.ts +3 -0
- package/lib/core/telemetry-tracker.service.d.ts +3 -0
- package/lib/core/telemetry.service.d.ts +3 -0
- package/lib/core/validation-message.service.d.ts +3 -0
- package/lib/core/window.service.d.ts +3 -0
- package/lib/display/app-bar/app-bar.component.d.ts +3 -0
- package/lib/display/avatar/avatar.component.d.ts +3 -0
- package/lib/display/avatar/avatar.service.d.ts +3 -0
- package/lib/display/confirm/confirm.component.d.ts +5 -2
- package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +3 -0
- package/lib/display/dialog/dialog.component.d.ts +3 -0
- package/lib/display/dialog/dialog.service.d.ts +3 -0
- package/lib/display/hierarchy/hierarchy-base.d.ts +3 -0
- package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +3 -0
- package/lib/display/item-display/item-display.component.d.ts +3 -0
- package/lib/display/json-display/json-display.component.d.ts +5 -2
- package/lib/display/resizable/resizable-base.d.ts +3 -0
- package/lib/display/resizable/resizable.component.d.ts +3 -0
- package/lib/display/spinner/spinner.component.d.ts +3 -0
- package/lib/display/splash/splash.component.d.ts +3 -0
- package/lib/display/splash/splash.service.d.ts +3 -0
- package/lib/display/table/resizable-column.component.d.ts +3 -0
- package/lib/display/table/resizable-table.directive.d.ts +3 -0
- package/lib/display/table/searchable-table.component.d.ts +6 -3
- package/lib/display/table/table-detail-row.component.d.ts +3 -0
- package/lib/display/table/table-locked-column.component.d.ts +3 -0
- package/lib/display/table/table-master-header-row.component.d.ts +3 -0
- package/lib/display/table/table-master-row.component.d.ts +3 -0
- package/lib/display/table/table-pagination.component.d.ts +3 -0
- package/lib/display/table/table-selectable-row.component.d.ts +5 -2
- package/lib/display/table/table.component.d.ts +3 -0
- package/lib/display/tags/tags.component.d.ts +3 -0
- package/lib/display/toast/toast/toast.component.d.ts +3 -0
- package/lib/display/toast/toast.service.d.ts +3 -0
- package/lib/display/toast/toaster/toaster.component.d.ts +3 -0
- package/lib/display/tooltip/tooltip.component.d.ts +3 -0
- package/lib/display/tooltip/tooltip.service.d.ts +3 -0
- package/lib/display/tree/tree.component.d.ts +3 -0
- package/lib/display/view-overlay/view-overlay.component.d.ts +3 -0
- package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +3 -0
- package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +3 -0
- package/lib/shared/directives/popup/popup-container.directive.d.ts +3 -0
- package/lib/shared/display/pipes/date-display.pipe.d.ts +3 -0
- package/lib/shared/display/pipes/highlight-text.pipe.d.ts +3 -0
- package/lib/shared/display/pipes/relative-date.pipe.d.ts +3 -0
- package/lib/shared/display/pipes/row-count.pipe.d.ts +3 -0
- package/lib/shared/display/pipes/time-display.pipe.d.ts +3 -0
- package/lib/shared/form-group.helper.d.ts +5 -2
- package/lib/shared/page/page-base/page-base.component.d.ts +5 -2
- package/lib/shared/page/page-title/page-title.component.d.ts +3 -0
- package/lib/shared/page/page-view/page-view.component.d.ts +3 -0
- package/lib/shared/testing/public-mocks.spec.d.ts +7 -0
- package/lib/shared/user-preference.service.d.ts +3 -0
- package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +3 -0
- package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +3 -0
- package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +3 -0
- package/package.json +27 -15
- package/src/styles/_functions.scss +6 -4
- package/src/styles/_icons.scss +1 -1
- package/src/styles/mixins/_control-base.scss +2 -2
- package/src/styles/mixins/_form-control-base.scss +3 -1
- package/src/styles/mixins/_spinner-base.scss +3 -1
- package/bundles/energycap-components.umd.js +0 -10646
- package/bundles/energycap-components.umd.js.map +0 -1
- package/bundles/energycap-components.umd.min.js +0 -17
- package/bundles/energycap-components.umd.min.js.map +0 -1
- package/energycap-components.d.ts +0 -7
- package/energycap-components.metadata.json +0 -1
- package/esm2015/energycap-components.js +0 -8
- package/esm2015/lib/components.module.js +0 -238
- package/esm2015/lib/controls/banner/banner.component.js +0 -94
- package/esm2015/lib/controls/button/button.component.js +0 -89
- package/esm2015/lib/controls/button/copy-button.directive.js +0 -63
- package/esm2015/lib/controls/checkbox/checkbox.component.js +0 -137
- package/esm2015/lib/controls/collapsible-toggle/collapsible-toggle.component.js +0 -35
- package/esm2015/lib/controls/combobox/combobox.component.js +0 -819
- package/esm2015/lib/controls/dropdown/dropdown.component.js +0 -207
- package/esm2015/lib/controls/file-upload/file-upload.component.js +0 -172
- package/esm2015/lib/controls/form-control/form-control.component.js +0 -65
- package/esm2015/lib/controls/form-control-base.js +0 -140
- package/esm2015/lib/controls/form-control-label/form-control-label.component.js +0 -139
- package/esm2015/lib/controls/form-group/form-group.component.js +0 -254
- package/esm2015/lib/controls/help-popover/help-popover.component.js +0 -22
- package/esm2015/lib/controls/item-picker/item-picker.component.js +0 -216
- package/esm2015/lib/controls/link-button/link-button.component.js +0 -12
- package/esm2015/lib/controls/menu/menu.component.js +0 -424
- package/esm2015/lib/controls/navigation/nav-item-active.directive.js +0 -86
- package/esm2015/lib/controls/numericbox/numericbox.component.js +0 -362
- package/esm2015/lib/controls/popover/popover.component.js +0 -85
- package/esm2015/lib/controls/radio-button/radio-button.component.js +0 -78
- package/esm2015/lib/controls/select/select.component.js +0 -89
- package/esm2015/lib/controls/tabs/tabs.component.js +0 -42
- package/esm2015/lib/controls/textbox/textbox.component.js +0 -149
- package/esm2015/lib/core/error.service.js +0 -56
- package/esm2015/lib/core/scroll.service.js +0 -88
- package/esm2015/lib/core/telemetry-tracker.service.js +0 -14
- package/esm2015/lib/core/telemetry.service.js +0 -40
- package/esm2015/lib/core/validation-message.service.js +0 -185
- package/esm2015/lib/core/window.service.js +0 -191
- package/esm2015/lib/display/app-bar/app-bar.component.js +0 -42
- package/esm2015/lib/display/avatar/avatar.component.js +0 -73
- package/esm2015/lib/display/confirm/confirm.component.js +0 -127
- package/esm2015/lib/display/dialog/dialog-group/dialog-group.component.js +0 -65
- package/esm2015/lib/display/dialog/dialog.component.js +0 -229
- package/esm2015/lib/display/dialog/dialog.service.js +0 -69
- package/esm2015/lib/display/hierarchy/hierarchy-base.js +0 -106
- package/esm2015/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.js +0 -58
- package/esm2015/lib/display/item-display/item-display.component.js +0 -57
- package/esm2015/lib/display/json-display/json-display.component.js +0 -44
- package/esm2015/lib/display/resizable/resizable-base.js +0 -119
- package/esm2015/lib/display/resizable/resizable.component.js +0 -57
- package/esm2015/lib/display/spinner/spinner.component.js +0 -12
- package/esm2015/lib/display/splash/splash.component.js +0 -45
- package/esm2015/lib/display/splash/splash.service.js +0 -34
- package/esm2015/lib/display/table/resizable-column.component.js +0 -23
- package/esm2015/lib/display/table/resizable-table.directive.js +0 -223
- package/esm2015/lib/display/table/searchable-table.component.js +0 -303
- package/esm2015/lib/display/table/table-detail-row.component.js +0 -21
- package/esm2015/lib/display/table/table-locked-column.component.js +0 -53
- package/esm2015/lib/display/table/table-master-header-row.component.js +0 -11
- package/esm2015/lib/display/table/table-master-row.component.js +0 -141
- package/esm2015/lib/display/table/table-pagination.component.js +0 -146
- package/esm2015/lib/display/table/table-selectable-row.component.js +0 -216
- package/esm2015/lib/display/table/table.component.js +0 -210
- package/esm2015/lib/display/tags/tag.js +0 -15
- package/esm2015/lib/display/tags/tags.component.js +0 -73
- package/esm2015/lib/display/toast/toast/toast.component.js +0 -70
- package/esm2015/lib/display/toast/toast.service.js +0 -34
- package/esm2015/lib/display/toast/toaster/toaster.component.js +0 -117
- package/esm2015/lib/display/tooltip/tooltip.component.js +0 -24
- package/esm2015/lib/display/tooltip/tooltip.service.js +0 -64
- package/esm2015/lib/display/tree/tree.component.js +0 -100
- package/esm2015/lib/display/view-overlay/view-overlay.component.js +0 -50
- package/esm2015/lib/shared/directives/click-area-for/click-area-for.directive.js +0 -25
- package/esm2015/lib/shared/directives/if-viewport-width/if-viewport-width.directive.js +0 -112
- package/esm2015/lib/shared/directives/popup/popup-container.directive.js +0 -160
- package/esm2015/lib/shared/display/pipes/date-display.pipe.js +0 -49
- package/esm2015/lib/shared/display/pipes/highlight-text.pipe.js +0 -26
- package/esm2015/lib/shared/display/pipes/relative-date.pipe.js +0 -49
- package/esm2015/lib/shared/display/pipes/row-count.pipe.js +0 -47
- package/esm2015/lib/shared/display/pipes/time-display.pipe.js +0 -40
- package/esm2015/lib/shared/form-group.helper.js +0 -65
- package/esm2015/lib/shared/page/page-base/page-base.component.js +0 -356
- package/esm2015/lib/shared/page/page-title/page-title.component.js +0 -19
- package/esm2015/lib/shared/page/page-view/page-view.component.js +0 -94
- package/esm2015/lib/shared/testing/page-base-component-test-helper.spec.js +0 -35
- package/esm2015/lib/shared/testing/public-mocks.spec.js +0 -126
- package/esm2015/lib/shared/user-preference.service.js +0 -15
- package/esm2015/lib/shared/wizard/wizard-base/wizard-base.component.js +0 -260
- package/esm2015/lib/shared/wizard/wizard-buttons/wizard-buttons.component.js +0 -54
- package/esm2015/lib/shared/wizard/wizard-progress/wizard-progress.component.js +0 -18
- package/fesm2015/energycap-components.js +0 -9638
- package/fesm2015/energycap-components.js.map +0 -1
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
-
import { race, Subject, timer } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { ToastService } from '../toast.service';
|
|
5
|
-
export class ToastComponent {
|
|
6
|
-
constructor(toastService) {
|
|
7
|
-
this.toastService = toastService;
|
|
8
|
-
this.open = false;
|
|
9
|
-
this.TOAST_ANIMATION_DURATION = 250;
|
|
10
|
-
this.closed = new EventEmitter();
|
|
11
|
-
this.TIMED_TOAST_DURATION = 4000;
|
|
12
|
-
this.destroyed = new Subject();
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.toastService.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
|
|
16
|
-
if (event.action == 'remove' && event.toast === this.toastItem) {
|
|
17
|
-
this.close(event);
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
ngOnChanges(changes) {
|
|
22
|
-
if (changes.toastItem && this.toastItem) {
|
|
23
|
-
this.id = this.toastItem.id;
|
|
24
|
-
this.open = true;
|
|
25
|
-
if (!this.toastItem.dismissible) {
|
|
26
|
-
this.closeAfterTimer();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
ngOnDestroy() {
|
|
31
|
-
this.destroyed.next();
|
|
32
|
-
this.destroyed.complete();
|
|
33
|
-
}
|
|
34
|
-
closeClicked() {
|
|
35
|
-
if (this.toastItem) {
|
|
36
|
-
this.toastService.dismissToast(this.toastItem, 'user');
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
close(event) {
|
|
40
|
-
this.open = false;
|
|
41
|
-
timer(this.TOAST_ANIMATION_DURATION).subscribe(() => {
|
|
42
|
-
this.closed.emit(event);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
closeAfterTimer() {
|
|
46
|
-
timer(this.TIMED_TOAST_DURATION).pipe(takeUntil(race(this.closed, this.destroyed))).subscribe(() => {
|
|
47
|
-
if (this.toastItem) {
|
|
48
|
-
this.toastService.dismissToast(this.toastItem, 'auto');
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
ToastComponent.decorators = [
|
|
54
|
-
{ type: Component, args: [{
|
|
55
|
-
selector: 'ec-toast',
|
|
56
|
-
template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\r\n [type]=\"toastItem?.type\"\r\n bannerStyle=\"toast\"\r\n [customIcon]=\"toastItem?.icon\"\r\n [showCloseBtn]=\"toastItem?.dismissible\"\r\n [autoHideOnClose]=\"false\"\r\n (closed)=\"closeClicked()\">\r\n <div class=\"d-flex\">\r\n <div id=\"{{toastItem?.id}}_message\"\r\n [innerHTML]=\"toastItem?.message | translate\"></div>\r\n <button id=\"{{toastItem?.id}}_action\"\r\n ecLinkButton\r\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\r\n class=\"font-weight-bold ml-2\"\r\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\r\n </div>\r\n</ec-banner>",
|
|
57
|
-
styles: [":host{bottom:0;display:block;left:50%;position:fixed;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration,.25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(var(--toast-bottom, 0rem)*-1 - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}"]
|
|
58
|
-
},] }
|
|
59
|
-
];
|
|
60
|
-
ToastComponent.ctorParameters = () => [
|
|
61
|
-
{ type: ToastService }
|
|
62
|
-
];
|
|
63
|
-
ToastComponent.propDecorators = {
|
|
64
|
-
toastItem: [{ type: Input }],
|
|
65
|
-
id: [{ type: HostBinding, args: ['attr.id',] }],
|
|
66
|
-
open: [{ type: HostBinding, args: ['class.is-open',] }],
|
|
67
|
-
TOAST_ANIMATION_DURATION: [{ type: HostBinding, args: ['style.--toast-animation-duration.ms',] }],
|
|
68
|
-
closed: [{ type: Output }]
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFPaEQsTUFBTSxPQUFPLGNBQWM7SUFhekIsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFSVCxTQUFJLEdBQVksS0FBSyxDQUFDO1FBQ0EsNkJBQXdCLEdBQUcsR0FBRyxDQUFDO1FBRXpFLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRXhDLHlCQUFvQixHQUFXLElBQUksQ0FBQztRQUM3QyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVVLENBQUM7SUFFbkQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pFLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFFakIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO2dCQUMvQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDeEI7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFpQjtRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLEtBQUssQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQ25DLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDN0MsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3hEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFqRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQixxd0JBQXFDOzthQUV0Qzs7O1lBTlEsWUFBWTs7O3dCQVNsQixLQUFLO2lCQUVMLFdBQVcsU0FBQyxTQUFTO21CQUNyQixXQUFXLFNBQUMsZUFBZTt1Q0FDM0IsV0FBVyxTQUFDLHFDQUFxQztxQkFFakQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByYWNlLCBTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRvYXN0RXZlbnQsIFRvYXN0SXRlbSB9IGZyb20gJy4uL3RvYXN0LXR5cGVzJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3Quc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXRvYXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgXHJcbiAgQElucHV0KCkgcHVibGljIHRvYXN0SXRlbT86IFRvYXN0SXRlbTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgcHVibGljIGlkPzogc3RyaW5nO1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtb3BlbicpIHB1YmxpYyBvcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLXRvYXN0LWFuaW1hdGlvbi1kdXJhdGlvbi5tcycpIHB1YmxpYyBUT0FTVF9BTklNQVRJT05fRFVSQVRJT04gPSAyNTA7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxUb2FzdEV2ZW50PigpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IFRJTUVEX1RPQVNUX0RVUkFUSU9OOiBudW1iZXIgPSA0MDAwO1xyXG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50b2FzdFNlcnZpY2UuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgaWYgKGV2ZW50LmFjdGlvbiA9PSAncmVtb3ZlJyAmJiBldmVudC50b2FzdCA9PT0gdGhpcy50b2FzdEl0ZW0pIHtcclxuICAgICAgICB0aGlzLmNsb3NlKGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy50b2FzdEl0ZW0gJiYgdGhpcy50b2FzdEl0ZW0pIHtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMudG9hc3RJdGVtLmlkO1xyXG4gICAgICB0aGlzLm9wZW4gPSB0cnVlO1xyXG5cclxuICAgICAgaWYgKCF0aGlzLnRvYXN0SXRlbS5kaXNtaXNzaWJsZSkge1xyXG4gICAgICAgIHRoaXMuY2xvc2VBZnRlclRpbWVyKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZUNsaWNrZWQoKSB7XHJcbiAgICBpZiAodGhpcy50b2FzdEl0ZW0pIHtcclxuICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZGlzbWlzc1RvYXN0KHRoaXMudG9hc3RJdGVtLCAndXNlcicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9zZShldmVudDogVG9hc3RFdmVudCkge1xyXG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XHJcbiAgICB0aW1lcih0aGlzLlRPQVNUX0FOSU1BVElPTl9EVVJBVElPTikuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZWQuZW1pdChldmVudCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2VBZnRlclRpbWVyKCkge1xyXG4gICAgdGltZXIodGhpcy5USU1FRF9UT0FTVF9EVVJBVElPTikucGlwZShcclxuICAgICAgdGFrZVVudGlsKHJhY2UodGhpcy5jbG9zZWQsIHRoaXMuZGVzdHJveWVkKSlcclxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMudG9hc3RJdGVtKSB7XHJcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZGlzbWlzc1RvYXN0KHRoaXMudG9hc3RJdGVtLCAnYXV0bycpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { ToastEvent } from './toast-types';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ToastService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._events = new Subject();
|
|
8
|
-
this.events = this._events.asObservable();
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Display a toast.
|
|
12
|
-
* If a toast of the same type is already on screen, the toast is queued until the existing one is dismissed.
|
|
13
|
-
*/
|
|
14
|
-
showToast(toast, source) {
|
|
15
|
-
const event = new ToastEvent('add', toast, source);
|
|
16
|
-
this._events.next(event);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Remove a toast.
|
|
20
|
-
* This will also remove the toast from the queue if it has not already been displayed.
|
|
21
|
-
*/
|
|
22
|
-
dismissToast(toast, source) {
|
|
23
|
-
const event = new ToastEvent('remove', toast, source);
|
|
24
|
-
this._events.next(event);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
ToastService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToastService_Factory() { return new ToastService(); }, token: ToastService, providedIn: "root" });
|
|
28
|
-
ToastService.decorators = [
|
|
29
|
-
{ type: Injectable, args: [{
|
|
30
|
-
providedIn: 'root'
|
|
31
|
-
},] }
|
|
32
|
-
];
|
|
33
|
-
ToastService.ctorParameters = () => [];
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQTBCLE1BQU0sZUFBZSxDQUFDOztBQUtuRSxNQUFNLE9BQU8sWUFBWTtJQUt2QjtRQUhRLFlBQU8sR0FBd0IsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUMxRCxXQUFNLEdBQTJCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFcEQsQ0FBQztJQUVqQjs7O09BR0c7SUFDSSxTQUFTLENBQUMsS0FBZ0IsRUFBRSxNQUFvQjtRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsS0FBZ0IsRUFBRSxNQUFvQjtRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7Ozs7WUExQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRvYXN0RXZlbnQsIFRvYXN0SXRlbSwgVG9hc3RTb3VyY2UgfSBmcm9tICcuL3RvYXN0LXR5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgX2V2ZW50czogU3ViamVjdDxUb2FzdEV2ZW50PiA9IG5ldyBTdWJqZWN0PFRvYXN0RXZlbnQ+KCk7XHJcbiAgcHVibGljIGV2ZW50czogT2JzZXJ2YWJsZTxUb2FzdEV2ZW50PiA9IHRoaXMuX2V2ZW50cy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgLyoqIFxyXG4gICAqIERpc3BsYXkgYSB0b2FzdC5cclxuICAgKiBJZiBhIHRvYXN0IG9mIHRoZSBzYW1lIHR5cGUgaXMgYWxyZWFkeSBvbiBzY3JlZW4sIHRoZSB0b2FzdCBpcyBxdWV1ZWQgdW50aWwgdGhlIGV4aXN0aW5nIG9uZSBpcyBkaXNtaXNzZWQuXHJcbiAgICovXHJcbiAgcHVibGljIHNob3dUb2FzdCh0b2FzdDogVG9hc3RJdGVtLCBzb3VyY2U/OiBUb2FzdFNvdXJjZSkge1xyXG4gICAgY29uc3QgZXZlbnQgPSBuZXcgVG9hc3RFdmVudCgnYWRkJywgdG9hc3QsIHNvdXJjZSk7XHJcbiAgICB0aGlzLl9ldmVudHMubmV4dChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYSB0b2FzdC5cclxuICAgKiBUaGlzIHdpbGwgYWxzbyByZW1vdmUgdGhlIHRvYXN0IGZyb20gdGhlIHF1ZXVlIGlmIGl0IGhhcyBub3QgYWxyZWFkeSBiZWVuIGRpc3BsYXllZC5cclxuICAgKi9cclxuICBwdWJsaWMgZGlzbWlzc1RvYXN0KHRvYXN0OiBUb2FzdEl0ZW0sIHNvdXJjZT86IFRvYXN0U291cmNlKSB7XHJcbiAgICBjb25zdCBldmVudCA9IG5ldyBUb2FzdEV2ZW50KCdyZW1vdmUnLCB0b2FzdCwgc291cmNlKTtcclxuICAgIHRoaXMuX2V2ZW50cy5uZXh0KGV2ZW50KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { TelemetryService } from '../../../core/telemetry.service';
|
|
5
|
-
import { ToastService } from '../toast.service';
|
|
6
|
-
export class ToasterComponent {
|
|
7
|
-
constructor(toastService, telemetryService) {
|
|
8
|
-
this.toastService = toastService;
|
|
9
|
-
this.telemetryService = telemetryService;
|
|
10
|
-
this.dismissibleToastBottom = 0;
|
|
11
|
-
this.pendingToasts = [];
|
|
12
|
-
this.destroyed = new Subject();
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.toastService.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
|
|
16
|
-
if (event.action == 'add') {
|
|
17
|
-
this.addToast(event.toast);
|
|
18
|
-
this.updateDismissibleToastBottom();
|
|
19
|
-
this.trackEvent(event);
|
|
20
|
-
}
|
|
21
|
-
else if (event.action == 'remove' && event.toast !== this.currentDismissibleToast && event.toast !== this.currentTimedToast) {
|
|
22
|
-
this.removePendingToast(event.toast);
|
|
23
|
-
this.trackEvent(event);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
this.destroyed.next();
|
|
29
|
-
this.destroyed.complete();
|
|
30
|
-
}
|
|
31
|
-
updateVisibleToast(event) {
|
|
32
|
-
if (event.toast.dismissible) {
|
|
33
|
-
this.currentDismissibleToast = this.getNextToast(true);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
this.currentTimedToast = this.getNextToast(false);
|
|
37
|
-
}
|
|
38
|
-
this.updateDismissibleToastBottom();
|
|
39
|
-
this.trackEvent(event);
|
|
40
|
-
}
|
|
41
|
-
addToast(toast) {
|
|
42
|
-
if ((toast.dismissible && this.currentDismissibleToast) || (!toast.dismissible && this.currentTimedToast)) {
|
|
43
|
-
this.addPendingToast(toast);
|
|
44
|
-
}
|
|
45
|
-
else if (toast.dismissible) {
|
|
46
|
-
this.currentDismissibleToast = toast;
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
this.currentTimedToast = toast;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/** Returns the next pending toast of the specified type and removes it from the list of pending toasts. */
|
|
53
|
-
getNextToast(dismissible) {
|
|
54
|
-
const toast = this.pendingToasts.find(t => t.dismissible === dismissible);
|
|
55
|
-
if (toast) {
|
|
56
|
-
this.removePendingToast(toast);
|
|
57
|
-
}
|
|
58
|
-
return toast;
|
|
59
|
-
}
|
|
60
|
-
/** Add a toast to the list of pending toasts */
|
|
61
|
-
addPendingToast(toast) {
|
|
62
|
-
this.pendingToasts.push(toast);
|
|
63
|
-
}
|
|
64
|
-
/** Removes the specified toast from the list of pending toasts */
|
|
65
|
-
removePendingToast(toast) {
|
|
66
|
-
const index = this.pendingToasts.indexOf(toast);
|
|
67
|
-
if (index > -1) {
|
|
68
|
-
this.pendingToasts.splice(index, 1);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* If the timed toast is present, sets the bottom height of the dismissible toast to
|
|
73
|
-
* the current height of the timed toast plus .5rem for spacing.
|
|
74
|
-
* Returns 0 if there isn't a visible timed toast.
|
|
75
|
-
*/
|
|
76
|
-
updateDismissibleToastBottom() {
|
|
77
|
-
if (this.currentTimedToast && this.timedToastEl) {
|
|
78
|
-
this.dismissibleToastBottom = (this.timedToastEl.nativeElement.offsetHeight + 8) / 16;
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
this.dismissibleToastBottom = 0;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
trackEvent(event) {
|
|
85
|
-
var _a, _b, _c;
|
|
86
|
-
const dismissible = this.pendingToasts.filter(t => t.dismissible);
|
|
87
|
-
const transient = this.pendingToasts.filter(t => !t.dismissible);
|
|
88
|
-
this.telemetryService.trackEvent(`${event.action} toast`, {
|
|
89
|
-
action: event.action,
|
|
90
|
-
source: event.source,
|
|
91
|
-
hasDismissiblePending: dismissible.length > 0 ? 'yes' : 'no',
|
|
92
|
-
dismissiblePendingLength: `${dismissible.length}`,
|
|
93
|
-
hasTransientPending: transient.length > 0 ? 'yes' : 'no',
|
|
94
|
-
transientPendingLength: `${transient.length}`,
|
|
95
|
-
toastId: (_a = event.toast.id) !== null && _a !== void 0 ? _a : '',
|
|
96
|
-
toastType: event.toast.type,
|
|
97
|
-
toastMessage: event.toast.message,
|
|
98
|
-
toastDismissible: `${event.toast.dismissible}`,
|
|
99
|
-
toastIcon: (_b = event.toast.icon) !== null && _b !== void 0 ? _b : '',
|
|
100
|
-
toastAction: (_c = event.toast.actionLabel) !== null && _c !== void 0 ? _c : '',
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
ToasterComponent.decorators = [
|
|
105
|
-
{ type: Component, args: [{
|
|
106
|
-
selector: 'ec-toaster',
|
|
107
|
-
template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\r\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\r\n (closed)=\"updateVisibleToast($event)\">\r\n</ec-toast>\r\n\r\n<ec-toast #timedToast\r\n [toastItem]=\"currentTimedToast\"\r\n (closed)=\"updateVisibleToast($event)\">\r\n</ec-toast>"
|
|
108
|
-
},] }
|
|
109
|
-
];
|
|
110
|
-
ToasterComponent.ctorParameters = () => [
|
|
111
|
-
{ type: ToastService },
|
|
112
|
-
{ type: TelemetryService }
|
|
113
|
-
];
|
|
114
|
-
ToasterComponent.propDecorators = {
|
|
115
|
-
timedToastEl: [{ type: ViewChild, args: ['timedToast', { static: false, read: ElementRef },] }]
|
|
116
|
-
};
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b2FzdC90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTWhELE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxZQUEwQixFQUMxQixnQkFBa0M7UUFEbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVJyQywyQkFBc0IsR0FBVyxDQUFDLENBQUM7UUFHbEMsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSzlCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekUsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssRUFBRTtnQkFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCO2lCQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsdUJBQXVCLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzdILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUFpQjtRQUN6QyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzNCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hEO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFnQjtRQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUN6RyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO2FBQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzVCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7U0FDdEM7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsMkdBQTJHO0lBQ25HLFlBQVksQ0FBQyxXQUFvQjtRQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDMUUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxnREFBZ0Q7SUFDeEMsZUFBZSxDQUFDLEtBQWdCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxrRUFBa0U7SUFDMUQsa0JBQWtCLENBQUMsS0FBZ0I7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLDRCQUE0QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQy9DLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDdkY7YUFBTTtZQUNMLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWlCOztRQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxRQUFRLEVBQUU7WUFDeEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixxQkFBcUIsRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzVELHdCQUF3QixFQUFFLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUNqRCxtQkFBbUIsRUFBRSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3hELHNCQUFzQixFQUFFLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUM3QyxPQUFPLFFBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLG1DQUFJLEVBQUU7WUFDN0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUMzQixZQUFZLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPO1lBQ2pDLGdCQUFnQixFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDOUMsU0FBUyxRQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxtQ0FBSSxFQUFFO1lBQ2pDLFdBQVcsUUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsbUNBQUksRUFBRTtTQUMzQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUEvR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixzVkFBdUM7YUFDeEM7OztZQUxRLFlBQVk7WUFGWixnQkFBZ0I7OzsyQkFhdEIsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGVsZW1ldHJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdGVsZW1ldHJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdEV2ZW50LCBUb2FzdEl0ZW0gfSBmcm9tICcuLi90b2FzdC10eXBlcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy10b2FzdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3Rlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50VGltZWRUb2FzdD86IFRvYXN0SXRlbTtcclxuICBwdWJsaWMgY3VycmVudERpc21pc3NpYmxlVG9hc3Q/OiBUb2FzdEl0ZW07XHJcbiAgcHVibGljIGRpc21pc3NpYmxlVG9hc3RCb3R0b206IG51bWJlciA9IDA7XHJcbiAgQFZpZXdDaGlsZCgndGltZWRUb2FzdCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSB0aW1lZFRvYXN0RWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBcclxuICBwcml2YXRlIHBlbmRpbmdUb2FzdHM6IFRvYXN0SXRlbVtdID0gW107XHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRlbGVtZXRyeVNlcnZpY2U6IFRlbGVtZXRyeVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG9hc3RTZXJ2aWNlLmV2ZW50cy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgIGlmIChldmVudC5hY3Rpb24gPT0gJ2FkZCcpIHtcclxuICAgICAgICB0aGlzLmFkZFRvYXN0KGV2ZW50LnRvYXN0KTtcclxuICAgICAgICB0aGlzLnVwZGF0ZURpc21pc3NpYmxlVG9hc3RCb3R0b20oKTtcclxuICAgICAgICB0aGlzLnRyYWNrRXZlbnQoZXZlbnQpO1xyXG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmFjdGlvbiA9PSAncmVtb3ZlJyAmJiBldmVudC50b2FzdCAhPT0gdGhpcy5jdXJyZW50RGlzbWlzc2libGVUb2FzdCAmJiBldmVudC50b2FzdCAhPT0gdGhpcy5jdXJyZW50VGltZWRUb2FzdCkge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlUGVuZGluZ1RvYXN0KGV2ZW50LnRvYXN0KTtcclxuICAgICAgICB0aGlzLnRyYWNrRXZlbnQoZXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWaXNpYmxlVG9hc3QoZXZlbnQ6IFRvYXN0RXZlbnQpIHtcclxuICAgIGlmIChldmVudC50b2FzdC5kaXNtaXNzaWJsZSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnREaXNtaXNzaWJsZVRvYXN0ID0gdGhpcy5nZXROZXh0VG9hc3QodHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmN1cnJlbnRUaW1lZFRvYXN0ID0gdGhpcy5nZXROZXh0VG9hc3QoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlRGlzbWlzc2libGVUb2FzdEJvdHRvbSgpO1xyXG4gICAgdGhpcy50cmFja0V2ZW50KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkVG9hc3QodG9hc3Q6IFRvYXN0SXRlbSkge1xyXG4gICAgaWYgKCh0b2FzdC5kaXNtaXNzaWJsZSAmJiB0aGlzLmN1cnJlbnREaXNtaXNzaWJsZVRvYXN0KSB8fCAoIXRvYXN0LmRpc21pc3NpYmxlICYmIHRoaXMuY3VycmVudFRpbWVkVG9hc3QpKSB7XHJcbiAgICAgIHRoaXMuYWRkUGVuZGluZ1RvYXN0KHRvYXN0KTtcclxuICAgIH0gZWxzZSBpZiAodG9hc3QuZGlzbWlzc2libGUpIHtcclxuICAgICAgdGhpcy5jdXJyZW50RGlzbWlzc2libGVUb2FzdCA9IHRvYXN0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50VGltZWRUb2FzdCA9IHRvYXN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFJldHVybnMgdGhlIG5leHQgcGVuZGluZyB0b2FzdCBvZiB0aGUgc3BlY2lmaWVkIHR5cGUgYW5kIHJlbW92ZXMgaXQgZnJvbSB0aGUgbGlzdCBvZiBwZW5kaW5nIHRvYXN0cy4gKi9cclxuICBwcml2YXRlIGdldE5leHRUb2FzdChkaXNtaXNzaWJsZTogYm9vbGVhbik6IFRvYXN0SXRlbSB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCB0b2FzdCA9IHRoaXMucGVuZGluZ1RvYXN0cy5maW5kKHQgPT4gdC5kaXNtaXNzaWJsZSA9PT0gZGlzbWlzc2libGUpO1xyXG4gICAgaWYgKHRvYXN0KSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlUGVuZGluZ1RvYXN0KHRvYXN0KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0b2FzdDtcclxuICB9XHJcblxyXG4gIC8qKiBBZGQgYSB0b2FzdCB0byB0aGUgbGlzdCBvZiBwZW5kaW5nIHRvYXN0cyAqL1xyXG4gIHByaXZhdGUgYWRkUGVuZGluZ1RvYXN0KHRvYXN0OiBUb2FzdEl0ZW0pIHtcclxuICAgIHRoaXMucGVuZGluZ1RvYXN0cy5wdXNoKHRvYXN0KTtcclxuICB9XHJcblxyXG4gIC8qKiBSZW1vdmVzIHRoZSBzcGVjaWZpZWQgdG9hc3QgZnJvbSB0aGUgbGlzdCBvZiBwZW5kaW5nIHRvYXN0cyAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlUGVuZGluZ1RvYXN0KHRvYXN0OiBUb2FzdEl0ZW0pIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZW5kaW5nVG9hc3RzLmluZGV4T2YodG9hc3QpO1xyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgdGhpcy5wZW5kaW5nVG9hc3RzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogSWYgdGhlIHRpbWVkIHRvYXN0IGlzIHByZXNlbnQsIHNldHMgdGhlIGJvdHRvbSBoZWlnaHQgb2YgdGhlIGRpc21pc3NpYmxlIHRvYXN0IHRvXHJcbiAgICogdGhlIGN1cnJlbnQgaGVpZ2h0IG9mIHRoZSB0aW1lZCB0b2FzdCBwbHVzIC41cmVtIGZvciBzcGFjaW5nLlxyXG4gICAqIFJldHVybnMgMCBpZiB0aGVyZSBpc24ndCBhIHZpc2libGUgdGltZWQgdG9hc3QuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVEaXNtaXNzaWJsZVRvYXN0Qm90dG9tKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRpbWVkVG9hc3QgJiYgdGhpcy50aW1lZFRvYXN0RWwpIHtcclxuICAgICAgdGhpcy5kaXNtaXNzaWJsZVRvYXN0Qm90dG9tID0gKHRoaXMudGltZWRUb2FzdEVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgOCkgLyAxNjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlzbWlzc2libGVUb2FzdEJvdHRvbSA9IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYWNrRXZlbnQoZXZlbnQ6IFRvYXN0RXZlbnQpIHtcclxuICAgIGNvbnN0IGRpc21pc3NpYmxlID0gdGhpcy5wZW5kaW5nVG9hc3RzLmZpbHRlcih0ID0+IHQuZGlzbWlzc2libGUpO1xyXG4gICAgY29uc3QgdHJhbnNpZW50ID0gdGhpcy5wZW5kaW5nVG9hc3RzLmZpbHRlcih0ID0+ICF0LmRpc21pc3NpYmxlKTtcclxuXHJcbiAgICB0aGlzLnRlbGVtZXRyeVNlcnZpY2UudHJhY2tFdmVudChgJHtldmVudC5hY3Rpb259IHRvYXN0YCwge1xyXG4gICAgICBhY3Rpb246IGV2ZW50LmFjdGlvbixcclxuICAgICAgc291cmNlOiBldmVudC5zb3VyY2UsXHJcbiAgICAgIGhhc0Rpc21pc3NpYmxlUGVuZGluZzogZGlzbWlzc2libGUubGVuZ3RoID4gMCA/ICd5ZXMnIDogJ25vJyxcclxuICAgICAgZGlzbWlzc2libGVQZW5kaW5nTGVuZ3RoOiBgJHtkaXNtaXNzaWJsZS5sZW5ndGh9YCxcclxuICAgICAgaGFzVHJhbnNpZW50UGVuZGluZzogdHJhbnNpZW50Lmxlbmd0aCA+IDAgPyAneWVzJyA6ICdubycsXHJcbiAgICAgIHRyYW5zaWVudFBlbmRpbmdMZW5ndGg6IGAke3RyYW5zaWVudC5sZW5ndGh9YCxcclxuICAgICAgdG9hc3RJZDogZXZlbnQudG9hc3QuaWQgPz8gJycsXHJcbiAgICAgIHRvYXN0VHlwZTogZXZlbnQudG9hc3QudHlwZSxcclxuICAgICAgdG9hc3RNZXNzYWdlOiBldmVudC50b2FzdC5tZXNzYWdlLFxyXG4gICAgICB0b2FzdERpc21pc3NpYmxlOiBgJHtldmVudC50b2FzdC5kaXNtaXNzaWJsZX1gLFxyXG4gICAgICB0b2FzdEljb246IGV2ZW50LnRvYXN0Lmljb24gPz8gJycsXHJcbiAgICAgIHRvYXN0QWN0aW9uOiBldmVudC50b2FzdC5hY3Rpb25MYWJlbCA/PyAnJyxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding } from '@angular/core';
|
|
2
|
-
export class TooltipComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.position = 'top-center';
|
|
5
|
-
this.dismissible = false;
|
|
6
|
-
this.onHide = new EventEmitter();
|
|
7
|
-
}
|
|
8
|
-
hide() {
|
|
9
|
-
var _a;
|
|
10
|
-
this.onHide.next();
|
|
11
|
-
(_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
TooltipComponent.decorators = [
|
|
15
|
-
{ type: Component, args: [{
|
|
16
|
-
selector: 'ec-tooltip',
|
|
17
|
-
template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\">\r\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\r\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\r\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\r\n </header>\r\n \r\n <ng-container *ngIf=\"customContent; else textTemplate\">\r\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #textTemplate>\r\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\r\n </ng-template>\r\n \r\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\" style=\"--ec-button-color-icon: var(--ec-color-secondary-light);\"></ec-button>\r\n</article>",
|
|
18
|
-
styles: [":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color,#162f3b);border-radius:var(--ec-border-radius-card);box-shadow:var(--ec-box-shadow-overlay);color:var(--ec-tooltip-color,var(--ec-color-primary-light));position:relative}article:after{border:.625rem solid transparent;content:\"\";display:block;height:0;position:absolute;width:0}article.position-top-center:after,article.position-top-left:after,article.position-top-right:after{border-top-color:var(--ec-tooltip-background-color,#162f3b);bottom:-1.25rem}article.position-bottom-center:after,article.position-bottom-left:after,article.position-bottom-right:after{border-bottom-color:var(--ec-tooltip-background-color,#162f3b);top:-1.25rem}article.position-bottom-left:after,article.position-top-left:after{right:1rem}article.position-bottom-right:after,article.position-top-right:after{left:1rem}article.position-bottom-center:after,article.position-top-center:after{right:50%;transform:translateX(50%)}article.position-right-bottom:after,article.position-right-center:after,article.position-right-top:after{border-right-color:var(--ec-tooltip-background-color,#162f3b);left:-1.25rem}article.position-left-bottom:after,article.position-left-center:after,article.position-left-top:after{border-left-color:var(--ec-tooltip-background-color,#162f3b);right:-1.25rem}article.position-left-top:after,article.position-right-top:after{top:1rem}article.position-left-bottom:after,article.position-right-bottom:after{bottom:1rem}article.position-left-center:after,article.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-body-1,.text-heading-2{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{color:#82c0d3;font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{position:absolute;right:.25rem;top:.25rem}"]
|
|
19
|
-
},] }
|
|
20
|
-
];
|
|
21
|
-
TooltipComponent.propDecorators = {
|
|
22
|
-
backgroundColor: [{ type: HostBinding, args: ['style.--ec-tooltip-background-color',] }]
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQTZDbEYsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1FLGFBQVEsR0FBb0IsWUFBWSxDQUFDO1FBTXpDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBT3BCLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU1sRCxDQUFDO0lBSkMsSUFBSTs7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsT0FBTyxHQUFHO0lBQzdCLENBQUM7OztZQXhCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGt3QkFBdUM7O2FBRXhDOzs7OEJBWUUsV0FBVyxTQUFDLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgcmVsYXRpdmUgdG8gaXRzIGFuY2hvci4gRm9yIGV4YW1wbGUsIGlmIHBvc2l0aW9uIGlzICd0b3AtbGVmdCcgdGhlIHRoZSB0b29sdGlwIHdpbGwgYXBwZWFyIGFib3ZlIHRoZSBhbmNob3IgYW5kIGV4cGFuZCB0byB0aGUgbGVmdCBvZiB0aGUgYW5jaG9yLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgVG9vbHRpcFBvc2l0aW9uID0gJ3RvcC1sZWZ0JyB8ICd0b3AtY2VudGVyJyB8ICd0b3AtcmlnaHQnIHwgJ3JpZ2h0LXRvcCcgfCAncmlnaHQtY2VudGVyJyB8ICdyaWdodC1ib3R0b20nIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tY2VudGVyJyB8ICdib3R0b20tcmlnaHQnIHwgJ2xlZnQtdG9wJyB8ICdsZWZ0LWNlbnRlcicgfCAnbGVmdC1ib3R0b20nO1xyXG5leHBvcnQgaW50ZXJmYWNlIFRvb2x0aXBPcHRpb25zIHtcclxuICAvKipcclxuICAgKiBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHRvb2x0aXAgdGhhdCBpcyBhc3NpZ25lZCB0byB0aGUgPGFydGljbGU+IGVsZW1lbnQgdGhhdCB3cmFwcyB0aGUgdG9vbHRpcCBjb250ZW50LlxyXG4gICAqL1xyXG4gICBpZD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBUaGUgdG9vbHRpcCB0aXRsZS4gSGlkZGVuIGlmIG5vdCBkZWZpbmVkLiBUaGUgdG9vbHRpcCBoZWFkZXIgaXMgaGlkZGVuIGlmIGJvdGggdGl0bGUgYW5kIHN1YnRpbGUgYXJlIG5vdCBkZWZpbmVkLlxyXG4gICAqL1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFRleHQgdG8gZGlzcGxheSB1bmRlciB0aGUgdG9vbHRpcCB0aXRsZS4gSGlkZGVuIGlmIG5vdCBkZWZpbmVkLiBUaGUgdG9vbHRpcCBoZWFkZXIgaXMgaGlkZGVuIGlmIGJvdGggdGl0bGUgYW5kIHN1YnRpdGxlIGFyZSBub3QgZGVmaW5lZC5cclxuICAgKi9cclxuICBzdWJ0aXRsZT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBIVE1MIHN0cmluZyBmb3IgdGhlIG1haW4gY29udGVudCBvZiB0aGUgdG9vbHRpcC4gV2lsbCBiZSBpZ25vcmVkIGlmIGN1c3RvbUNvbnRlbnQgaGFzIGEgdmFsdWUuXHJcbiAgICovXHJcbiAgdGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBQcm92aWRlIGEgVGVtcGxhdGVSZWYgZm9yIGN1c3RvbSBjb250ZW50LiBJZiBjdXN0b21Db250ZW50IGlzIGRlZmluZWQsIGFueSB2YWx1ZSBmb3IgdGV4dCB3aWxsIGJlIGlnbm9yZWQuXHJcbiAgICovXHJcbiAgY3VzdG9tQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogV2hlbiB0cnVlIGEgY2xvc2UgYnV0dG9uIGFwcGVhcnMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgdG8gaGlkZSB0aGUgdG9vbHRpcC4gVXNlZnVsIHdoZW4gdG9vbHRpcHMgYXJlIHVzZWQgaW4gYSB0b3VyLiBBbiBldmVudCB3aWxsIGVtaXR0ZWQgd2hlbiB0aGUgdG9vbHRpcCBpcyBoaWRkZW4uXHJcbiAgICovXHJcbiAgZGlzbWlzc2libGU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIE51bWJlciBpbiBwaXhlbHMgb2YgdGhlIHdpZHRoIG9mIHRoZSB0b29sdGlwLiBJZiB1bmRlZmluZWQgd2lkdGggd2lsbCBiZSBhdXRvLlxyXG4gICAqL1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEN1c3RvbWl6ZSB0aGUgYmFja2dyb3VuZCBjb2xvci4gQ2FuIGJlIGFueSBjb2xvciB2YWx1ZSBvciBjc3MgdmFyaWFsYmUgd2l0aCB2YXIoKSBmdW5jdGlvbi4gRm9yIGV4YW1wbGU6IHZhcigtLWVjLWJhY2tncm91bmQtY29sb3Itc3VjY2Vzcyk7XHJcbiAgICovXHJcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtdG9vbHRpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCBpbXBsZW1lbnRzIFRvb2x0aXBPcHRpb25zIHtcclxuICBwb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3RvcC1jZW50ZXInO1xyXG4gIFxyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHN1YnRpdGxlPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgZGlzbWlzc2libGUgPSBmYWxzZTtcclxuICBjdXN0b21Db250ZW50PzogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuICBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWVjLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcicpXHJcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG5cclxuICBvbkhpZGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaGlkZSgpIHtcclxuICAgIHRoaXMub25IaWRlLm5leHQoKTtcclxuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Overlay, OverlayConfig } from "@angular/cdk/overlay";
|
|
2
|
-
import { ComponentPortal } from "@angular/cdk/portal";
|
|
3
|
-
import { Injectable } from "@angular/core";
|
|
4
|
-
import { TooltipComponent } from "./tooltip.component";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
-
export class TooltipService {
|
|
8
|
-
constructor(overlay) {
|
|
9
|
-
this.overlay = overlay;
|
|
10
|
-
this.positions = {
|
|
11
|
-
'top-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 38 },
|
|
12
|
-
'top-center': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
|
|
13
|
-
'top-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -38 },
|
|
14
|
-
'bottom-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 38 },
|
|
15
|
-
'bottom-center': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },
|
|
16
|
-
'bottom-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -38 },
|
|
17
|
-
'left-top': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -38 },
|
|
18
|
-
'left-center': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
|
|
19
|
-
'left-bottom': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 38 },
|
|
20
|
-
'right-top': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -38 },
|
|
21
|
-
'right-center': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
|
|
22
|
-
'right-bottom': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 38 }
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Show a tooltip attached to a specified element
|
|
27
|
-
*/
|
|
28
|
-
show(anchor, position = 'top-center', options) {
|
|
29
|
-
const overlayConfig = this.getOverlayConfig(anchor, this.positions[position], options === null || options === void 0 ? void 0 : options.width);
|
|
30
|
-
const overlayRef = this.overlay.create(overlayConfig);
|
|
31
|
-
const contentPortal = new ComponentPortal(TooltipComponent);
|
|
32
|
-
const contentViewRef = overlayRef.attach(contentPortal);
|
|
33
|
-
contentViewRef.instance.position = position;
|
|
34
|
-
contentViewRef.instance.id = options === null || options === void 0 ? void 0 : options.id;
|
|
35
|
-
contentViewRef.instance.title = options === null || options === void 0 ? void 0 : options.title;
|
|
36
|
-
contentViewRef.instance.subtitle = options === null || options === void 0 ? void 0 : options.subtitle;
|
|
37
|
-
contentViewRef.instance.text = options === null || options === void 0 ? void 0 : options.text;
|
|
38
|
-
contentViewRef.instance.customContent = options === null || options === void 0 ? void 0 : options.customContent;
|
|
39
|
-
contentViewRef.instance.dismissible = (options === null || options === void 0 ? void 0 : options.dismissible) || false;
|
|
40
|
-
contentViewRef.instance.backgroundColor = options === null || options === void 0 ? void 0 : options.backgroundColor;
|
|
41
|
-
contentViewRef.instance.overlayRef = overlayRef;
|
|
42
|
-
return contentViewRef.instance;
|
|
43
|
-
}
|
|
44
|
-
getOverlayConfig(element, position, width) {
|
|
45
|
-
const positionStrategy = this.overlay.position()
|
|
46
|
-
.flexibleConnectedTo(element)
|
|
47
|
-
.withPositions([position]);
|
|
48
|
-
const config = new OverlayConfig({
|
|
49
|
-
positionStrategy: positionStrategy,
|
|
50
|
-
width: width
|
|
51
|
-
});
|
|
52
|
-
return config;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
TooltipService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TooltipService_Factory() { return new TooltipService(i0.ɵɵinject(i1.Overlay)); }, token: TooltipService, providedIn: "root" });
|
|
56
|
-
TooltipService.decorators = [
|
|
57
|
-
{ type: Injectable, args: [{
|
|
58
|
-
providedIn: 'root'
|
|
59
|
-
},] }
|
|
60
|
-
];
|
|
61
|
-
TooltipService.ctorParameters = () => [
|
|
62
|
-
{ type: Overlay }
|
|
63
|
-
];
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFtQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFLeEYsTUFBTSxPQUFPLGNBQWM7SUFpQnpCLFlBQ1UsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQWhCbEIsY0FBUyxHQUF1QztZQUN0RCxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDbkcsWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUMzRixXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2RyxhQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDdEcsZUFBZSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUM5RixjQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxRyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuRyxhQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQzNGLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN4RyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwRyxjQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQzVGLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtTQUMxRyxDQUFBO0lBSUMsQ0FBQztJQUVIOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE1BQW1CLEVBQUUsV0FBNEIsWUFBWSxFQUFFLE9BQXdCO1FBQzFGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELGNBQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUU1QyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsRUFBRSxDQUFDO1FBQ3pDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLENBQUM7UUFDL0MsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsQ0FBQztRQUNyRCxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsSUFBSSxDQUFDO1FBQzdDLGNBQWMsQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxhQUFhLENBQUM7UUFDL0QsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsV0FBVyxLQUFJLEtBQUssQ0FBQztRQUNwRSxjQUFjLENBQUMsUUFBUSxDQUFDLGVBQWUsR0FBRyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsZUFBZSxDQUFDO1FBQ25FLGNBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUVoRCxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQWlDLEVBQUUsUUFBMkIsRUFBRSxLQUFjO1FBQ3JHLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7YUFDN0MsbUJBQW1CLENBQUMsT0FBTyxDQUFDO2FBQzVCLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDL0IsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLEtBQUssRUFBRSxLQUFLO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7OztZQTFERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVAyQixPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcclxuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQsIFRvb2x0aXBPcHRpb25zLCBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi90b29sdGlwLmNvbXBvbmVudFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcFNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHBvc2l0aW9uczoge1trZXk6IHN0cmluZ106IENvbm5lY3RlZFBvc2l0aW9ufSA9IHtcclxuICAgICd0b3AtbGVmdCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnYm90dG9tJywgb2Zmc2V0WDogMzggfSxcclxuICAgICd0b3AtY2VudGVyJzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXHJcbiAgICAndG9wLXJpZ2h0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFg6IC0zOCB9LFxyXG4gICAgJ2JvdHRvbS1sZWZ0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRYOiAzOCB9LFxyXG4gICAgJ2JvdHRvbS1jZW50ZXInOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcclxuICAgICdib3R0b20tcmlnaHQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogLTM4IH0sXHJcbiAgICAnbGVmdC10b3AnOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogLTM4IH0sXHJcbiAgICAnbGVmdC1jZW50ZXInOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxyXG4gICAgJ2xlZnQtYm90dG9tJzogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM4IH0sXHJcbiAgICAncmlnaHQtdG9wJzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFk6IC0zOCB9LFxyXG4gICAgJ3JpZ2h0LWNlbnRlcic6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXHJcbiAgICAncmlnaHQtYm90dG9tJzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM4IH1cclxuICB9XHJcbiAgICBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheVxyXG4gICl7fVxyXG5cclxuICAvKipcclxuICAgKiBTaG93IGEgdG9vbHRpcCBhdHRhY2hlZCB0byBhIHNwZWNpZmllZCBlbGVtZW50XHJcbiAgICovXHJcbiAgc2hvdyhhbmNob3I6IEhUTUxFbGVtZW50LCBwb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ3RvcC1jZW50ZXInLCBvcHRpb25zPzogVG9vbHRpcE9wdGlvbnMpOiBUb29sdGlwQ29tcG9uZW50IHtcclxuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0aGlzLmdldE92ZXJsYXlDb25maWcoYW5jaG9yLCB0aGlzLnBvc2l0aW9uc1twb3NpdGlvbl0sIG9wdGlvbnM/LndpZHRoKTtcclxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29udGVudFZpZXdSZWYgPSBvdmVybGF5UmVmLmF0dGFjaChjb250ZW50UG9ydGFsKTtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gcG9zaXRpb247XHJcblxyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuaWQgPSBvcHRpb25zPy5pZDtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRpdGxlID0gb3B0aW9ucz8udGl0bGU7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5zdWJ0aXRsZSA9IG9wdGlvbnM/LnN1YnRpdGxlO1xyXG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UudGV4dCA9IG9wdGlvbnM/LnRleHQ7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5jdXN0b21Db250ZW50ID0gb3B0aW9ucz8uY3VzdG9tQ29udGVudDtcclxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmRpc21pc3NpYmxlID0gb3B0aW9ucz8uZGlzbWlzc2libGUgfHwgZmFsc2U7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5iYWNrZ3JvdW5kQ29sb3IgPSBvcHRpb25zPy5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcclxuXHJcbiAgICByZXR1cm4gY29udGVudFZpZXdSZWYuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmLCBwb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24sIHdpZHRoPzogbnVtYmVyKTogT3ZlcmxheUNvbmZpZyB7XHJcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWxlbWVudClcclxuICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uXSk7XHJcblxyXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICB3aWR0aDogd2lkdGhcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjb25maWc7XHJcbiAgfVxyXG59Il19
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { Component, Input, HostBinding, Output, EventEmitter, ViewChild, TemplateRef } from '@angular/core';
|
|
2
|
-
import { MenuComponent } from '../../controls/menu/menu.component';
|
|
3
|
-
import { HierarchyItem } from '../hierarchy/hierarchy-base';
|
|
4
|
-
import { HierarchyTreeComponent } from '../hierarchy/hierarchy-tree/hierarchy-tree.component';
|
|
5
|
-
import { Overlay } from '../view-overlay/view-overlay.component';
|
|
6
|
-
export class TreeComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
/** The value of the host elements id attribute */
|
|
9
|
-
this.attrId = '';
|
|
10
|
-
this._id = '';
|
|
11
|
-
/** The tree's title displayed in the header */
|
|
12
|
-
this.treeTitle = '';
|
|
13
|
-
/** Hides the tree header when set to true */
|
|
14
|
-
this.hideTreeHeader = false;
|
|
15
|
-
/** Used when the tree is in menu mode to tell the menu if it should maintain the selected item
|
|
16
|
-
* Useful in side nav components where this tree component may exist alongside other trees or menus
|
|
17
|
-
* used for navigation. If this tree is in menu mode you would want this set to false so when you select an item
|
|
18
|
-
* from a sibling navigation element the selection will not be maintained.
|
|
19
|
-
*/
|
|
20
|
-
this.treeMenuMaintainSelectedItem = true;
|
|
21
|
-
/** Tree overlay */
|
|
22
|
-
this.status = new Overlay('hasData');
|
|
23
|
-
/** Display the tree items with a MenuComponent or a HierarchyTreeComponent */
|
|
24
|
-
this.type = 'hierarchy';
|
|
25
|
-
/** Tree dropdown menu overlay */
|
|
26
|
-
this.menuStatus = new Overlay('hasData');
|
|
27
|
-
/** The menu item template */
|
|
28
|
-
this.menuTemplateType = "checkAndLabel";
|
|
29
|
-
/**
|
|
30
|
-
* When true, the space for the icon is preserved for menu items that do not have icons.
|
|
31
|
-
* Only applicable for iconAndLabel menus. Not applicable to hierarchy trees.
|
|
32
|
-
*/
|
|
33
|
-
this.preserveIconSpace = false;
|
|
34
|
-
/** Emits the item currently selected item in the tree */
|
|
35
|
-
this.treeSelection = new EventEmitter();
|
|
36
|
-
/** Emits when a hierarchy tree item is expanded as a hook to load the item's children */
|
|
37
|
-
this.getTreeItemChildren = new EventEmitter();
|
|
38
|
-
this.templateType = 'label';
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* The ID of the component, bound to the host element's id attribute and passed
|
|
42
|
-
* to child components
|
|
43
|
-
*/
|
|
44
|
-
set id(value) {
|
|
45
|
-
this._id = value;
|
|
46
|
-
this.attrId = value;
|
|
47
|
-
}
|
|
48
|
-
;
|
|
49
|
-
get id() {
|
|
50
|
-
return this._id;
|
|
51
|
-
}
|
|
52
|
-
/** Emits when a tree item is selected */
|
|
53
|
-
onItemSelected(item) {
|
|
54
|
-
this.treeSelection.emit(item);
|
|
55
|
-
}
|
|
56
|
-
/** Emits when a hierarchy tree item is expanded to load the item's children */
|
|
57
|
-
onHierarchyGetItemChildren(item) {
|
|
58
|
-
this.getTreeItemChildren.emit(item);
|
|
59
|
-
}
|
|
60
|
-
/** Scroll to the tree item that is currently selected. */
|
|
61
|
-
scrollToSelectedItem() {
|
|
62
|
-
if (this.menuComponent) {
|
|
63
|
-
this.menuComponent.scrollToSelectedItem();
|
|
64
|
-
}
|
|
65
|
-
if (this.hierarchyTreeComponent) {
|
|
66
|
-
this.hierarchyTreeComponent.scrollToSelectedItem();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
TreeComponent.decorators = [
|
|
71
|
-
{ type: Component, args: [{
|
|
72
|
-
selector: 'ec-tree',
|
|
73
|
-
template: "<header *ngIf=\"!hideTreeHeader\"\r\n class=\"flex-shrink d-flex align-items-center border-bottom bg-content pl-2 pr-1\">\r\n <h2 id=\"{{id}}_title\"\r\n class=\"flex-grow mr-2 text-heading-1\">{{treeTitle | translate}}</h2>\r\n <ec-dropdown *ngIf=\"menuItems?.length\"\r\n id=\"{{id}}_dropdown\"\r\n class=\"flex-shrink\"\r\n icon=\"icon-menu\"\r\n [menuTemplateType]=\"menuTemplateType\"\r\n menuPosition=\"left\"\r\n [status]=\"menuStatus\"\r\n [popupFixed]=\"true\"\r\n [showArrow]=\"false\"\r\n [menuMinWidth]=\"240\"\r\n [items]=\"menuItems\">\r\n </ec-dropdown>\r\n</header>\r\n\r\n<div class=\"flex-grow d-flex\"\r\n ecOverlay\r\n [status]=\"status?.status\"\r\n [displayAsMask]=\"true\">\r\n <ng-container *ngIf=\"type === 'menu'\">\r\n <ec-menu [id]=\"id\"\r\n [items]=\"treeItems\"\r\n [templateType]=\"templateType\"\r\n [maintainSelectedItem]=\"treeMenuMaintainSelectedItem\"\r\n [truncateItems]=\"true\"\r\n (selectedChanged)=\"onItemSelected($event)\"\r\n [customMenuTemplate]=\"customTreeMenuTemplate ? customTreeMenuTemplate : undefined\"\r\n [preserveIconSpace]=\"preserveIconSpace\"\r\n class=\"flex-grow\">\r\n </ec-menu>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"type === 'hierarchy'\">\r\n <ec-hierarchy-tree [id]=\"id\"\r\n [rootNode]=\"treeHierarchy\"\r\n [hideRootNode]=\"treeHierarchyHideRootNode\"\r\n (getItemChildren)=\"onHierarchyGetItemChildren($event)\"\r\n (itemSelected)=\"onItemSelected($event)\"\r\n class=\"flex-grow d-flex\">\r\n </ec-hierarchy-tree>\r\n </ng-container>\r\n</div>",
|
|
74
|
-
styles: [":host{display:flex;flex-direction:column}header{height:3rem}ec-dropdown.fill{height:3rem;width:3rem}"]
|
|
75
|
-
},] }
|
|
76
|
-
];
|
|
77
|
-
TreeComponent.ctorParameters = () => [];
|
|
78
|
-
TreeComponent.propDecorators = {
|
|
79
|
-
attrId: [{ type: HostBinding, args: ['attr.id',] }],
|
|
80
|
-
id: [{ type: Input }],
|
|
81
|
-
treeTitle: [{ type: Input }],
|
|
82
|
-
hideTreeHeader: [{ type: Input }],
|
|
83
|
-
treeItems: [{ type: Input }],
|
|
84
|
-
treeHierarchyHideRootNode: [{ type: Input }],
|
|
85
|
-
treeHierarchy: [{ type: Input }],
|
|
86
|
-
treeMenuMaintainSelectedItem: [{ type: Input }],
|
|
87
|
-
customTreeMenuTemplate: [{ type: Input }],
|
|
88
|
-
status: [{ type: Input }],
|
|
89
|
-
type: [{ type: Input }],
|
|
90
|
-
menuItems: [{ type: Input }],
|
|
91
|
-
menuStatus: [{ type: Input }],
|
|
92
|
-
menuTemplateType: [{ type: Input }],
|
|
93
|
-
preserveIconSpace: [{ type: Input }],
|
|
94
|
-
treeSelection: [{ type: Output }],
|
|
95
|
-
getTreeItemChildren: [{ type: Output }],
|
|
96
|
-
menuComponent: [{ type: ViewChild, args: [MenuComponent,] }],
|
|
97
|
-
hierarchyTreeComponent: [{ type: ViewChild, args: [HierarchyTreeComponent,] }],
|
|
98
|
-
templateType: [{ type: Input }]
|
|
99
|
-
};
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90cmVlL3RyZWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGFBQWEsRUFBOEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBU2pFLE1BQU0sT0FBTyxhQUFhO0lBK0V4QjtRQTdFQSxrREFBa0Q7UUFDbkIsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQWMzQyxRQUFHLEdBQVcsRUFBRSxDQUFDO1FBRXpCLCtDQUErQztRQUMvQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBRXZDLDZDQUE2QztRQUM3QixtQkFBYyxHQUFhLEtBQUssQ0FBQztRQVdqRDs7OztXQUlHO1FBQ2EsaUNBQTRCLEdBQVksSUFBSSxDQUFDO1FBSzdELG1CQUFtQjtRQUNILFdBQU0sR0FBYSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxRCw4RUFBOEU7UUFDOUQsU0FBSSxHQUFjLFdBQVcsQ0FBQztRQUs5QyxpQ0FBaUM7UUFDakIsZUFBVSxHQUFhLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlELDZCQUE2QjtRQUNiLHFCQUFnQixHQUFzQixlQUFlLENBQUM7UUFFdEU7OztXQUdHO1FBQ2Esc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRW5ELHlEQUF5RDtRQUN4QyxrQkFBYSxHQUEyQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTVGLHlGQUF5RjtRQUN4RSx3QkFBbUIsR0FBZ0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVF2RSxpQkFBWSxHQUFxQixPQUFPLENBQUM7SUFFekMsQ0FBQztJQTFFakI7OztPQUdHO0lBQ0gsSUFDVyxFQUFFLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQUEsQ0FBQztJQUNGLElBQVcsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBaUVELHlDQUF5QztJQUNsQyxjQUFjLENBQUMsSUFBOEI7UUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELCtFQUErRTtJQUN4RSwwQkFBMEIsQ0FBQyxJQUFtQjtRQUNuRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCwwREFBMEQ7SUFDbkQsb0JBQW9CO1FBQ3pCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDM0M7UUFFRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixJQUFJLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUNwRDtJQUNILENBQUM7OztZQXpHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLHU0REFBb0M7O2FBRXJDOzs7O3FCQUlFLFdBQVcsU0FBQyxTQUFTO2lCQU1yQixLQUFLO3dCQVdMLEtBQUs7NkJBR0wsS0FBSzt3QkFHTCxLQUFLO3dDQUdMLEtBQUs7NEJBR0wsS0FBSzsyQ0FPTCxLQUFLO3FDQUdMLEtBQUs7cUJBR0wsS0FBSzttQkFHTCxLQUFLO3dCQUdMLEtBQUs7eUJBR0wsS0FBSzsrQkFHTCxLQUFLO2dDQU1MLEtBQUs7NEJBR0wsTUFBTTtrQ0FHTixNQUFNOzRCQUdOLFNBQVMsU0FBQyxhQUFhO3FDQUd2QixTQUFTLFNBQUMsc0JBQXNCOzJCQUVoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQsIE1lbnVJdGVtLCBNZW51VGVtcGxhdGVUeXBlIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvbWVudS9tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhpZXJhcmNoeUl0ZW0gfSBmcm9tICcuLi9oaWVyYXJjaHkvaGllcmFyY2h5LWJhc2UnO1xyXG5pbXBvcnQgeyBIaWVyYXJjaHlUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi4vaGllcmFyY2h5L2hpZXJhcmNoeS10cmVlL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi92aWV3LW92ZXJsYXkvdmlldy1vdmVybGF5LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgdHlwZSBUcmVlVHlwZSA9ICdoaWVyYXJjaHknIHwgJ21lbnUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy10cmVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmVlQ29tcG9uZW50IHtcclxuXHJcbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgaG9zdCBlbGVtZW50cyBpZCBhdHRyaWJ1dGUgKi9cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBwdWJsaWMgYXR0cklkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIElEIG9mIHRoZSBjb21wb25lbnQsIGJvdW5kIHRvIHRoZSBob3N0IGVsZW1lbnQncyBpZCBhdHRyaWJ1dGUgYW5kIHBhc3NlZFxyXG4gICAqIHRvIGNoaWxkIGNvbXBvbmVudHNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaWQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5faWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuYXR0cklkID0gdmFsdWU7XHJcbiAgfTtcclxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faWQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIFRoZSB0cmVlJ3MgdGl0bGUgZGlzcGxheWVkIGluIHRoZSBoZWFkZXIgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdHJlZVRpdGxlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIEhpZGVzIHRoZSB0cmVlIGhlYWRlciB3aGVuIHNldCB0byB0cnVlICovXHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVUcmVlSGVhZGVyPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogSXRlbXMgdG8gZGlzcGxheSBpbiB0aGUgdHJlZSB3aGVuIHR5cGUgaXMgJ21lbnUnICovXHJcbiAgQElucHV0KCkgcHVibGljIHRyZWVJdGVtcz86IE1lbnVJdGVtW107XHJcblxyXG4gIC8qKiBIaWRlIHRoZSByb290IHRyZWUgaXRlbSB3aGVuIHR5cGUgaXMgJ2hpZXJhcmNoeScgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdHJlZUhpZXJhcmNoeUhpZGVSb290Tm9kZT86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBJdGVtcyB0byBkaXNwbGF5IGluIHRoZSB0cmVlIHdoZW4gdHlwZSBpcyAnaGllcmFyY2h5JyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0cmVlSGllcmFyY2h5PzogSGllcmFyY2h5SXRlbTtcclxuXHJcbiAgLyoqIFVzZWQgd2hlbiB0aGUgdHJlZSBpcyBpbiBtZW51IG1vZGUgdG8gdGVsbCB0aGUgbWVudSBpZiBpdCBzaG91bGQgbWFpbnRhaW4gdGhlIHNlbGVjdGVkIGl0ZW1cclxuICAgKiAgVXNlZnVsIGluIHNpZGUgbmF2IGNvbXBvbmVudHMgd2hlcmUgdGhpcyB0cmVlIGNvbXBvbmVudCBtYXkgZXhpc3QgYWxvbmdzaWRlIG90aGVyIHRyZWVzIG9yIG1lbnVzXHJcbiAgICogIHVzZWQgZm9yIG5hdmlnYXRpb24uIElmIHRoaXMgdHJlZSBpcyBpbiBtZW51IG1vZGUgeW91IHdvdWxkIHdhbnQgdGhpcyBzZXQgdG8gZmFsc2Ugc28gd2hlbiB5b3Ugc2VsZWN0IGFuIGl0ZW1cclxuICAgKiAgZnJvbSBhIHNpYmxpbmcgbmF2aWdhdGlvbiBlbGVtZW50IHRoZSBzZWxlY3Rpb24gd2lsbCBub3QgYmUgbWFpbnRhaW5lZC5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgdHJlZU1lbnVNYWludGFpblNlbGVjdGVkSXRlbTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKiBVc2VkIHdoZW4gYSBjdXN0b20gdGVtcGxhdGUgaXMgbmVlZGVkIGZvciB0aGUgbWVudSBpdGVtcyB3aGVuIHRoZSB0cmVlIGlzIGluIG1lbnUgbW9kZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21UcmVlTWVudVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqIFRyZWUgb3ZlcmxheSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdGF0dXM/OiBPdmVybGF5ID0gbmV3IE92ZXJsYXkoJ2hhc0RhdGEnKTtcclxuXHJcbiAgLyoqIERpc3BsYXkgdGhlIHRyZWUgaXRlbXMgd2l0aCBhIE1lbnVDb21wb25lbnQgb3IgYSBIaWVyYXJjaHlUcmVlQ29tcG9uZW50ICovXHJcbiAgQElucHV0KCkgcHVibGljIHR5cGU/OiBUcmVlVHlwZSA9ICdoaWVyYXJjaHknO1xyXG5cclxuICAvKiogSXRlbXMgdG8gZGlzcGxheSBpbiB0aGUgZHJvcGRvd24gbWVudSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtZW51SXRlbXM/OiBNZW51SXRlbVtdO1xyXG5cclxuICAvKiogVHJlZSBkcm9wZG93biBtZW51IG92ZXJsYXkgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbWVudVN0YXR1cz86IE92ZXJsYXkgPSBuZXcgT3ZlcmxheSgnaGFzRGF0YScpO1xyXG5cclxuICAvKiogVGhlIG1lbnUgaXRlbSB0ZW1wbGF0ZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtZW51VGVtcGxhdGVUeXBlPzogTWVudVRlbXBsYXRlVHlwZSA9IFwiY2hlY2tBbmRMYWJlbFwiO1xyXG5cclxuICAvKiogXHJcbiAgICogV2hlbiB0cnVlLCB0aGUgc3BhY2UgZm9yIHRoZSBpY29uIGlzIHByZXNlcnZlZCBmb3IgbWVudSBpdGVtcyB0aGF0IGRvIG5vdCBoYXZlIGljb25zLlxyXG4gICAqIE9ubHkgYXBwbGljYWJsZSBmb3IgaWNvbkFuZExhYmVsIG1lbnVzLiBOb3QgYXBwbGljYWJsZSB0byBoaWVyYXJjaHkgdHJlZXMuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHByZXNlcnZlSWNvblNwYWNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBFbWl0cyB0aGUgaXRlbSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbSBpbiB0aGUgdHJlZSAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgdHJlZVNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPE1lbnVJdGVtIHwgSGllcmFyY2h5SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKiBFbWl0cyB3aGVuIGEgaGllcmFyY2h5IHRyZWUgaXRlbSBpcyBleHBhbmRlZCBhcyBhIGhvb2sgdG8gbG9hZCB0aGUgaXRlbSdzIGNoaWxkcmVuICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBnZXRUcmVlSXRlbUNoaWxkcmVuOiBFdmVudEVtaXR0ZXI8SGllcmFyY2h5SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIE1lbnVDb21wb25lbnQgaW5zdGFuY2UgaW4gdGhlIHRlbXBsYXRlICovXHJcbiAgQFZpZXdDaGlsZChNZW51Q29tcG9uZW50KSBwdWJsaWMgbWVudUNvbXBvbmVudD86IE1lbnVDb21wb25lbnQ7XHJcblxyXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIEhpZXJhcmNoeVRyZWVDb21wb25lbnQgaW5zdGFuY2UgaW4gdGhlIHRlbXBsYXRlICovXHJcbiAgQFZpZXdDaGlsZChIaWVyYXJjaHlUcmVlQ29tcG9uZW50KSBwdWJsaWMgaGllcmFyY2h5VHJlZUNvbXBvbmVudD86IEhpZXJhcmNoeVRyZWVDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0ZW1wbGF0ZVR5cGU6IE1lbnVUZW1wbGF0ZVR5cGUgPSAnbGFiZWwnO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8qKiBFbWl0cyB3aGVuIGEgdHJlZSBpdGVtIGlzIHNlbGVjdGVkICovXHJcbiAgcHVibGljIG9uSXRlbVNlbGVjdGVkKGl0ZW06IE1lbnVJdGVtIHwgSGllcmFyY2h5SXRlbSkge1xyXG4gICAgdGhpcy50cmVlU2VsZWN0aW9uLmVtaXQoaXRlbSk7XHJcbiAgfVxyXG5cclxuICAvKiogRW1pdHMgd2hlbiBhIGhpZXJhcmNoeSB0cmVlIGl0ZW0gaXMgZXhwYW5kZWQgdG8gbG9hZCB0aGUgaXRlbSdzIGNoaWxkcmVuICovXHJcbiAgcHVibGljIG9uSGllcmFyY2h5R2V0SXRlbUNoaWxkcmVuKGl0ZW06IEhpZXJhcmNoeUl0ZW0pIHtcclxuICAgIHRoaXMuZ2V0VHJlZUl0ZW1DaGlsZHJlbi5lbWl0KGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNjcm9sbCB0byB0aGUgdHJlZSBpdGVtIHRoYXQgaXMgY3VycmVudGx5IHNlbGVjdGVkLiAqL1xyXG4gIHB1YmxpYyBzY3JvbGxUb1NlbGVjdGVkSXRlbSgpIHtcclxuICAgIGlmICh0aGlzLm1lbnVDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5tZW51Q29tcG9uZW50LnNjcm9sbFRvU2VsZWN0ZWRJdGVtKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaGllcmFyY2h5VHJlZUNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLmhpZXJhcmNoeVRyZWVDb21wb25lbnQuc2Nyb2xsVG9TZWxlY3RlZEl0ZW0oKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Component, Input, TemplateRef } from '@angular/core';
|
|
2
|
-
export class Overlay {
|
|
3
|
-
constructor(status, message) {
|
|
4
|
-
this.status = 'hasData';
|
|
5
|
-
this.message = '';
|
|
6
|
-
this.setStatus(status, message);
|
|
7
|
-
}
|
|
8
|
-
setStatus(status, message, action, noDataTemplate, overlayClassList) {
|
|
9
|
-
this.status = status;
|
|
10
|
-
this.message = message || '';
|
|
11
|
-
this.action = action || undefined;
|
|
12
|
-
this.noDataTemplate = noDataTemplate || undefined;
|
|
13
|
-
this.overlayClassList = overlayClassList || '';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Wraps content in order to show pending, error, and no data states with an optional message/noDataTemplate
|
|
18
|
-
*/
|
|
19
|
-
export class ViewOverlayComponent {
|
|
20
|
-
constructor() {
|
|
21
|
-
this.status = 'hasData';
|
|
22
|
-
}
|
|
23
|
-
setStatus(status, message, action, noDataTemplate) {
|
|
24
|
-
this.status = status;
|
|
25
|
-
this.message = message || '';
|
|
26
|
-
this.action = action || undefined;
|
|
27
|
-
this.noDataTemplate = noDataTemplate || undefined;
|
|
28
|
-
}
|
|
29
|
-
actionClicked(event) {
|
|
30
|
-
if (this.action && this.action.onClick) {
|
|
31
|
-
this.action.onClick(event);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
ViewOverlayComponent.decorators = [
|
|
36
|
-
{ type: Component, args: [{
|
|
37
|
-
selector: '[ecOverlay]',
|
|
38
|
-
template: "<!-- Transcluded Content -->\r\n<ng-content *ngIf=\"displayAsMask || (!displayAsMask && status === 'hasData')\"></ng-content>\r\n<!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact-->\r\n<span [hidden]=\"true\"\r\n\t class=\"overlay-status-{{status}}\"></span>\r\n<!-- Overlay goes last so it is rendered on top of preceding content due to source order -->\r\n<div *ngIf=\"status !== 'hasData'\"\r\n\t class=\"overlay flex-grow {{overlayClassList}}\"\r\n\t [ngClass]=\"{'not-mask': !displayAsMask,\r\n\t\t\t\t'overlay-error': status === 'error',\r\n\t\t\t\t'overlay-nodata': status === 'noData',\r\n\t\t\t\t'overlay-pending': status === 'pending'}\">\r\n\r\n\t<!--Pending Spinner-->\r\n\t<ec-spinner [hidden]=\"status !== 'pending'\"></ec-spinner>\r\n\r\n\t<ng-template [ngIf]=\"status === 'noData' && noDataTemplate\">\r\n\t\t<ng-container *ngTemplateOutlet=\"noDataTemplate\"></ng-container>\r\n\t</ng-template>\r\n\r\n\t<ng-container *ngIf=\"(status === 'noData' && !noDataTemplate) || status !== 'noData'\">\r\n\t\t<!--Status Message-->\r\n\t\t<div id=\"statusMessage\"\r\n\t\t\t class=\"message\"\r\n\t\t\t *ngIf=\"message\"\r\n\t\t\t [ngClass]=\"{'error': status === 'error', 'mt-1': status === 'pending'}\"\r\n\t\t\t [innerHtml]=\"message | translate\">\r\n\t\t</div>\r\n\r\n\t\t<!-- Action -->\r\n\t\t<ec-button type=\"common\"\r\n\t\t\t\t class=\"mt-3\"\r\n\t\t\t\t *ngIf=\"action?.onClick\"\r\n\t\t\t\t [icon]=\"action?.icon\"\r\n\t\t\t\t (clicked)=\"actionClicked($event)\"\r\n\t\t\t\t [label]=\"action?.label\"\r\n\t\t\t\t [hidden]=\"status === 'pending'\">\r\n\t\t</ec-button>\r\n\t</ng-container>\r\n\r\n</div>",
|
|
39
|
-
styles: [":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-background-color);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;padding:3rem 4rem;position:absolute;right:0;top:0;z-index:var(--ec-z-index-overlay)}.overlay.not-mask{min-height:100%;position:relative}.message{color:var(--ec-color-secondary-dark)}.message,.message.error{font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger)}"]
|
|
40
|
-
},] }
|
|
41
|
-
];
|
|
42
|
-
ViewOverlayComponent.propDecorators = {
|
|
43
|
-
status: [{ type: Input }],
|
|
44
|
-
message: [{ type: Input }],
|
|
45
|
-
action: [{ type: Input }],
|
|
46
|
-
noDataTemplate: [{ type: Input }],
|
|
47
|
-
displayAsMask: [{ type: Input }],
|
|
48
|
-
overlayClassList: [{ type: Input }]
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3ZpZXctb3ZlcmxheS92aWV3LW92ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk5RCxNQUFNLE9BQU8sT0FBTztJQVdsQixZQUFZLE1BQWtCLEVBQUUsT0FBZ0I7UUFOaEQsV0FBTSxHQUFlLFNBQVMsQ0FBQztRQUMvQixZQUFPLEdBQVksRUFBRSxDQUFDO1FBTXBCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxTQUFTLENBQUMsTUFBa0IsRUFBRSxPQUFnQixFQUFFLE1BQWdCLEVBQUUsY0FBaUMsRUFBRSxnQkFBeUI7UUFDNUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsSUFBSSxTQUFTLENBQUM7UUFDbEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0NBQ0Y7QUFHRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFNVyxXQUFNLEdBQWUsU0FBUyxDQUFDO0lBNkIxQyxDQUFDO0lBWkMsU0FBUyxDQUFDLE1BQWtCLEVBQUUsT0FBZ0IsRUFBRSxNQUFnQixFQUFFLGNBQWlDO1FBQ2pHLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLElBQUksU0FBUyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDOzs7WUFsQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixtcURBQTRDOzthQUU3Qzs7O3FCQUVFLEtBQUs7c0JBQ0wsS0FBSztxQkFHTCxLQUFLOzZCQUNMLEtBQUs7NEJBS0wsS0FBSzsrQkFLTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL25hdmlnYXRpb24vbmF2LWl0ZW0nO1xyXG5pbXBvcnQgeyBEaXNwbGF5U3RhdHVzLCBWaWV3U3RhdHVzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Rpc3BsYXknO1xyXG5cclxuZXhwb3J0IGNsYXNzIE92ZXJsYXkgaW1wbGVtZW50cyBEaXNwbGF5U3RhdHVzIHtcclxuICAvKiogIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQgZHVlIHRvIG5vRGF0YVRlbXBsYXRlIGJlaW5nIHByZWZlcmVkICovXHJcbiAgYWN0aW9uPzogTmF2SXRlbTtcclxuICBub0RhdGFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgZGlzcGxheUFzTWFzaz86IGJvb2xlYW47XHJcbiAgc3RhdHVzOiBWaWV3U3RhdHVzID0gJ2hhc0RhdGEnO1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIEFkZGl0aW9uIGNzcyBjbGFzc2VzIHRvIGFwcGx5IHRvIHRoZSAub3ZlcmxheSBlbGVtZW50ICovXHJcbiAgb3ZlcmxheUNsYXNzTGlzdD86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3Ioc3RhdHVzOiBWaWV3U3RhdHVzLCBtZXNzYWdlPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNldFN0YXR1cyhzdGF0dXMsIG1lc3NhZ2UpO1xyXG4gIH1cclxuICBzZXRTdGF0dXMoc3RhdHVzOiBWaWV3U3RhdHVzLCBtZXNzYWdlPzogc3RyaW5nLCBhY3Rpb24/OiBOYXZJdGVtLCBub0RhdGFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sIG92ZXJsYXlDbGFzc0xpc3Q/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhdHVzID0gc3RhdHVzO1xyXG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZSB8fCAnJztcclxuICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uIHx8IHVuZGVmaW5lZDtcclxuICAgIHRoaXMubm9EYXRhVGVtcGxhdGUgPSBub0RhdGFUZW1wbGF0ZSB8fCB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLm92ZXJsYXlDbGFzc0xpc3QgPSBvdmVybGF5Q2xhc3NMaXN0IHx8ICcnO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBXcmFwcyBjb250ZW50IGluIG9yZGVyIHRvIHNob3cgcGVuZGluZywgZXJyb3IsIGFuZCBubyBkYXRhIHN0YXRlcyB3aXRoIGFuIG9wdGlvbmFsIG1lc3NhZ2Uvbm9EYXRhVGVtcGxhdGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnW2VjT3ZlcmxheV0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ZpZXctb3ZlcmxheS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3T3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE92ZXJsYXkge1xyXG4gIEBJbnB1dCgpIHN0YXR1czogVmlld1N0YXR1cyA9ICdoYXNEYXRhJztcclxuICBASW5wdXQoKSBtZXNzYWdlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKiogIEBkZXByZWNhdGVkIERlcHJlY2F0ZWQgZHVlIHRvIG5vRGF0YVRlbXBsYXRlIGJlaW5nIHByZWZlcmVkICovXHJcbiAgQElucHV0KCkgYWN0aW9uPzogTmF2SXRlbSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBub0RhdGFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hc2sgKG5vdCByZW1vdmUpIHRoZSB0cmFuc2NsdWRlZCBjb250ZW50IGZyb20gdGhlIGRvbSB3aGlsZSBub3QgaGFzRGF0YSBzdGF0dXMuXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzcGxheUFzTWFzaz86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBcclxuICAgKiBBZGRpdGlvbmFsIGNzcyBjbGFzc2VzIHRvIGFwcGx5IHRvIHRoZSAub3ZlcmxheSBlbGVtZW50IFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG92ZXJsYXlDbGFzc0xpc3Q/OiBzdHJpbmc7XHJcblxyXG4gIHNldFN0YXR1cyhzdGF0dXM6IFZpZXdTdGF0dXMsIG1lc3NhZ2U/OiBzdHJpbmcsIGFjdGlvbj86IE5hdkl0ZW0sIG5vRGF0YVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55Pik6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7XHJcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlIHx8ICcnO1xyXG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb24gfHwgdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5ub0RhdGFUZW1wbGF0ZSA9IG5vRGF0YVRlbXBsYXRlIHx8IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGFjdGlvbkNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWN0aW9uICYmIHRoaXMuYWN0aW9uLm9uQ2xpY2spIHtcclxuICAgICAgdGhpcy5hY3Rpb24ub25DbGljayhldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, HostListener, HostBinding } from '@angular/core';
|
|
2
|
-
export class ClickAreaForDirective {
|
|
3
|
-
constructor() { }
|
|
4
|
-
ngOnInit() {
|
|
5
|
-
var _a;
|
|
6
|
-
this.isTargetClickable = typeof ((_a = this.targetEl) === null || _a === void 0 ? void 0 : _a.dispatchEvent) === 'function';
|
|
7
|
-
}
|
|
8
|
-
onClick(event) {
|
|
9
|
-
if (this.isTargetClickable) {
|
|
10
|
-
event.preventDefault();
|
|
11
|
-
this.targetEl.dispatchEvent(new Event('click'));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
ClickAreaForDirective.decorators = [
|
|
16
|
-
{ type: Directive, args: [{
|
|
17
|
-
selector: '[ecClickAreaFor]'
|
|
18
|
-
},] }
|
|
19
|
-
];
|
|
20
|
-
ClickAreaForDirective.ctorParameters = () => [];
|
|
21
|
-
ClickAreaForDirective.propDecorators = {
|
|
22
|
-
targetEl: [{ type: HostBinding, args: ['class.cursor-pointer',] }, { type: Input, args: ['ecClickAreaFor',] }],
|
|
23
|
-
onClick: [{ type: HostListener, args: ['click', ['$event'],] }]
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stYXJlYS1mb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL2NsaWNrLWFyZWEtZm9yL2NsaWNrLWFyZWEtZm9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBU3BGLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEMsZ0JBQWUsQ0FBQztJQUVoQixRQUFROztRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxjQUFPLElBQUksQ0FBQyxRQUFRLDBDQUFFLGFBQWEsQ0FBQSxLQUFLLFVBQVUsQ0FBQztJQUM5RSxDQUFDO0lBRWtDLE9BQU8sQ0FBQyxLQUFZO1FBQ3JELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQzs7O1lBdEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2FBQzdCOzs7O3VCQUdFLFdBQVcsU0FBQyxzQkFBc0IsY0FDbEMsS0FBSyxTQUFDLGdCQUFnQjtzQkFXdEIsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlja2FibGVFbGVtZW50IHtcclxuICBkaXNwYXRjaEV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQ7XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2VjQ2xpY2tBcmVhRm9yXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENsaWNrQXJlYUZvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY3Vyc29yLXBvaW50ZXInKVxyXG4gIEBJbnB1dCgnZWNDbGlja0FyZWFGb3InKSBcclxuICBwdWJsaWMgdGFyZ2V0RWw/OiBhbnk7XHJcblxyXG4gIHByaXZhdGUgaXNUYXJnZXRDbGlja2FibGUhOiBib29sZWFuO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlzVGFyZ2V0Q2xpY2thYmxlID0gdHlwZW9mIHRoaXMudGFyZ2V0RWw/LmRpc3BhdGNoRXZlbnQgPT09ICdmdW5jdGlvbic7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5pc1RhcmdldENsaWNrYWJsZSkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB0aGlzLnRhcmdldEVsLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjbGljaycpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|