@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,137 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { ValidationMessageService } from '../../core/validation-message.service';
|
|
3
|
-
import { FormGroupHelper } from '../../shared/form-group.helper';
|
|
4
|
-
import { FormControlBase } from "../form-control-base";
|
|
5
|
-
import { takeUntil, distinctUntilChanged } from 'rxjs/operators';
|
|
6
|
-
import { Subject, merge } from 'rxjs';
|
|
7
|
-
export class CheckboxComponent extends FormControlBase {
|
|
8
|
-
constructor(validationMessageService, formGroupHelper) {
|
|
9
|
-
super(validationMessageService, formGroupHelper);
|
|
10
|
-
this.validationMessageService = validationMessageService;
|
|
11
|
-
this.formGroupHelper = formGroupHelper;
|
|
12
|
-
/**
|
|
13
|
-
* The name of the checkbox input element
|
|
14
|
-
*/
|
|
15
|
-
this.name = '';
|
|
16
|
-
/**
|
|
17
|
-
* Determines whether to ignore or include disabled dependent checkboxes in the check to determine the checkbox state.
|
|
18
|
-
*/
|
|
19
|
-
this.ignoreDisabledDependents = true;
|
|
20
|
-
/**
|
|
21
|
-
* If the checkbox is a master checkbox (i.e. it has a dependentCheckboxesGroup),
|
|
22
|
-
* indeterminate is true if there are some checked dependents and some unchecked dependents.
|
|
23
|
-
*/
|
|
24
|
-
this.indeterminate = false;
|
|
25
|
-
//Used to prevent valueChanges loops in the master checkbox and dependent checkboxes value changes.
|
|
26
|
-
this.ignoreCall = false;
|
|
27
|
-
/** Fired whenever the dependent checkboxes are changed to clear out subscriptions to the previous dependents */
|
|
28
|
-
this.resetDependentSubscriptions = new Subject();
|
|
29
|
-
}
|
|
30
|
-
ngAfterViewInit() {
|
|
31
|
-
if (this.autofocus) {
|
|
32
|
-
this.inputElement.nativeElement.focus();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
ngOnChanges(changes) {
|
|
36
|
-
if (changes.dependentCheckboxesGroup) {
|
|
37
|
-
this.setupDependents();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
dispatchEvent(event) {
|
|
41
|
-
if (event.type === 'click' && !this.formModel.disabled) {
|
|
42
|
-
this.formModel.patchValue(!this.formModel.value);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Create watchers that allow the master and dependent checkbox states to stay in sync as the user interacts with them.
|
|
47
|
-
* Dependents can update the master when their values change and the master updates dependents when the value changes.
|
|
48
|
-
*/
|
|
49
|
-
setupDependents() {
|
|
50
|
-
if (!this.dependentCheckboxesGroup) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
// Remove any subscriptions to previous dependents
|
|
54
|
-
this.resetDependentSubscriptions.next();
|
|
55
|
-
//Extract the values (i.e. the checkboxes) from the FormGroup controls key-value map and return them.
|
|
56
|
-
let dependentCheckboxes = Object.values(this.dependentCheckboxesGroup.controls);
|
|
57
|
-
this.updateMasterState(dependentCheckboxes);
|
|
58
|
-
//When the master value changes, we set all its dependents to that value.
|
|
59
|
-
//We also set indeterminate to false since we know that all dependents will either be checked or unchecked.
|
|
60
|
-
this.formModel.valueChanges.pipe(distinctUntilChanged(), takeUntil(merge(this.componentDestroyed, this.resetDependentSubscriptions))).subscribe((value) => {
|
|
61
|
-
if (!this.ignoreCall) {
|
|
62
|
-
this.ignoreCall = true; //Ignore any value changes calls on the dependents to prevent a loop.
|
|
63
|
-
dependentCheckboxes.forEach(checkbox => {
|
|
64
|
-
if (!checkbox.disabled || !this.ignoreDisabledDependents) {
|
|
65
|
-
checkbox.setValue(value);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
this.indeterminate = false;
|
|
69
|
-
this.ignoreCall = false;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
//When a dependent value changes, we need to reevaluate the master state.
|
|
73
|
-
//We are subscribing to the form models directly instead of the entire group because we found that adding checkboxes to
|
|
74
|
-
// more than one form group causes only the last group to emit valueChanges events.
|
|
75
|
-
//That prevented combined row-master and table-master setups from working properly.
|
|
76
|
-
dependentCheckboxes.forEach(checkbox => {
|
|
77
|
-
checkbox.valueChanges.pipe(distinctUntilChanged(), takeUntil(merge(this.componentDestroyed, this.resetDependentSubscriptions))).subscribe((value) => {
|
|
78
|
-
if (value !== true && value !== false) {
|
|
79
|
-
console.error(`The value ${value} is not true or false, which are the only supported values for FormControls in the dependentCheckboxesGroup`);
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
if (!this.ignoreCall) {
|
|
83
|
-
this.ignoreCall = true; //Ignore any value changes calls on the master to prevent a loop.
|
|
84
|
-
this.updateMasterState(dependentCheckboxes);
|
|
85
|
-
this.ignoreCall = false;
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* If all dependents are true, the master should be true and determinate.
|
|
92
|
-
* If all dependents are false, the master should be false and determinate.
|
|
93
|
-
* If some dependents are true and some dependents are false, the master should be false and indeterminate.
|
|
94
|
-
*
|
|
95
|
-
* If ignoreDisabledDependents is true, does not include the disabled dependents when checking values
|
|
96
|
-
*/
|
|
97
|
-
updateMasterState(dependentCheckboxes) {
|
|
98
|
-
let dependentsToCheck = [];
|
|
99
|
-
if (this.ignoreDisabledDependents) {
|
|
100
|
-
dependentsToCheck = dependentCheckboxes.filter(checkbox => checkbox.enabled);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
dependentsToCheck = dependentCheckboxes;
|
|
104
|
-
}
|
|
105
|
-
let isTrue = (checkbox) => { return checkbox.value === true; };
|
|
106
|
-
if (dependentsToCheck.every(isTrue)) {
|
|
107
|
-
this.formModel.setValue(true);
|
|
108
|
-
this.indeterminate = false;
|
|
109
|
-
}
|
|
110
|
-
else if (dependentsToCheck.some(isTrue)) {
|
|
111
|
-
this.formModel.setValue(false);
|
|
112
|
-
this.indeterminate = true;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
this.formModel.setValue(false);
|
|
116
|
-
this.indeterminate = false;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
CheckboxComponent.decorators = [
|
|
121
|
-
{ type: Component, args: [{
|
|
122
|
-
selector: 'ec-checkbox',
|
|
123
|
-
template: "<div class=\"control\">\r\n <label class=\"checkbox\"\r\n [ngClass]=\"{'is-disabled': formModel.disabled, 'no-label': !label, 'is-readonly': readonly}\">\r\n <input id=\"{{id}}_input\"\r\n #checkboxInput\r\n class='input'\r\n [class.indeterminate]=\"indeterminate\"\r\n [attr.id]=\"inputId\"\r\n [attr.name]=\"name\"\r\n type=\"checkbox\"\r\n tabindex=\"{{tabindex}}\"\r\n [formControl]=\"formModel\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n <i class=\"ec-icon icon-check\"></i>\r\n <span id=\"{{id}}_label\"\r\n *ngIf=\"label\"\r\n class=\"label\"\r\n [innerHtml]=\"label | translate\">\r\n </span>\r\n </label>\r\n</div>\r\n",
|
|
124
|
-
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{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url('data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path fill=\"rgba(26, 26, 35, 0.66)\" d=\"M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z\"/></svg>');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host(.w-auto){width:auto}.checkbox{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.checkbox.is-disabled{cursor:default}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.ec-icon{color:var(--ec-border-color)}.input:not(:checked)+.ec-icon:before{display:none}.input.indeterminate+.ec-icon,.input:indeterminate+.ec-icon{color:var(--ec-color-interactive)}.input.indeterminate+.ec-icon:before,.input:indeterminate+.ec-icon:before{background-color:currentColor;content:\"\";display:block;height:3px;width:10px}.input:focus+.ec-icon{box-shadow:0 0 0 .0625rem var(--ec-color-interactive);color:var(--ec-color-interactive)}.input:disabled+.ec-icon{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color)}.input:disabled+.ec-icon,.input:disabled~.label{color:var(--ec-color-secondary-dark);opacity:.65}.ec-icon{align-items:center;background-clip:padding-box;background-color:var(--ec-background-color);border:1px solid;border-radius:.125rem;color:var(--ec-color-interactive);display:inline-flex;flex:none;height:1em;justify-content:center;margin-top:.5rem;pointer-events:none;width:1em}.ec-icon:before{font-size:.6875em}.label{height:2rem;height:auto;line-height:1.25;margin-left:.5rem;min-height:2rem;padding:.375rem 0}.checkbox.is-readonly{pointer-events:none}.checkbox.is-readonly .input{opacity:0}.checkbox.is-readonly .ec-icon{background-color:rgba(26,26,35,.12);border:0}.checkbox.is-readonly .ec-icon,.checkbox.is-readonly .label{color:var(--ec-color-primary-dark);opacity:1}.no-label .icon-check,.no-label .input{margin-top:0}"]
|
|
125
|
-
},] }
|
|
126
|
-
];
|
|
127
|
-
CheckboxComponent.ctorParameters = () => [
|
|
128
|
-
{ type: ValidationMessageService },
|
|
129
|
-
{ type: FormGroupHelper }
|
|
130
|
-
];
|
|
131
|
-
CheckboxComponent.propDecorators = {
|
|
132
|
-
name: [{ type: Input }],
|
|
133
|
-
dependentCheckboxesGroup: [{ type: Input }],
|
|
134
|
-
ignoreDisabledDependents: [{ type: Input }],
|
|
135
|
-
inputElement: [{ type: ViewChild, args: ['checkboxInput', { static: true },] }]
|
|
136
|
-
};
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFVdEMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUF3Q3BELFlBQ1ksd0JBQWtELEVBQ2xELGVBQWdDO1FBRTFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUh2Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQXhDNUM7O1dBRUc7UUFDYSxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBYWxDOztXQUVHO1FBQ2EsNkJBQXdCLEdBQVksSUFBSSxDQUFDO1FBT3pEOzs7V0FHRztRQUNJLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRXRDLG1HQUFtRztRQUMzRixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRXBDLGdIQUFnSDtRQUN4RyxnQ0FBMkIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBT3BELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJ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SSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3ZhbGlkYXRpb24tbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwSGVscGVyIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm0tZ3JvdXAuaGVscGVyJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xCYXNlIH0gZnJvbSBcIi4uL2Zvcm0tY29udHJvbC1iYXNlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDbGlja2FibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2RpcmVjdGl2ZXMvY2xpY2stYXJlYS1mb3IvY2xpY2stYXJlYS1mb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCB0eXBlIENoZWNrYm94U3RhdGUgPSAndW5jaGVja2VkJyB8ICdpbmRldGVybWluYXRlJyB8ICdjaGVja2VkJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtY2hlY2tib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgRm9ybUNvbnRyb2xCYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ2xpY2thYmxlRWxlbWVudCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNoZWNrYm94IGlucHV0IGVsZW1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuIG9iamVjdCB3aXRoIGEgY29sbGVjdGlvbiBvZiBGb3JtQ29udHJvbHMgd2hvIGNhbiBvbmx5IGhhdmUgYSB2YWx1ZSBvZiB0cnVlIG9yIGZhbHNlLlxyXG4gICAqIEEgRm9ybUdyb3VwIG9yIEZvcm1BcnJheSB3b3JrIGZpbmUsIG9yIGEgY3VzdG9tIG9iamVjdCByZWZlcmVuY2UgaXMgcG9zc2libGUgdG9vXHJcbiAgICogVGhlIG1hc3RlciBjaGVja2JveCB3aWxsIHJlYXR0YWNoIHRvIGRlcGVuZGVudCBjb250cm9scyBhbnkgdGltZSB0aGlzIHJlZmVyZW5jZSBjaGFuZ2VzXHJcbiAgICogVGhlIGNvbnRyb2xzIHNob3VsZCBiZSBmbGF0IChpLmUuIGlmIHVzaW5nIGEgRm9ybUdyb3VwIHRoZW4gaXQgY2Fubm90IGhhdmUgbmVzdGVkIEZvcm1Hcm91cHMgd2l0aGluIGl0KS5cclxuICAgKiBcclxuICAgKiBGb3IgZXhhbXBsZTogXHJcbiAgICogZGVwZW5kZW50Q2hlY2tib3hlc0dyb3VwID0gbmV3IEZvcm1Hcm91cCh7Y2hpbGQxOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLCBjaGlsZDI6IG5ldyBGb3JtQ29udHJvbChmYWxzZSksIGNoaWxkMzogbmV3IEZvcm1Db250cm9sKGZhbHNlKX0pXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGRlcGVuZGVudENoZWNrYm94ZXNHcm91cD86IHtjb250cm9sczogQWJzdHJhY3RDb250cm9sW10gfCB7W2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sfX07XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZXMgd2hldGhlciB0byBpZ25vcmUgb3IgaW5jbHVkZSBkaXNhYmxlZCBkZXBlbmRlbnQgY2hlY2tib3hlcyBpbiB0aGUgY2hlY2sgdG8gZGV0ZXJtaW5lIHRoZSBjaGVja2JveCBzdGF0ZS5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaWdub3JlRGlzYWJsZWREZXBlbmRlbnRzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBjaGVja2JveCBpbnB1dCBjb250cm9sXHJcbiAgKi9cclxuICBAVmlld0NoaWxkKCdjaGVja2JveElucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgcHJvdGVjdGVkIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZSBjaGVja2JveCBpcyBhIG1hc3RlciBjaGVja2JveCAoaS5lLiBpdCBoYXMgYSBkZXBlbmRlbnRDaGVja2JveGVzR3JvdXApLFxyXG4gICAqIGluZGV0ZXJtaW5hdGUgaXMgdHJ1ZSBpZiB0aGVyZSBhcmUgc29tZSBjaGVja2VkIGRlcGVuZGVudHMgYW5kIHNvbWUgdW5jaGVja2VkIGRlcGVuZGVudHMuXHJcbiAgICovXHJcbiAgcHVibGljIGluZGV0ZXJtaW5hdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy9Vc2VkIHRvIHByZXZlbnQgdmFsdWVDaGFuZ2VzIGxvb3BzIGluIHRoZSBtYXN0ZXIgY2hlY2tib3ggYW5kIGRlcGVuZGVudCBjaGVja2JveGVzIHZhbHVlIGNoYW5nZXMuXHJcbiAgcHJpdmF0ZSBpZ25vcmVDYWxsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBGaXJlZCB3aGVuZXZlciB0aGUgZGVwZW5kZW50IGNoZWNrYm94ZXMgYXJlIGNoYW5nZWQgdG8gY2xlYXIgb3V0IHN1YnNjcmlwdGlvbnMgdG8gdGhlIHByZXZpb3VzIGRlcGVuZGVudHMgKi9cclxuICBwcml2YXRlIHJlc2V0RGVwZW5kZW50U3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRpb25NZXNzYWdlU2VydmljZTogVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Hcm91cEhlbHBlcjogRm9ybUdyb3VwSGVscGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcih2YWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UsIGZvcm1Hcm91cEhlbHBlcik7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5hdXRvZm9jdXMpIHtcclxuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMuZGVwZW5kZW50Q2hlY2tib3hlc0dyb3VwKSB7XHJcbiAgICAgIHRoaXMuc2V0dXBEZXBlbmRlbnRzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzcGF0Y2hFdmVudChldmVudDogRXZlbnQpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY2xpY2snICYmICF0aGlzLmZvcm1Nb2RlbC5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmZvcm1Nb2RlbC5wYXRjaFZhbHVlKCF0aGlzLmZvcm1Nb2RlbC52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgd2F0Y2hlcnMgdGhhdCBhbGxvdyB0aGUgbWFzdGVyIGFuZCBkZXBlbmRlbnQgY2hlY2tib3ggc3RhdGVzIHRvIHN0YXkgaW4gc3luYyBhcyB0aGUgdXNlciBpbnRlcmFjdHMgd2l0aCB0aGVtLiBcclxuICAgKiBEZXBlbmRlbnRzIGNhbiB1cGRhdGUgdGhlIG1hc3RlciB3aGVuIHRoZWlyIHZhbHVlcyBjaGFuZ2UgYW5kIHRoZSBtYXN0ZXIgdXBkYXRlcyBkZXBlbmRlbnRzIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0dXBEZXBlbmRlbnRzKCkge1xyXG4gICAgICBpZighdGhpcy5kZXBlbmRlbnRDaGVja2JveGVzR3JvdXApIHtyZXR1cm59XHJcblxyXG4gICAgICAvLyBSZW1vdmUgYW55IHN1YnNjcmlwdGlvbnMgdG8gcHJldmlvdXMgZGVwZW5kZW50c1xyXG4gICAgICB0aGlzLnJlc2V0RGVwZW5kZW50U3Vic2NyaXB0aW9ucy5uZXh0KCk7XHJcblxyXG4gICAgICAvL0V4dHJhY3QgdGhlIHZhbHVlcyAoaS5lLiB0aGUgY2hlY2tib3hlcykgZnJvbSB0aGUgRm9ybUdyb3VwIGNvbnRyb2xzIGtleS12YWx1ZSBtYXAgYW5kIHJldHVybiB0aGVtLiBcclxuICAgICAgbGV0IGRlcGVuZGVudENoZWNrYm94ZXM6IEFic3RyYWN0Q29udHJvbFtdID0gT2JqZWN0LnZhbHVlcyh0aGlzLmRlcGVuZGVudENoZWNrYm94ZXNHcm91cC5jb250cm9scyk7XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZU1hc3RlclN0YXRlKGRlcGVuZGVudENoZWNrYm94ZXMpO1xyXG5cclxuICAgICAgLy9XaGVuIHRoZSBtYXN0ZXIgdmFsdWUgY2hhbmdlcywgd2Ugc2V0IGFsbCBpdHMgZGVwZW5kZW50cyB0byB0aGF0IHZhbHVlLlxyXG4gICAgICAvL1dlIGFsc28gc2V0IGluZGV0ZXJtaW5hdGUgdG8gZmFsc2Ugc2luY2Ugd2Uga25vdyB0aGF0IGFsbCBkZXBlbmRlbnRzIHdpbGwgZWl0aGVyIGJlIGNoZWNrZWQgb3IgdW5jaGVja2VkLlxyXG4gICAgICB0aGlzLmZvcm1Nb2RlbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgIHRha2VVbnRpbChtZXJnZSh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCwgdGhpcy5yZXNldERlcGVuZGVudFN1YnNjcmlwdGlvbnMpKVxyXG4gICAgICApLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZighdGhpcy5pZ25vcmVDYWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmlnbm9yZUNhbGwgPSB0cnVlOyAvL0lnbm9yZSBhbnkgdmFsdWUgY2hhbmdlcyBjYWxscyBvbiB0aGUgZGVwZW5kZW50cyB0byBwcmV2ZW50IGEgbG9vcC5cclxuICAgICAgICAgIGRlcGVuZGVudENoZWNrYm94ZXMuZm9yRWFjaChjaGVja2JveCA9PiB7XHJcbiAgICAgICAgICAgIGlmICghY2hlY2tib3guZGlzYWJsZWQgfHwgIXRoaXMuaWdub3JlRGlzYWJsZWREZXBlbmRlbnRzKSB7XHJcbiAgICAgICAgICAgICAgY2hlY2tib3guc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlnbm9yZUNhbGwgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcblxyXG4gICAgICAvL1doZW4gYSBkZXBlbmRlbnQgdmFsdWUgY2hhbmdlcywgd2UgbmVlZCB0byByZWV2YWx1YXRlIHRoZSBtYXN0ZXIgc3RhdGUuXHJcbiAgICAgIC8vV2UgYXJlIHN1YnNjcmliaW5nIHRvIHRoZSBmb3JtIG1vZGVscyBkaXJlY3RseSBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgZ3JvdXAgYmVjYXVzZSB3ZSBmb3VuZCB0aGF0IGFkZGluZyBjaGVja2JveGVzIHRvIFxyXG4gICAgICAvLyAgbW9yZSB0aGFuIG9uZSBmb3JtIGdyb3VwIGNhdXNlcyBvbmx5IHRoZSBsYXN0IGdyb3VwIHRvIGVtaXQgdmFsdWVDaGFuZ2VzIGV2ZW50cy4gXHJcbiAgICAgIC8vVGhhdCBwcmV2ZW50ZWQgY29tYmluZWQgcm93LW1hc3RlciBhbmQgdGFibGUtbWFzdGVyIHNldHVwcyBmcm9tIHdvcmtpbmcgcHJvcGVybHkuXHJcbiAgICAgIGRlcGVuZGVudENoZWNrYm94ZXMuZm9yRWFjaChjaGVja2JveCA9PiB7XHJcbiAgICAgICAgICBjaGVja2JveC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgdGFrZVVudGlsKG1lcmdlKHRoaXMuY29tcG9uZW50RGVzdHJveWVkLCB0aGlzLnJlc2V0RGVwZW5kZW50U3Vic2NyaXB0aW9ucykpXHJcbiAgICAgICAgICApLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYodmFsdWUgIT09IHRydWUgJiYgdmFsdWUgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBUaGUgdmFsdWUgJHt2YWx1ZX0gaXMgbm90IHRydWUgb3IgZmFsc2UsIHdoaWNoIGFyZSB0aGUgb25seSBzdXBwb3J0ZWQgdmFsdWVzIGZvciBGb3JtQ29udHJvbHMgaW4gdGhlIGRlcGVuZGVudENoZWNrYm94ZXNHcm91cGApO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKCF0aGlzLmlnbm9yZUNhbGwpIHtcclxuICAgICAgICAgICAgICB0aGlzLmlnbm9yZUNhbGwgPSB0cnVlOyAvL0lnbm9yZSBhbnkgdmFsdWUgY2hhbmdlcyBjYWxscyBvbiB0aGUgbWFzdGVyIHRvIHByZXZlbnQgYSBsb29wLlxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlTWFzdGVyU3RhdGUoZGVwZW5kZW50Q2hlY2tib3hlcyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5pZ25vcmVDYWxsID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogSWYgYWxsIGRlcGVuZGVudHMgYXJlIHRydWUsIHRoZSBtYXN0ZXIgc2hvdWxkIGJlIHRydWUgYW5kIGRldGVybWluYXRlLlxyXG4gICAqIElmIGFsbCBkZXBlbmRlbnRzIGFyZSBmYWxzZSwgdGhlIG1hc3RlciBzaG91bGQgYmUgZmFsc2UgYW5kIGRldGVybWluYXRlLlxyXG4gICAqIElmIHNvbWUgZGVwZW5kZW50cyBhcmUgdHJ1ZSBhbmQgc29tZSBkZXBlbmRlbnRzIGFyZSBmYWxzZSwgdGhlIG1hc3RlciBzaG91bGQgYmUgZmFsc2UgYW5kIGluZGV0ZXJtaW5hdGUuXHJcbiAgICogXHJcbiAgICogSWYgaWdub3JlRGlzYWJsZWREZXBlbmRlbnRzIGlzIHRydWUsIGRvZXMgbm90IGluY2x1ZGUgdGhlIGRpc2FibGVkIGRlcGVuZGVudHMgd2hlbiBjaGVja2luZyB2YWx1ZXNcclxuICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlTWFzdGVyU3RhdGUoZGVwZW5kZW50Q2hlY2tib3hlczogQWJzdHJhY3RDb250cm9sW10pIHtcclxuICAgIGxldCBkZXBlbmRlbnRzVG9DaGVjayA9IFtdO1xyXG4gICAgaWYgKHRoaXMuaWdub3JlRGlzYWJsZWREZXBlbmRlbnRzKSB7XHJcbiAgICAgIGRlcGVuZGVudHNUb0NoZWNrID0gZGVwZW5kZW50Q2hlY2tib3hlcy5maWx0ZXIoY2hlY2tib3ggPT4gY2hlY2tib3guZW5hYmxlZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZXBlbmRlbnRzVG9DaGVjayA9IGRlcGVuZGVudENoZWNrYm94ZXM7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGlzVHJ1ZSA9IChjaGVja2JveDogQWJzdHJhY3RDb250cm9sKSA9PiB7cmV0dXJuIGNoZWNrYm94LnZhbHVlID09PSB0cnVlfTtcclxuICAgIGlmKGRlcGVuZGVudHNUb0NoZWNrLmV2ZXJ5KGlzVHJ1ZSkpIHtcclxuICAgICAgICB0aGlzLmZvcm1Nb2RlbC5zZXRWYWx1ZSh0cnVlKTtcclxuICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZihkZXBlbmRlbnRzVG9DaGVjay5zb21lKGlzVHJ1ZSkpIHtcclxuICAgICAgICB0aGlzLmZvcm1Nb2RlbC5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5mb3JtTW9kZWwuc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn0iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Component, Input, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
export class CollapsibleToggleComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
/**
|
|
5
|
-
* The expanded state.
|
|
6
|
-
* The toggle icon is changed in the template based on the value of expanded.
|
|
7
|
-
*/
|
|
8
|
-
this.expanded = false;
|
|
9
|
-
/**
|
|
10
|
-
* Emits the value of expanded to the parent component for two-way binding
|
|
11
|
-
*/
|
|
12
|
-
this.expandedChange = new EventEmitter();
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* On click, toggle the value of exanded and emit the current value
|
|
16
|
-
*/
|
|
17
|
-
onToggle() {
|
|
18
|
-
this.expanded = !this.expanded;
|
|
19
|
-
this.expandedChange.emit(this.expanded);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
CollapsibleToggleComponent.decorators = [
|
|
23
|
-
{ type: Component, args: [{
|
|
24
|
-
selector: 'ec-collapsible-toggle',
|
|
25
|
-
template: `<ec-button id="{{id}}_button" type="icon" icon="icon-angle-down {{expanded ? '' : 'rotate-270'}}" tabindex="{{tabindex}}" (clicked)="onToggle()"></ec-button>`,
|
|
26
|
-
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{align-items:center;display:inline-flex;height:1.5rem;justify-content:center;width:1.5rem}ec-button::ng-deep .ec-button-icon{height:1.25rem;width:1.25rem}"]
|
|
27
|
-
},] }
|
|
28
|
-
];
|
|
29
|
-
CollapsibleToggleComponent.propDecorators = {
|
|
30
|
-
id: [{ type: Input }],
|
|
31
|
-
expanded: [{ type: Input }],
|
|
32
|
-
tabindex: [{ type: Input }],
|
|
33
|
-
expandedChange: [{ type: Output }]
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9jb2xsYXBzaWJsZS10b2dnbGUvY29sbGFwc2libGUtdG9nZ2xlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3ZFLE1BQU0sT0FBTywwQkFBMEI7SUFMdkM7UUFZRTs7O1dBR0c7UUFDYSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBSzFDOztXQUVHO1FBQ2MsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQVN2RixDQUFDO0lBUEM7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7OztZQWhDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFLCtKQUErSjs7YUFFMUs7OztpQkFNRSxLQUFLO3VCQU1MLEtBQUs7dUJBR0wsS0FBSzs2QkFLTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtY29sbGFwc2libGUtdG9nZ2xlJyxcclxuICB0ZW1wbGF0ZTogYDxlYy1idXR0b24gaWQ9XCJ7e2lkfX1fYnV0dG9uXCIgdHlwZT1cImljb25cIiBpY29uPVwiaWNvbi1hbmdsZS1kb3duIHt7ZXhwYW5kZWQgPyAnJyA6ICdyb3RhdGUtMjcwJ319XCIgdGFiaW5kZXg9XCJ7e3RhYmluZGV4fX1cIiAoY2xpY2tlZCk9XCJvblRvZ2dsZSgpXCI+PC9lYy1idXR0b24+YCxcclxuICBzdHlsZVVybHM6IFsnLi9jb2xsYXBzaWJsZS10b2dnbGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sbGFwc2libGVUb2dnbGVDb21wb25lbnQge1xyXG5cclxuICAvKiogXHJcbiAgICogSWRlbnRpZmllciB0byBwYXNzIHRvIHRoZSBidXR0b24gXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlkPzogc3RyaW5nO1xyXG5cclxuICAvKiogXHJcbiAgICogVGhlIGV4cGFuZGVkIHN0YXRlLiBcclxuICAgKiBUaGUgdG9nZ2xlIGljb24gaXMgY2hhbmdlZCBpbiB0aGUgdGVtcGxhdGUgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGV4cGFuZGVkLiBcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIEJ1dHRvbiB0YWJpbmRleCAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0YWJpbmRleD86IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIHZhbHVlIG9mIGV4cGFuZGVkIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50IGZvciB0d28td2F5IGJpbmRpbmdcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogT24gY2xpY2ssIHRvZ2dsZSB0aGUgdmFsdWUgb2YgZXhhbmRlZCBhbmQgZW1pdCB0aGUgY3VycmVudCB2YWx1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBvblRvZ2dsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdCh0aGlzLmV4cGFuZGVkKTtcclxuICB9XHJcbn1cclxuIl19
|