@energycap/components 0.42.4-esbuild.20250131-1219 → 0.42.4-esbuild.20250131-1256
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/esm2022/energycap-components.mjs +5 -0
- package/esm2022/lib/components.module.mjs +423 -0
- package/esm2022/lib/controls/banner/banner.component.mjs +109 -0
- package/esm2022/lib/controls/button/button.component.mjs +106 -0
- package/esm2022/lib/controls/button/copy-button-base.directive.mjs +67 -0
- package/esm2022/lib/controls/button/copy-button.directive.mjs +28 -0
- package/esm2022/lib/controls/button/copy-table-button.directive.mjs +43 -0
- package/esm2022/lib/controls/calendar/calendar-item.component.mjs +91 -0
- package/esm2022/lib/controls/calendar/calendar.component.mjs +248 -0
- package/esm2022/lib/controls/calendar/calendar.types.mjs +2 -0
- package/esm2022/lib/controls/checkbox/checkbox.component.mjs +140 -0
- package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -0
- package/esm2022/lib/controls/combobox/combobox.component.mjs +879 -0
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +57 -0
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +62 -0
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +100 -0
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +101 -0
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +76 -0
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +79 -0
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +210 -0
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +81 -0
- package/esm2022/lib/controls/date-input/date-input.component.mjs +464 -0
- package/esm2022/lib/controls/date-input/date-input.types.mjs +44 -0
- package/esm2022/lib/controls/dropdown/dropdown.component.mjs +243 -0
- package/esm2022/lib/controls/file-upload/file-upload.component.mjs +261 -0
- package/esm2022/lib/controls/form-control/form-control.component.mjs +98 -0
- package/esm2022/lib/controls/form-control-base.mjs +151 -0
- package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
- package/esm2022/lib/controls/form-group/form-group.component.mjs +261 -0
- package/esm2022/lib/controls/help-popover/help-popover.component.mjs +31 -0
- package/esm2022/lib/controls/item-picker/item-picker.component.mjs +329 -0
- package/esm2022/lib/controls/link-button/link-button.component.mjs +11 -0
- package/esm2022/lib/controls/menu/menu.component.mjs +485 -0
- package/esm2022/lib/controls/navigation/link-item.mjs +2 -0
- package/esm2022/lib/controls/navigation/nav-group.mjs +39 -0
- package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
- package/esm2022/lib/controls/navigation/nav-item.mjs +2 -0
- package/esm2022/lib/controls/numericbox/numericbox.component.mjs +372 -0
- package/esm2022/lib/controls/popover/popover.component.mjs +117 -0
- package/esm2022/lib/controls/radio-button/radio-button-option.mjs +3 -0
- package/esm2022/lib/controls/radio-button/radio-button.component.mjs +82 -0
- package/esm2022/lib/controls/select/select.component.mjs +88 -0
- package/esm2022/lib/controls/tabs/tabs.component.mjs +47 -0
- package/esm2022/lib/controls/textbox/textbox.component.mjs +155 -0
- package/esm2022/lib/core/cache.service.mjs +105 -0
- package/esm2022/lib/core/custom-validators.mjs +29 -0
- package/esm2022/lib/core/date-time-helper.mjs +228 -0
- package/esm2022/lib/core/error.service.mjs +61 -0
- package/esm2022/lib/core/router-helper.service.mjs +111 -0
- package/esm2022/lib/core/scroll.service.mjs +89 -0
- package/esm2022/lib/core/telemetry-tracker.service.mjs +16 -0
- package/esm2022/lib/core/telemetry.service.mjs +38 -0
- package/esm2022/lib/core/validation-message.service.mjs +185 -0
- package/esm2022/lib/core/validation-patterns.mjs +31 -0
- package/esm2022/lib/core/window.service.mjs +186 -0
- package/esm2022/lib/display/app-bar/app-bar.component.mjs +46 -0
- package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
- package/esm2022/lib/display/avatar/avatar.service.mjs +64 -0
- package/esm2022/lib/display/confirm/confirm.component.mjs +168 -0
- package/esm2022/lib/display/dialog/dialog-content.mjs +2 -0
- package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
- package/esm2022/lib/display/dialog/dialog-types.mjs +77 -0
- package/esm2022/lib/display/dialog/dialog.component.mjs +281 -0
- package/esm2022/lib/display/dialog/dialog.service.mjs +71 -0
- package/esm2022/lib/display/help/help-types.mjs +2 -0
- package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +111 -0
- package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +54 -0
- package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -0
- package/esm2022/lib/display/item-display/item-display.component.mjs +81 -0
- package/esm2022/lib/display/json-display/json-display.component.mjs +47 -0
- package/esm2022/lib/display/resizable/resizable-base.mjs +120 -0
- package/esm2022/lib/display/resizable/resizable.component.mjs +57 -0
- package/esm2022/lib/display/spinner/spinner.component.mjs +12 -0
- package/esm2022/lib/display/splash/splash.component.mjs +42 -0
- package/esm2022/lib/display/splash/splash.service.mjs +35 -0
- package/esm2022/lib/display/table/resizable-column.component.mjs +20 -0
- package/esm2022/lib/display/table/resizable-table.directive.mjs +227 -0
- package/esm2022/lib/display/table/searchable-table.component.mjs +342 -0
- package/esm2022/lib/display/table/table-detail-row.component.mjs +28 -0
- package/esm2022/lib/display/table/table-locked-column.component.mjs +58 -0
- package/esm2022/lib/display/table/table-master-header-row.component.mjs +14 -0
- package/esm2022/lib/display/table/table-master-row.component.mjs +163 -0
- package/esm2022/lib/display/table/table-pagination.component.mjs +155 -0
- package/esm2022/lib/display/table/table-selectable-row.component.mjs +235 -0
- package/esm2022/lib/display/table/table.component.mjs +249 -0
- package/esm2022/lib/display/tags/tag.mjs +18 -0
- package/esm2022/lib/display/tags/tags.component.mjs +77 -0
- package/esm2022/lib/display/toast/toast/toast.component.mjs +77 -0
- package/esm2022/lib/display/toast/toast-types.mjs +8 -0
- package/esm2022/lib/display/toast/toast.service.mjs +35 -0
- package/esm2022/lib/display/toast/toaster/toaster.component.mjs +114 -0
- package/esm2022/lib/display/tooltip/tooltip.component.mjs +28 -0
- package/esm2022/lib/display/tooltip/tooltip.service.mjs +78 -0
- package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +173 -0
- package/esm2022/lib/display/tour/tour-types.mjs +34 -0
- package/esm2022/lib/display/tour/tour.component.mjs +398 -0
- package/esm2022/lib/display/tour/tour.service.mjs +75 -0
- package/esm2022/lib/display/tree/tree.component.mjs +135 -0
- package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +58 -0
- package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
- package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
- package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +100 -0
- package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
- package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
- package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
- package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +62 -0
- package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
- package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
- package/esm2022/lib/shared/display.mjs +6 -0
- package/esm2022/lib/shared/form-group.helper.mjs +67 -0
- package/esm2022/lib/shared/json-helper.mjs +19 -0
- package/esm2022/lib/shared/lodash-helper.mjs +52 -0
- package/esm2022/lib/shared/page/page-base/page-base.component.mjs +387 -0
- package/esm2022/lib/shared/page/page-statuses.mjs +23 -0
- package/esm2022/lib/shared/page/page-title/page-title.component.mjs +23 -0
- package/esm2022/lib/shared/page/page-view/page-view.component.mjs +147 -0
- package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +17 -0
- package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +17 -0
- package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +38 -0
- package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
- package/esm2022/lib/shared/testing/public-mocks.spec.mjs +148 -0
- package/esm2022/lib/shared/testing/spy-factory.spec.mjs +40 -0
- package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +57 -0
- package/esm2022/lib/shared/user-preference.service.mjs +17 -0
- package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
- package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -0
- package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -0
- package/esm2022/public-api.mjs +117 -0
- package/fesm2022/energycap-components.mjs +13219 -0
- package/fesm2022/energycap-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components.module.d.ts +92 -0
- package/lib/controls/banner/banner.component.d.ts +50 -0
- package/lib/controls/button/button.component.d.ts +78 -0
- package/lib/controls/button/copy-button-base.directive.d.ts +20 -0
- package/lib/controls/button/copy-button.directive.d.ts +14 -0
- package/lib/controls/button/copy-table-button.directive.d.ts +19 -0
- package/lib/controls/calendar/calendar-item.component.d.ts +22 -0
- package/lib/controls/calendar/calendar.component.d.ts +52 -0
- package/lib/controls/calendar/calendar.types.d.ts +11 -0
- package/lib/controls/checkbox/checkbox.component.d.ts +65 -0
- package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -0
- package/lib/controls/combobox/combobox.component.d.ts +418 -0
- package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +42 -0
- package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +21 -0
- package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +21 -0
- package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +21 -0
- package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +18 -0
- package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +18 -0
- package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +21 -0
- package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +20 -0
- package/lib/controls/date-input/date-input.component.d.ts +115 -0
- package/lib/controls/date-input/date-input.types.d.ts +62 -0
- package/lib/controls/dropdown/dropdown.component.d.ts +161 -0
- package/lib/controls/file-upload/file-upload.component.d.ts +124 -0
- package/lib/controls/form-control/form-control.component.d.ts +28 -0
- package/lib/controls/form-control-base.d.ts +110 -0
- package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -0
- package/lib/controls/form-group/form-group.component.d.ts +105 -0
- package/lib/controls/help-popover/help-popover.component.d.ts +11 -0
- package/lib/controls/item-picker/item-picker.component.d.ts +164 -0
- package/lib/controls/link-button/link-button.component.d.ts +5 -0
- package/lib/controls/menu/menu.component.d.ts +255 -0
- package/lib/controls/navigation/link-item.d.ts +32 -0
- package/lib/controls/navigation/nav-group.d.ts +18 -0
- package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -0
- package/lib/controls/navigation/nav-item.d.ts +31 -0
- package/lib/controls/numericbox/numericbox.component.d.ts +148 -0
- package/lib/controls/popover/popover.component.d.ts +51 -0
- package/lib/controls/radio-button/radio-button-option.d.ts +19 -0
- package/lib/controls/radio-button/radio-button.component.d.ts +53 -0
- package/lib/controls/select/select.component.d.ts +44 -0
- package/lib/controls/tabs/tabs.component.d.ts +30 -0
- package/lib/controls/textbox/textbox.component.d.ts +107 -0
- package/lib/core/cache.service.d.ts +33 -0
- package/lib/core/custom-validators.d.ts +20 -0
- package/lib/core/date-time-helper.d.ts +101 -0
- package/lib/core/error.service.d.ts +20 -0
- package/lib/core/router-helper.service.d.ts +48 -0
- package/lib/core/scroll.service.d.ts +36 -0
- package/lib/core/telemetry-tracker.service.d.ts +13 -0
- package/lib/core/telemetry.service.d.ts +31 -0
- package/lib/core/validation-message.service.d.ts +26 -0
- package/lib/core/validation-patterns.d.ts +22 -0
- package/lib/core/window.service.d.ts +116 -0
- package/lib/display/app-bar/app-bar.component.d.ts +20 -0
- package/lib/display/avatar/avatar.component.d.ts +35 -0
- package/lib/display/avatar/avatar.service.d.ts +24 -0
- package/lib/display/confirm/confirm.component.d.ts +123 -0
- package/lib/display/dialog/dialog-content.d.ts +19 -0
- package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -0
- package/lib/display/dialog/dialog-types.d.ts +130 -0
- package/lib/display/dialog/dialog.component.d.ts +120 -0
- package/lib/display/dialog/dialog.service.d.ts +48 -0
- package/lib/display/help/help-types.d.ts +33 -0
- package/lib/display/hierarchy/hierarchy-base.d.ts +97 -0
- package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -0
- package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -0
- package/lib/display/item-display/item-display.component.d.ts +43 -0
- package/lib/display/json-display/json-display.component.d.ts +16 -0
- package/lib/display/resizable/resizable-base.d.ts +67 -0
- package/lib/display/resizable/resizable.component.d.ts +31 -0
- package/lib/display/spinner/spinner.component.d.ts +5 -0
- package/lib/display/splash/splash.component.d.ts +16 -0
- package/lib/display/splash/splash.service.d.ts +22 -0
- package/lib/display/table/resizable-column.component.d.ts +10 -0
- package/lib/display/table/resizable-table.directive.d.ts +93 -0
- package/lib/display/table/searchable-table.component.d.ts +206 -0
- package/lib/display/table/table-detail-row.component.d.ts +8 -0
- package/lib/display/table/table-locked-column.component.d.ts +20 -0
- package/lib/display/table/table-master-header-row.component.d.ts +9 -0
- package/lib/display/table/table-master-row.component.d.ts +113 -0
- package/lib/display/table/table-pagination.component.d.ts +91 -0
- package/lib/display/table/table-selectable-row.component.d.ts +102 -0
- package/lib/display/table/table.component.d.ts +121 -0
- package/lib/display/tags/tag.d.ts +18 -0
- package/lib/display/tags/tags.component.d.ts +48 -0
- package/lib/display/toast/toast/toast.component.d.ts +23 -0
- package/lib/display/toast/toast-types.d.ts +24 -0
- package/lib/display/toast/toast.service.d.ts +20 -0
- package/lib/display/toast/toaster/toaster.component.d.ts +35 -0
- package/lib/display/tooltip/tooltip.component.d.ts +70 -0
- package/lib/display/tooltip/tooltip.service.d.ts +16 -0
- package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -0
- package/lib/display/tour/tour-types.d.ts +70 -0
- package/lib/display/tour/tour.component.d.ts +147 -0
- package/lib/display/tour/tour.service.d.ts +38 -0
- package/lib/display/tree/tree.component.d.ts +75 -0
- package/lib/display/view-overlay/view-overlay.component.d.ts +38 -0
- package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -0
- package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -0
- package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +23 -0
- package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -0
- package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -0
- package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -0
- package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -0
- package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -0
- package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -0
- package/lib/shared/display.d.ts +42 -0
- package/lib/shared/form-group.helper.d.ts +31 -0
- package/lib/shared/json-helper.d.ts +7 -0
- package/lib/shared/lodash-helper.d.ts +18 -0
- package/lib/shared/page/page-base/page-base.component.d.ts +259 -0
- package/lib/shared/page/page-statuses.d.ts +13 -0
- package/lib/shared/page/page-title/page-title.component.d.ts +9 -0
- package/lib/shared/page/page-view/page-view.component.d.ts +102 -0
- package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -0
- package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -0
- package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -0
- package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -0
- package/lib/shared/testing/public-mocks.spec.d.ts +90 -0
- package/lib/shared/testing/spy-factory.spec.d.ts +27 -0
- package/lib/shared/testing/translation-mocks.spec.d.ts +30 -0
- package/lib/shared/user-preference.service.d.ts +13 -0
- package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -0
- package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -0
- package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -0
- package/package.json +1 -5
- package/public-api.d.ts +113 -0
- package/schematics/collection.json +10 -0
- package/schematics/rxjs-7-upgrade/index.d.ts +3 -0
- package/schematics/rxjs-7-upgrade/index.js +68 -0
- package/schematics/rxjs-7-upgrade/index.js.map +1 -0
- package/schematics/rxjs-7-upgrade/schema.d.ts +4 -0
- package/schematics/rxjs-7-upgrade/schema.js +3 -0
- package/schematics/rxjs-7-upgrade/schema.js.map +1 -0
- package/schematics/rxjs-7-upgrade/schema.json +14 -0
- package/schematics/utilities/typescript.d.ts +7 -0
- package/schematics/utilities/typescript.js +42 -0
- package/schematics/utilities/typescript.js.map +1 -0
- package/schematics/utilities/workspace.d.ts +8 -0
- package/schematics/utilities/workspace.js +72 -0
- package/schematics/utilities/workspace.js.map +1 -0
- package/src/assets/images/email-icon.png +0 -0
- package/src/assets/images/email-logo.png +0 -0
- package/src/assets/images/favicon-ech.svg +7 -0
- package/src/assets/images/favicon-esa.svg +6 -0
- package/src/assets/images/favicon-eum.svg +6 -0
- package/src/assets/images/favicon.svg +5 -0
- package/src/assets/images/icon-carbonhub.svg +10 -0
- package/src/assets/images/icon-eum.svg +5 -0
- package/src/assets/images/icon-ucp.svg +5 -0
- package/src/assets/images/icon-wattics.svg +5 -0
- package/src/assets/images/icon.svg +4 -0
- package/src/assets/images/logo.svg +3 -0
- package/src/assets/images/splash.gif +0 -0
- package/src/assets/locales/en_US.json +59 -0
- package/src/assets/scripts/unsupported-browser.js +17 -0
- package/src/styles/_base.scss +38 -0
- package/src/styles/_colors.scss +96 -0
- package/src/styles/_core.scss +4 -0
- package/src/styles/_functions.scss +114 -0
- package/src/styles/_global-variables.scss +232 -0
- package/src/styles/_icons.scss +24 -0
- package/src/styles/bootstrap/_grid.scss +34 -0
- package/src/styles/bootstrap/_reboot.scss +323 -0
- package/src/styles/components/_card.scss +21 -0
- package/src/styles/components/_link-icons.scss +38 -0
- package/src/styles/components/_splash.scss +57 -0
- package/src/styles/components/_unsupported-browsers.scss +24 -0
- package/src/styles/email/_email-base.scss +228 -0
- package/src/styles/email/email.scss +43 -0
- package/src/styles/index.scss +27 -0
- package/src/styles/mixins/_animations.scss +18 -0
- package/src/styles/mixins/_button-base.scss +185 -0
- package/src/styles/mixins/_card-base.scss +40 -0
- package/src/styles/mixins/_common.scss +52 -0
- package/src/styles/mixins/_dialog-base.scss +96 -0
- package/src/styles/mixins/_form-control-base.scss +641 -0
- package/src/styles/mixins/_login.scss +74 -0
- package/src/styles/mixins/_menu-base.scss +153 -0
- package/src/styles/mixins/_overlay-base.scss +33 -0
- package/src/styles/mixins/_resizable-base.scss +57 -0
- package/src/styles/mixins/_spinner-base.scss +34 -0
- package/src/styles/mixins/_table-base.scss +298 -0
- package/src/styles/mixins/_tabs-base.scss +110 -0
- package/src/styles/mixins/_tags-base.scss +116 -0
- package/src/styles/mixins/_text.scss +89 -0
- package/src/styles/mixins.scss +15 -0
- package/src/styles/utilities/_borders.scss +30 -0
- package/src/styles/utilities/_common.scss +49 -0
- package/src/styles/utilities/_layout.scss +116 -0
- package/src/styles/utilities/_spacing.scss +65 -0
- package/src/styles/utilities/_text.scss +139 -0
@@ -0,0 +1,418 @@
|
|
1
|
+
import { EventEmitter, OnInit, OnChanges, SimpleChanges, AfterViewInit, TemplateRef } from '@angular/core';
|
2
|
+
import { UntypedFormControl } from "@angular/forms";
|
3
|
+
import { TranslateService } from "@ngx-translate/core";
|
4
|
+
import { FormControlBase } from '../form-control-base';
|
5
|
+
import { Observable } from 'rxjs';
|
6
|
+
import { TextboxComponent } from '../textbox/textbox.component';
|
7
|
+
import { ValidationMessageService } from '../../core/validation-message.service';
|
8
|
+
import { FormGroupHelper } from '../../shared/form-group.helper';
|
9
|
+
import { MenuItem, MenuTemplateType, MenuHostElementClasses } from '../menu/menu.component';
|
10
|
+
import { PopupStatus } from '../../shared/directives/popup/popup-container.directive';
|
11
|
+
import { ScrollService } from '../../core/scroll.service';
|
12
|
+
import * as i0 from "@angular/core";
|
13
|
+
/**
|
14
|
+
* Position of the menu relative to the input
|
15
|
+
*/
|
16
|
+
export type ComboboxMenuPosition = "top_right" | "top_left" | "bottom_left" | "bottom_right";
|
17
|
+
/**
|
18
|
+
* The type of add new implementation. Static displays a simple static button while dynamic updates
|
19
|
+
* the label of the button with value of the textbox
|
20
|
+
*/
|
21
|
+
type AddNewType = "dynamic" | "static" | boolean;
|
22
|
+
/**
|
23
|
+
* Options for configuring the "Add new" button when in static mode
|
24
|
+
*/
|
25
|
+
type AddNewOptions = {
|
26
|
+
label?: string; /** A custom label to display in place of the default "Add new..." */
|
27
|
+
classList?: string; /** A string of space-separated utility classes we'll apply to the label */
|
28
|
+
icon?: string; /** A custom icon to display in place of the default 'icon-add' */
|
29
|
+
};
|
30
|
+
/**
|
31
|
+
* Select box (select, autocomplete, combobox)
|
32
|
+
*
|
33
|
+
* NOTE: Min/max length validation is implemented on the internal ec-textbox.
|
34
|
+
* Values passed in via input properties (@see maxlength , @see minlength )
|
35
|
+
* are used to create validators on the textbox. When the validation on the
|
36
|
+
* textbox fails, the validation error(s) get passed up to the {@see formModel }.
|
37
|
+
* When setting up this component's {@see FormControl }, you do NOT need to set the
|
38
|
+
* Validators.minLength or Validators.maxLength validators.
|
39
|
+
*
|
40
|
+
* Required is also passed via input property, but you SHOULD also set up the
|
41
|
+
* Validators.required validator on this component's FormControl.
|
42
|
+
*
|
43
|
+
* @export
|
44
|
+
*/
|
45
|
+
export declare class ComboboxComponent extends FormControlBase implements OnInit, OnChanges, AfterViewInit {
|
46
|
+
protected validationMessageService: ValidationMessageService;
|
47
|
+
protected formGroupHelper: FormGroupHelper;
|
48
|
+
protected translate: TranslateService;
|
49
|
+
protected scrollService: ScrollService;
|
50
|
+
/**
|
51
|
+
* Close the popup menu on resize so the width and positioning can be recalculated
|
52
|
+
* correctly. Cannot be placed on the popupDirective because of a bug where
|
53
|
+
* HostListeners for global events don't fire
|
54
|
+
* @see https://github.com/angular/angular/issues/14191
|
55
|
+
*/
|
56
|
+
onResize(): void;
|
57
|
+
/**
|
58
|
+
* Show the add new button in the popup
|
59
|
+
*/
|
60
|
+
addNew?: AddNewType;
|
61
|
+
/** Configure the addNew button label & icon when addNew is true and set to static
|
62
|
+
* Default is set to: { label: 'All new...', icon: 'icon-add'}
|
63
|
+
* @see AddNewOptions
|
64
|
+
* @memberof ComboboxComponent
|
65
|
+
* @example
|
66
|
+
* <ec-combobox [addNew]="true"
|
67
|
+
* [addNewOptions]="{
|
68
|
+
* label: 'Help me choose...',
|
69
|
+
* icon: 'icon-search',
|
70
|
+
* classList: 'text-body-2 text-link' }">
|
71
|
+
* </ec-combobox>
|
72
|
+
*/
|
73
|
+
addNewOptions?: AddNewOptions;
|
74
|
+
/**
|
75
|
+
* The maximum number of characters allowed in the input.
|
76
|
+
*
|
77
|
+
* @memberof TextboxComponent
|
78
|
+
*/
|
79
|
+
maxlength?: number;
|
80
|
+
/**
|
81
|
+
* Position of the menu relative to the text box
|
82
|
+
* @default 'bottom_right'
|
83
|
+
* @memberof ComboboxComponent
|
84
|
+
*/
|
85
|
+
menuPosition?: ComboboxMenuPosition;
|
86
|
+
/**
|
87
|
+
* The minimum number of characters allowed in the input
|
88
|
+
*
|
89
|
+
* @memberof TextboxComponent
|
90
|
+
*/
|
91
|
+
minlength?: number;
|
92
|
+
/**
|
93
|
+
* Items to show in combobox menu
|
94
|
+
*
|
95
|
+
* @memberof ComboboxComponent
|
96
|
+
*/
|
97
|
+
options: Array<MenuItem>;
|
98
|
+
/**
|
99
|
+
* Display template for menu items
|
100
|
+
*
|
101
|
+
* @memberof ComboboxComponent
|
102
|
+
*/
|
103
|
+
templateType: MenuTemplateType;
|
104
|
+
/**
|
105
|
+
* Optional custom template for the menu items. Must declare a template
|
106
|
+
* input variable called "item" like so: <ng-template #templateName let-item>,
|
107
|
+
* where item represents the menuItem.
|
108
|
+
* Will override the choice for templateType if provided.
|
109
|
+
*
|
110
|
+
* @memberof ComboboxComponent
|
111
|
+
*/
|
112
|
+
customMenuTemplate?: TemplateRef<any>;
|
113
|
+
/**
|
114
|
+
* When true, the menu items will preserve the icon space when there is no icon
|
115
|
+
*/
|
116
|
+
preserveIconSpace: boolean;
|
117
|
+
/**
|
118
|
+
* Position the menu as fixed, ideal when comboboxes are inside dialogs
|
119
|
+
* Defaulting to true so all menus will be at least the width of the
|
120
|
+
* textbox + button, but can grow wider if the inner elements need it
|
121
|
+
*/
|
122
|
+
popupFixed: boolean;
|
123
|
+
/**
|
124
|
+
* The total number of records from the datasource
|
125
|
+
*/
|
126
|
+
totalRecords?: number;
|
127
|
+
/**
|
128
|
+
* If set to true, we will upperCase the text box and apply the class on the add box
|
129
|
+
*/
|
130
|
+
upperCase: boolean;
|
131
|
+
/**The placeholder to show in the combobox. Leave empty to use default behavior determined
|
132
|
+
* by whether Add New is enabled
|
133
|
+
*/
|
134
|
+
placeholder: string;
|
135
|
+
/** Observable to subscribe to when the combobox menu is opened for the first time */
|
136
|
+
loadOnOpenObservable?: Observable<MenuItem[]> | undefined;
|
137
|
+
/** Do not display the toggle button when true */
|
138
|
+
hideToggleButton: boolean;
|
139
|
+
/**
|
140
|
+
* Always show the menu when the formModel has a value. Sets
|
141
|
+
* hideToggleButton to true and menuStatus to visible as well.
|
142
|
+
*/
|
143
|
+
alwaysOpen: boolean;
|
144
|
+
/**
|
145
|
+
* Additonal classes to apply to the ec-menu element
|
146
|
+
*/
|
147
|
+
menuElementClasses: MenuHostElementClasses | string[];
|
148
|
+
/**
|
149
|
+
* Additional classes to apply to the .textbox-group element
|
150
|
+
*/
|
151
|
+
textboxElementClasses: string[];
|
152
|
+
/** Hide 'No matches' message when true */
|
153
|
+
hideNoMatches: boolean;
|
154
|
+
/**
|
155
|
+
* Text to show when the menu is empty. "No matches" is the default.
|
156
|
+
*/
|
157
|
+
noMatchesText: string;
|
158
|
+
/**
|
159
|
+
* Truncate menu items when true
|
160
|
+
*/
|
161
|
+
truncateItems: boolean;
|
162
|
+
/**
|
163
|
+
* Notify the parent that the add new button was clicked
|
164
|
+
* @todo discuss if we need to send along the value or should
|
165
|
+
* the parent get it from the formModel
|
166
|
+
* (lwf 2017.07.13): I think we might as well send the value along and
|
167
|
+
* leave it up to the parent to decide how to handle it.
|
168
|
+
*/
|
169
|
+
addNewClick: EventEmitter<string>;
|
170
|
+
/**
|
171
|
+
* Notify parent when text typed into textbox
|
172
|
+
*/
|
173
|
+
search: EventEmitter<string>;
|
174
|
+
textbox: TextboxComponent;
|
175
|
+
/**
|
176
|
+
* Access to the menu's component via the {@link PopupContainerDirective}
|
177
|
+
*/
|
178
|
+
private popup?;
|
179
|
+
/**
|
180
|
+
* Reference the add-new button element
|
181
|
+
*/
|
182
|
+
private addNewButton;
|
183
|
+
/**
|
184
|
+
* Filtered Items to show in combobox menu
|
185
|
+
*/
|
186
|
+
filteredOptions: Array<MenuItem>;
|
187
|
+
/**
|
188
|
+
* Tracks if the menu is open or hidden
|
189
|
+
*/
|
190
|
+
menuStatus: PopupStatus;
|
191
|
+
/**
|
192
|
+
* Placeholder to assign to textbox
|
193
|
+
*/
|
194
|
+
effectivePlaceholder: string;
|
195
|
+
/**
|
196
|
+
* Reference to the currently-selected menu item
|
197
|
+
*/
|
198
|
+
selectedItem: MenuItem | null;
|
199
|
+
/**
|
200
|
+
* FormControl for the textbox
|
201
|
+
*/
|
202
|
+
textboxFormModel: UntypedFormControl;
|
203
|
+
/**
|
204
|
+
* Tracks whether the add new button is selected
|
205
|
+
*/
|
206
|
+
addNewSelected: boolean;
|
207
|
+
/**
|
208
|
+
* Tracks whether the textboxFormModel value matches an item in the filteredOptions
|
209
|
+
*/
|
210
|
+
foundMatch: boolean;
|
211
|
+
/**
|
212
|
+
* Number of filtered options to display in the footer. Excludes headings.
|
213
|
+
*/
|
214
|
+
filteredOptionCount: number;
|
215
|
+
/**
|
216
|
+
* Flat list of selectable items in the combobox.
|
217
|
+
* Does not include headings or divider-section items.
|
218
|
+
*/
|
219
|
+
private selectableItems;
|
220
|
+
/**
|
221
|
+
* Index of the currently-selected options
|
222
|
+
*/
|
223
|
+
private selectedItemIndex;
|
224
|
+
/** Placeholder text for 'Choose or Add...' */
|
225
|
+
private chooseOrAddPlaceholder;
|
226
|
+
/** Placeholder text for 'Choose' */
|
227
|
+
private choosePlaceholder;
|
228
|
+
private hasDataBeenLoadedOnOpen;
|
229
|
+
constructor(validationMessageService: ValidationMessageService, formGroupHelper: FormGroupHelper, translate: TranslateService, scrollService: ScrollService);
|
230
|
+
/**
|
231
|
+
* The angular onChanges lifecycle event
|
232
|
+
* @see https://angular.io/guide/lifecycle-hooks
|
233
|
+
*/
|
234
|
+
ngOnChanges(changes: SimpleChanges): void;
|
235
|
+
/**
|
236
|
+
* The angular onInit lifecycle hook
|
237
|
+
* @see https://angular.io/guide/lifecycle-hooks
|
238
|
+
*/
|
239
|
+
ngOnInit(): void;
|
240
|
+
/**
|
241
|
+
* The angular afterViewInit lifecycle hook
|
242
|
+
* @see https://angular.io/guide/lifecycle-hooks
|
243
|
+
*/
|
244
|
+
ngAfterViewInit(): void;
|
245
|
+
/**
|
246
|
+
* Set errors on the textboxFormModel, which will then set errors on the
|
247
|
+
* formModel. Also mark the formModel as touched to display any errors.
|
248
|
+
* @param errors key(s) of ValidationMessageService errors to display or remove
|
249
|
+
* @memberof ComoboboxComponent
|
250
|
+
*/
|
251
|
+
setErrors(errors: {
|
252
|
+
[key: string]: boolean;
|
253
|
+
}): void;
|
254
|
+
/**
|
255
|
+
* Unfilter options and update the selectedItem and selectedItemIndex
|
256
|
+
* @memberof ComboboxComponent
|
257
|
+
*/
|
258
|
+
resetOptions(options?: MenuItem[]): void;
|
259
|
+
/**
|
260
|
+
* Listen to the selected changed event from {@link MenuComponent} and update the form
|
261
|
+
* model and close menu
|
262
|
+
*/
|
263
|
+
selectedChanged(item: MenuItem): void;
|
264
|
+
/**
|
265
|
+
* Show and hide the popup menu
|
266
|
+
*
|
267
|
+
* @memberof ComboboxComponent
|
268
|
+
*/
|
269
|
+
toggleMenu(event?: Event): void;
|
270
|
+
onBlur(): void;
|
271
|
+
/**
|
272
|
+
* Control the menu with keyboard navigation
|
273
|
+
*
|
274
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key#Example | KeyboardEvent.key}
|
275
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values | Key Values}
|
276
|
+
*
|
277
|
+
* @memberof ComboboxComponent
|
278
|
+
*/
|
279
|
+
keyNavigate(event: KeyboardEvent): void;
|
280
|
+
/**
|
281
|
+
* Facilitates adding items to a combobox
|
282
|
+
*
|
283
|
+
* @param addFn Function from parent that should make an API request to add a new item to the combobox's options
|
284
|
+
* @memberof ComboboxComponent
|
285
|
+
*/
|
286
|
+
addNewItem(addFn: () => Promise<void>): Promise<void>;
|
287
|
+
/**
|
288
|
+
* Figure out whether they are adding new or have an item selected, and commit it to the form model
|
289
|
+
*/
|
290
|
+
private commitSelection;
|
291
|
+
/**
|
292
|
+
* Send the current value of the textbox to the parent when the add new button is
|
293
|
+
* clicked
|
294
|
+
*
|
295
|
+
* @param event Add new button click or enter key event
|
296
|
+
* @memberof ComboboxComponent
|
297
|
+
*/
|
298
|
+
onAddNew(event: Event): void;
|
299
|
+
/**
|
300
|
+
* Navigate the dropdown menu using up and down arrow keys
|
301
|
+
*
|
302
|
+
* @param event Up or down arrow keydown event
|
303
|
+
* @memberof ComboboxComponent
|
304
|
+
*/
|
305
|
+
private onArrowDownUp;
|
306
|
+
/**
|
307
|
+
|
308
|
+
* Filter array of options by label or caption (contains)
|
309
|
+
*
|
310
|
+
* @param filterText The value of textbox that we will filter our options by
|
311
|
+
*
|
312
|
+
* @memberof ComboboxComponent
|
313
|
+
*/
|
314
|
+
private filterOptionsArray;
|
315
|
+
/**
|
316
|
+
* Find a given item's index in the filtered items array.
|
317
|
+
*
|
318
|
+
* Returns -1 if not found
|
319
|
+
* @param item The matching item to find in the
|
320
|
+
* filterdOptions array. Will use the selectedItem if nothing is passed.
|
321
|
+
* @memberof ComboboxComponent
|
322
|
+
*/
|
323
|
+
private findSelectedItemIndex;
|
324
|
+
/**
|
325
|
+
* React to our formModel changing
|
326
|
+
*
|
327
|
+
* The formModel represents the currently selected ModelItem
|
328
|
+
* When changed, set the value of the TextboxComponent and
|
329
|
+
* find index of item in options list.
|
330
|
+
*
|
331
|
+
* @memberof ComboboxComponent
|
332
|
+
*/
|
333
|
+
private formModelChanged;
|
334
|
+
/**
|
335
|
+
* Scroll the menu if the current selectedItemIndex is out of view
|
336
|
+
*
|
337
|
+
* @memberof ComboboxComponent
|
338
|
+
*/
|
339
|
+
private scrollMenu;
|
340
|
+
/**
|
341
|
+
* Search/Filter based on textbox input
|
342
|
+
* NOTE: so as not to receive a notification on every key event, we suggest you debounce your
|
343
|
+
* subscription
|
344
|
+
* @see {@link http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-debounceTime | Observable.debounceTime}
|
345
|
+
*
|
346
|
+
* @memberof ComboboxComponent
|
347
|
+
*/
|
348
|
+
private searchAndFilter;
|
349
|
+
/**
|
350
|
+
* Set {@link formModel }'s validation errors equal to the internal textbox's.
|
351
|
+
*
|
352
|
+
* When the internal textbox is invalid, need to set this control's
|
353
|
+
* errors because we are using our own label, not TextboxControl's.
|
354
|
+
* We use our own label so label text will wrap at the end of the button,
|
355
|
+
* not at the end of the textbox.
|
356
|
+
*
|
357
|
+
* @memberof ComboboxComponent
|
358
|
+
*/
|
359
|
+
private setFormModelValidationErrors;
|
360
|
+
/**
|
361
|
+
* Update the form model value with the selected item or reset form model value if item is null
|
362
|
+
*
|
363
|
+
* @memberof ComboboxComponent
|
364
|
+
*/
|
365
|
+
private setFormModelValue;
|
366
|
+
/**
|
367
|
+
* Set validators on the {@see textboxFormModel }
|
368
|
+
*
|
369
|
+
* Validators are currently set based on the {@see maxlength },
|
370
|
+
* {@see minlength }, and {@see required } inputs. This works well
|
371
|
+
* with {@see TextboxComponent }, which needs these inputs to apply
|
372
|
+
* the proper attributes to its inputs.
|
373
|
+
*
|
374
|
+
* A future release of Angular will supposedly add these attributes
|
375
|
+
* for you, which will eliminate the need for TextboxComponent to have
|
376
|
+
* such inputs. This component, however, will still need these inputs
|
377
|
+
* as there is no current way to know which validators are applied to it
|
378
|
+
* from its parent View Component.
|
379
|
+
*
|
380
|
+
*
|
381
|
+
* @memberof ComboboxComponent
|
382
|
+
*/
|
383
|
+
private setTextboxFormModelValidators;
|
384
|
+
/**
|
385
|
+
* Keep textbox's disabled status in-sync with combobox's
|
386
|
+
*
|
387
|
+
* {@link TextboxComponent} gets its disabled status from its {@link FormControl}
|
388
|
+
*
|
389
|
+
* @memberof ComboboxComponent
|
390
|
+
*/
|
391
|
+
private synchronizeDisabledAttributes;
|
392
|
+
/**
|
393
|
+
* If the formModel value and textbox value do not match, reset the textbox and selectedItem to
|
394
|
+
* the formModle value. If there is no formModel value, make sure we clear the textbox. Reset the
|
395
|
+
* filteredOptions to the full list and update the selectedItemIndex
|
396
|
+
*
|
397
|
+
*/
|
398
|
+
private syncModelValues;
|
399
|
+
/**
|
400
|
+
* Search and filter the options list when the value of the textbox input changes. If addNew is
|
401
|
+
* set also check for matches in our filteredOptions to conditionally show and hide the add new
|
402
|
+
* button
|
403
|
+
*
|
404
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/Events/input
|
405
|
+
*/
|
406
|
+
textboxValueChanged(event: Event): void;
|
407
|
+
private clearSelectedItem;
|
408
|
+
/**Recompute what the placeholder should be based on whether the user provided one and the current state of the addNew input */
|
409
|
+
private updatePlaceholderText;
|
410
|
+
/**Find the option we want to be the default selection. If there is an exact match, use that
|
411
|
+
* otherwise if there are items, return zero to indicate the first item. Otherwise return -1
|
412
|
+
* to indicate no selection
|
413
|
+
*/
|
414
|
+
private findDefaultSelectionIndex;
|
415
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ComboboxComponent, never>;
|
416
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ComboboxComponent, "ec-combobox", never, { "addNew": { "alias": "addNew"; "required": false; }; "addNewOptions": { "alias": "addNewOptions"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "menuPosition": { "alias": "menuPosition"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "options": { "alias": "options"; "required": false; }; "templateType": { "alias": "templateType"; "required": false; }; "customMenuTemplate": { "alias": "customMenuTemplate"; "required": false; }; "preserveIconSpace": { "alias": "preserveIconSpace"; "required": false; }; "popupFixed": { "alias": "popupFixed"; "required": false; }; "totalRecords": { "alias": "totalRecords"; "required": false; }; "upperCase": { "alias": "upperCase"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "loadOnOpenObservable": { "alias": "loadOnOpenObservable"; "required": false; }; "hideToggleButton": { "alias": "hideToggleButton"; "required": false; }; "alwaysOpen": { "alias": "alwaysOpen"; "required": false; }; "menuElementClasses": { "alias": "menuElementClasses"; "required": false; }; "textboxElementClasses": { "alias": "textboxElementClasses"; "required": false; }; "hideNoMatches": { "alias": "hideNoMatches"; "required": false; }; "noMatchesText": { "alias": "noMatchesText"; "required": false; }; "truncateItems": { "alias": "truncateItems"; "required": false; }; }, { "addNewClick": "addNewClick"; "search": "search"; }, never, never, false, never>;
|
417
|
+
}
|
418
|
+
export {};
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { Calendar } from "../../calendar/calendar.types";
|
2
|
+
import { DateInput } from "../date-input.types";
|
3
|
+
/**
|
4
|
+
* Contains the logic for selecting, formatting, and parsing date dates for a specific selection mode.
|
5
|
+
*/
|
6
|
+
export declare abstract class DateInputSelectionStrategyBase {
|
7
|
+
/** The calendar view mode where selections occur for this mode. This is used to zoom the calendar into the selection */
|
8
|
+
abstract readonly selectionViewMode: Calendar.ViewMode;
|
9
|
+
/** The list of view modes that are accessible by this selection mode. Used to determine whether the calendar view needs to be changed or not on selection change. */
|
10
|
+
abstract readonly validViewModes: Calendar.ViewMode[];
|
11
|
+
/** Whether the secondary textbox should be shown for this selection mode */
|
12
|
+
abstract readonly showSecondaryTextbox: boolean;
|
13
|
+
/** Whether the secondary calendar should be shown for this selection mode */
|
14
|
+
abstract readonly showSecondaryCalendar: boolean;
|
15
|
+
/** Parses the string into a date using the provided parse formats. */
|
16
|
+
parseString(value: string | null | undefined, parseFormats: string[], opts?: DateInput.ParsingOptions): Date | null;
|
17
|
+
/** Formats a date input selection into values to be displayed in the date input's textboxes. */
|
18
|
+
abstract formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
|
19
|
+
/**
|
20
|
+
* Parses the date input's values into a date selection to display in the calendars.
|
21
|
+
* `parseFromEnd` controls whether the fixed range modes (last7days, last28days) will key off the end date instead of the start date.
|
22
|
+
* This is used when the user is typing in the end date textbox.
|
23
|
+
*/
|
24
|
+
abstract parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
|
25
|
+
/** Returns a selection given a date and an existing selection (in the case of date ranges). Called when a date is clicked in the calendars. */
|
26
|
+
abstract getSelectionFromDate(date: Date, existingSelection?: DateInput.Selection | null): DateInput.Selection | null;
|
27
|
+
/** Returns a new selection that best matches the given previous selection from a different selection mode */
|
28
|
+
abstract getNewSelectionFromExisting(previousSelection?: DateInput.Selection | null): DateInput.Selection | null;
|
29
|
+
/** Returns a new selection for the provided date. */
|
30
|
+
getSelectionForQuickSelectDate(date: Date, existingSelection?: DateInput.Selection | null): DateInput.Selection | null;
|
31
|
+
/** Returns the next selection. Called by the date input steppers to move the range. */
|
32
|
+
abstract getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
33
|
+
/** Returns the previous selection. Called by the date input steppers to move the range. */
|
34
|
+
abstract getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
35
|
+
/** Returns the view for the primary calendar for the selection and selection mode */
|
36
|
+
getPrimaryCalendarView(selection: DateInput.Selection | null, minDate: Date, maxDate: Date, currentView: Calendar.View): Calendar.View;
|
37
|
+
/**
|
38
|
+
* Returns the view for the secondary calendar for the selection and selection mode.
|
39
|
+
* This is is only used by the range selection strategy. All others just return the current date.
|
40
|
+
*/
|
41
|
+
getSecondaryCalendarView(selection: DateInput.Selection | null, minDate: Date, maxDate: Date, currentView: Calendar.View): Calendar.View;
|
42
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { DateDisplayPipe } from "../../../shared/display/pipes/date-display.pipe";
|
2
|
+
import { Calendar } from "../../calendar/calendar.types";
|
3
|
+
import { DateInput } from "../date-input.types";
|
4
|
+
import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
|
5
|
+
/**
|
6
|
+
* Selection strategy for the 'day' selection mode.
|
7
|
+
*/
|
8
|
+
export declare class DaySelectionStrategy extends DateInputSelectionStrategyBase {
|
9
|
+
private dateDisplayPipe;
|
10
|
+
readonly selectionViewMode: Calendar.ViewMode;
|
11
|
+
readonly validViewModes: Calendar.ViewMode[];
|
12
|
+
readonly showSecondaryTextbox = false;
|
13
|
+
readonly showSecondaryCalendar = false;
|
14
|
+
constructor(dateDisplayPipe: DateDisplayPipe);
|
15
|
+
formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
|
16
|
+
parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
|
17
|
+
getSelectionFromDate(date: Date): DateInput.Selection | null;
|
18
|
+
getNewSelectionFromExisting(previousSelection?: DateInput.Selection | null): DateInput.Selection | null;
|
19
|
+
getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
20
|
+
getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
21
|
+
}
|
package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Calendar } from "../../calendar/calendar.types";
|
2
|
+
import { DateInput } from "../date-input.types";
|
3
|
+
import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
|
4
|
+
import { RangeSelectionStrategy } from "./range-selection-strategy";
|
5
|
+
/**
|
6
|
+
* Selection strategy for the 'last 28 days' selection mode.
|
7
|
+
*/
|
8
|
+
export declare class Last28DaysSelectionStrategy extends DateInputSelectionStrategyBase {
|
9
|
+
private rangeStrategy;
|
10
|
+
readonly selectionViewMode: Calendar.ViewMode;
|
11
|
+
readonly validViewModes: Calendar.ViewMode[];
|
12
|
+
readonly showSecondaryTextbox = true;
|
13
|
+
readonly showSecondaryCalendar = false;
|
14
|
+
constructor(rangeStrategy: RangeSelectionStrategy);
|
15
|
+
formatSelection(value?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
|
16
|
+
parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
|
17
|
+
getSelectionFromDate(date: Date): DateInput.Selection | null;
|
18
|
+
getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
|
19
|
+
getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
20
|
+
getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
21
|
+
}
|
package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Calendar } from "../../calendar/calendar.types";
|
2
|
+
import { DateInput } from "../date-input.types";
|
3
|
+
import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
|
4
|
+
import { RangeSelectionStrategy } from "./range-selection-strategy";
|
5
|
+
/**
|
6
|
+
* Selection strategy for the 'last 7 days' selection mode.
|
7
|
+
*/
|
8
|
+
export declare class Last7DaysSelectionStrategy extends DateInputSelectionStrategyBase {
|
9
|
+
private rangeStrategy;
|
10
|
+
readonly selectionViewMode: Calendar.ViewMode;
|
11
|
+
readonly validViewModes: Calendar.ViewMode[];
|
12
|
+
readonly showSecondaryTextbox = true;
|
13
|
+
readonly showSecondaryCalendar = false;
|
14
|
+
constructor(rangeStrategy: RangeSelectionStrategy);
|
15
|
+
formatSelection(value?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
|
16
|
+
parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
|
17
|
+
getSelectionFromDate(date: Date): DateInput.Selection | null;
|
18
|
+
getNewSelectionFromExisting(previousSelection?: DateInput.Selection | null): DateInput.Selection | null;
|
19
|
+
getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
20
|
+
getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
21
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { Calendar } from "../../calendar/calendar.types";
|
2
|
+
import { DateInput } from "../date-input.types";
|
3
|
+
import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
|
4
|
+
/**
|
5
|
+
* Selection strategy for the 'month' selection mode.
|
6
|
+
*/
|
7
|
+
export declare class MonthSelectionStrategy extends DateInputSelectionStrategyBase {
|
8
|
+
readonly selectionViewMode: Calendar.ViewMode;
|
9
|
+
readonly validViewModes: Calendar.ViewMode[];
|
10
|
+
readonly showSecondaryTextbox = false;
|
11
|
+
readonly showSecondaryCalendar = false;
|
12
|
+
formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
|
13
|
+
parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
|
14
|
+
getSelectionFromDate(date: Date): DateInput.Selection | null;
|
15
|
+
getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
|
16
|
+
getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
17
|
+
getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
18
|
+
}
|
package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
import { Calendar } from "../../calendar/calendar.types";
|
2
|
+
import { DateInput } from "../date-input.types";
|
3
|
+
import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
|
4
|
+
/**
|
5
|
+
* Selection strategy for the 'month' selection mode.
|
6
|
+
*/
|
7
|
+
export declare class QuarterSelectionStrategy extends DateInputSelectionStrategyBase {
|
8
|
+
readonly selectionViewMode: Calendar.ViewMode;
|
9
|
+
readonly validViewModes: Calendar.ViewMode[];
|
10
|
+
readonly showSecondaryTextbox = false;
|
11
|
+
readonly showSecondaryCalendar = false;
|
12
|
+
formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
|
13
|
+
parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
|
14
|
+
getSelectionFromDate(date: Date): DateInput.Selection | null;
|
15
|
+
getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
|
16
|
+
getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
17
|
+
getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
18
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Calendar } from "../../calendar/calendar.types";
|
2
|
+
import { DateInput } from "../date-input.types";
|
3
|
+
import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
|
4
|
+
/**
|
5
|
+
* Selection strategy for the 'range' selection mode.
|
6
|
+
*/
|
7
|
+
export declare class RangeSelectionStrategy extends DateInputSelectionStrategyBase {
|
8
|
+
readonly selectionViewMode: Calendar.ViewMode;
|
9
|
+
readonly validViewModes: Calendar.ViewMode[];
|
10
|
+
readonly showSecondaryTextbox = true;
|
11
|
+
readonly showSecondaryCalendar = true;
|
12
|
+
formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
|
13
|
+
parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
|
14
|
+
getSelectionFromDate(date: Date, existingSelection: DateInput.Selection | null): DateInput.Selection | null;
|
15
|
+
getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
|
16
|
+
getSelectionForQuickSelectDate(date: Date, existingSelection?: DateInput.Selection | null): DateInput.Selection | null;
|
17
|
+
getNextSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
18
|
+
getPreviousSelection(selection: DateInput.Selection | null): DateInput.Selection | null;
|
19
|
+
getPrimaryCalendarView(selection: DateInput.Selection | null, minDate: Date, maxDate: Date, currentView: Calendar.View): Calendar.View;
|
20
|
+
getSecondaryCalendarView(selection: DateInput.Selection | null, minDate: Date, maxDate: Date, currentView: Calendar.View): Calendar.View;
|
21
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { Calendar } from "../../calendar/calendar.types";
|
2
|
+
import { DateInput } from "../date-input.types";
|
3
|
+
import { DateInputSelectionStrategyBase } from "./date-input-selection-strategy-base";
|
4
|
+
/**
|
5
|
+
* Selection strategy for the 'year' selection mode.
|
6
|
+
*/
|
7
|
+
export declare class YearSelectionStrategy extends DateInputSelectionStrategyBase {
|
8
|
+
readonly selectionViewMode: Calendar.ViewMode;
|
9
|
+
readonly validViewModes: Calendar.ViewMode[];
|
10
|
+
readonly showSecondaryTextbox = false;
|
11
|
+
readonly showSecondaryCalendar = false;
|
12
|
+
formatSelection(selection?: DateInput.Selection | null): DateInput.TextboxGroup['value'];
|
13
|
+
parseString(value: string | null | undefined, parseFormats: string[], opts?: DateInput.ParsingOptions): Date | null;
|
14
|
+
parseTextboxValues(value: DateInput.TextboxGroup['value'], parseFormats: string[], opts?: DateInput.ParsingOptions): DateInput.Selection | null;
|
15
|
+
getSelectionFromDate(date: Date): DateInput.Selection | null;
|
16
|
+
getNewSelectionFromExisting(previousSelection?: DateInput.Selection): DateInput.Selection | null;
|
17
|
+
getSelectionForQuickSelectDate(date: Date): DateInput.Selection | null;
|
18
|
+
getNextSelection(selection: DateInput.Selection): DateInput.Selection | null;
|
19
|
+
getPreviousSelection(selection: DateInput.Selection): DateInput.Selection | null;
|
20
|
+
}
|