@energycap/components 0.42.4-esbuild.20250131-1219 → 0.42.4-esbuild.20250131-1441
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 +2 -6
- 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 +71 -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 +45 -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,73 @@
|
|
1
|
+
import { OnInit } from '@angular/core';
|
2
|
+
import { AbstractControl } from '@angular/forms';
|
3
|
+
import { TranslateService } from '@ngx-translate/core';
|
4
|
+
import { ValidationMessageService } from '../../core/validation-message.service';
|
5
|
+
import { ControlLabelPosition } from '../form-control-base';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export declare class FormControlLabelComponent implements OnInit {
|
8
|
+
protected validationMessageService: ValidationMessageService;
|
9
|
+
private translateService;
|
10
|
+
/**
|
11
|
+
* Id
|
12
|
+
*/
|
13
|
+
id?: string;
|
14
|
+
/**
|
15
|
+
* Bind id to host element
|
16
|
+
*/
|
17
|
+
attrId?: string;
|
18
|
+
/**
|
19
|
+
* The form control label
|
20
|
+
*/
|
21
|
+
label: string;
|
22
|
+
/**
|
23
|
+
* UI-oriented form model that retains the states and values of the HTML controls on screen.
|
24
|
+
* Can be a {@link FormControl}, a {@link FormGroup} or a {@link FormArray}
|
25
|
+
*
|
26
|
+
* @type {AbstractControl}
|
27
|
+
* @memberof FormControlBase
|
28
|
+
*/
|
29
|
+
control?: AbstractControl;
|
30
|
+
/**
|
31
|
+
* The position of the form control label (top|bottom|left)
|
32
|
+
*/
|
33
|
+
labelPosition?: ControlLabelPosition;
|
34
|
+
/**An optional string to show if any of the underlying controls has an error. If falsy, one of the
|
35
|
+
* errors from the underlying controls will be used.
|
36
|
+
*/
|
37
|
+
overrideValidationError?: string;
|
38
|
+
/**An optional flag to hide the validation messages.
|
39
|
+
*/
|
40
|
+
hideValidationMessage?: boolean;
|
41
|
+
/**
|
42
|
+
* All current validation errors
|
43
|
+
*
|
44
|
+
* @type {string}
|
45
|
+
* @memberof FormControlBase
|
46
|
+
*/
|
47
|
+
validationErrors: string;
|
48
|
+
allControlsTouched: boolean;
|
49
|
+
private componentDestroyed;
|
50
|
+
constructor(validationMessageService: ValidationMessageService, translateService: TranslateService);
|
51
|
+
ngOnInit(): Promise<void>;
|
52
|
+
/**
|
53
|
+
* Angular onDestroy lifecyle hook.
|
54
|
+
* Unsubscribe from any observables
|
55
|
+
*
|
56
|
+
* @see https://angular.io/guide/lifecycle-hooks
|
57
|
+
* @memberof FormControlBase
|
58
|
+
*/
|
59
|
+
ngOnDestroy(): void;
|
60
|
+
private getErrors;
|
61
|
+
private assignErrors;
|
62
|
+
/**
|
63
|
+
* Function that subscribes to the controls valueChanges Observable
|
64
|
+
* to take any erros and translate them
|
65
|
+
*
|
66
|
+
* @param {*} [data]
|
67
|
+
* @returns
|
68
|
+
* @memberof FormControlBase
|
69
|
+
*/
|
70
|
+
private translateValidationMessages;
|
71
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormControlLabelComponent, never>;
|
72
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormControlLabelComponent, "ec-form-control-label", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "control": { "alias": "control"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "overrideValidationError": { "alias": "overrideValidationError"; "required": false; }; "hideValidationMessage": { "alias": "hideValidationMessage"; "required": false; }; }, {}, never, never, false, never>;
|
73
|
+
}
|
@@ -0,0 +1,105 @@
|
|
1
|
+
import { OnInit } from "@angular/core";
|
2
|
+
import { AbstractControl, UntypedFormArray, UntypedFormGroup } from "@angular/forms";
|
3
|
+
import { TranslateService } from "@ngx-translate/core";
|
4
|
+
import { ValidationMessageService } from "../../core/validation-message.service";
|
5
|
+
import { ControlLabelPosition } from "../form-control-base";
|
6
|
+
import { PopoverContentPosition } from "../popover/popover.component";
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
/** Function to iterate over form controls and
|
9
|
+
* ensure they contain unique values. If any are duplicated all offending
|
10
|
+
* form controls will be marked as invalid
|
11
|
+
*
|
12
|
+
* @param valueProperty - the sub-property of the object represented by each form control
|
13
|
+
* it is dereferenced as formGroup.control.value[valueProperty].
|
14
|
+
* defaults to "value", which matches the form controls used to back comboboxes
|
15
|
+
* if explicitly null, this function assumes value is not a complex object and just extracts
|
16
|
+
* formGroup.control.value
|
17
|
+
*/
|
18
|
+
export declare const validateFormGroupValuesAreUnique: (fg: UntypedFormGroup | UntypedFormArray, valueProperty?: string | null, subProperty?: string) => void;
|
19
|
+
/**
|
20
|
+
* Function to iterate over for controls and invoke the callback function when they are found.
|
21
|
+
* Recursively calls itself when it encounters sub form groups and iterates over form arrays.
|
22
|
+
* @param c
|
23
|
+
* @param callback
|
24
|
+
*/
|
25
|
+
export declare const forEachFormControl: (c: AbstractControl, callback: (control: AbstractControl) => void) => void;
|
26
|
+
/**
|
27
|
+
* Function to return the value if it is enabled and set
|
28
|
+
* @param control
|
29
|
+
*/
|
30
|
+
export declare const getControlValue: (control: AbstractControl, valueProperty?: string | null, subProperty?: string) => any | null;
|
31
|
+
export declare class FormGroupComponent implements OnInit {
|
32
|
+
protected validationMessageService: ValidationMessageService;
|
33
|
+
private translateService;
|
34
|
+
/**
|
35
|
+
* Id
|
36
|
+
*/
|
37
|
+
id?: string;
|
38
|
+
/**
|
39
|
+
* Bind id to host element
|
40
|
+
*/
|
41
|
+
attrId?: string;
|
42
|
+
/**
|
43
|
+
* The form control label
|
44
|
+
*/
|
45
|
+
label: string;
|
46
|
+
/**
|
47
|
+
* UI-oriented form model that retains the states and values of the HTML controls on screen.
|
48
|
+
* Can be a {@link FormControl} or a {@link FormGroup}
|
49
|
+
*
|
50
|
+
* @type {FormGroup}
|
51
|
+
* @memberof FormControlBase
|
52
|
+
*/
|
53
|
+
formGroup?: UntypedFormGroup;
|
54
|
+
/**
|
55
|
+
* The position of the form control label (top|bottom|left)
|
56
|
+
*/
|
57
|
+
labelPosition?: ControlLabelPosition;
|
58
|
+
/**An optional string to show if any of the underlying controls has an error. If falsy, one of the
|
59
|
+
* errors from the underlying controls will be used.
|
60
|
+
*/
|
61
|
+
overrideValidationError?: string;
|
62
|
+
/**An optional flag to hide the validation messages.
|
63
|
+
*/
|
64
|
+
hideValidationMessage?: boolean;
|
65
|
+
/**
|
66
|
+
* Conditionally show a help popover next to the controls label.
|
67
|
+
*/
|
68
|
+
helpPopover?: string;
|
69
|
+
/**
|
70
|
+
* When a help popover is present, allows the popover to be positioned in different locations.
|
71
|
+
*/
|
72
|
+
helpPopoverPosition?: PopoverContentPosition;
|
73
|
+
/**
|
74
|
+
* All current validation errors
|
75
|
+
*
|
76
|
+
* @type {string}
|
77
|
+
* @memberof FormControlBase
|
78
|
+
*/
|
79
|
+
validationErrors: string;
|
80
|
+
allControlsTouched: boolean;
|
81
|
+
private componentDestroyed;
|
82
|
+
constructor(validationMessageService: ValidationMessageService, translateService: TranslateService);
|
83
|
+
ngOnInit(): Promise<void>;
|
84
|
+
/**
|
85
|
+
* Angular onDestroy lifecyle hook.
|
86
|
+
* Unsubscribe from any observables
|
87
|
+
*
|
88
|
+
* @see https://angular.io/guide/lifecycle-hooks
|
89
|
+
* @memberof FormControlBase
|
90
|
+
*/
|
91
|
+
ngOnDestroy(): void;
|
92
|
+
private getErrors;
|
93
|
+
private assignErrors;
|
94
|
+
/**
|
95
|
+
* Function that subscribes to the formGroup's valueChanges Observable
|
96
|
+
* to take any erros and translate them
|
97
|
+
*
|
98
|
+
* @param {*} [data]
|
99
|
+
* @returns
|
100
|
+
* @memberof FormControlBase
|
101
|
+
*/
|
102
|
+
private translateValidationMessages;
|
103
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormGroupComponent, never>;
|
104
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormGroupComponent, "ec-form-group", never, { "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "overrideValidationError": { "alias": "overrideValidationError"; "required": false; }; "hideValidationMessage": { "alias": "hideValidationMessage"; "required": false; }; "helpPopover": { "alias": "helpPopover"; "required": false; }; "helpPopoverPosition": { "alias": "helpPopoverPosition"; "required": false; }; }, {}, never, ["*"], false, never>;
|
105
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { PopoverContentPosition } from '../popover/popover.component';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class HelpPopoverComponent {
|
4
|
+
id: string;
|
5
|
+
text: string;
|
6
|
+
contentPosition: PopoverContentPosition;
|
7
|
+
maxWidth: string;
|
8
|
+
constructor();
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HelpPopoverComponent, never>;
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HelpPopoverComponent, "ec-help-popover", never, { "id": { "alias": "id"; "required": false; }; "text": { "alias": "text"; "required": false; }; "contentPosition": { "alias": "contentPosition"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; }, {}, never, ["*"], false, never>;
|
11
|
+
}
|
@@ -0,0 +1,164 @@
|
|
1
|
+
import { OnChanges, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
2
|
+
import { UntypedFormGroup } from '@angular/forms';
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
4
|
+
import { TableSearchResults } from '../../display/table/searchable-table.component';
|
5
|
+
import { PagingInfo } from '../../display/table/table-pagination.component';
|
6
|
+
import { TableSelectableRowContext } from '../../display/table/table-selectable-row.component';
|
7
|
+
import { Overlay } from '../../display/view-overlay/view-overlay.component';
|
8
|
+
import { MenuItem } from '../menu/menu.component';
|
9
|
+
import { TranslateService } from '@ngx-translate/core';
|
10
|
+
import * as i0 from "@angular/core";
|
11
|
+
export interface PickerItem<TValue = any, SItems = any> extends MenuItem {
|
12
|
+
id: string;
|
13
|
+
/** When set to true the available item will be automatically added to the selected list */
|
14
|
+
defaultSelected?: boolean;
|
15
|
+
/** When set to true, the item will not be allowed to be removed from the selected list */
|
16
|
+
preventRemove?: boolean;
|
17
|
+
/** Redefining to get the typing */
|
18
|
+
value: TValue;
|
19
|
+
}
|
20
|
+
export declare class ItemPickerSelectableContext<T> extends TableSelectableRowContext {
|
21
|
+
/** id/value map of the selected items. Used for keeping track of what is selected */
|
22
|
+
selectedItemsMap: Map<string, PickerItem<T>>;
|
23
|
+
/**
|
24
|
+
* Gives a way to tell the picker component that the map was modified externally and to update
|
25
|
+
* the available/selected lists
|
26
|
+
*/
|
27
|
+
selectedItemsMapChanged: Subject<void>;
|
28
|
+
/**
|
29
|
+
* AdvancedRowClickBehavior is disabled for ItemPicker.
|
30
|
+
*/
|
31
|
+
readonly disableAdvancedRowClickBehavior: boolean;
|
32
|
+
/** When true the user has opted to select all items across all pages. Due to api pagination
|
33
|
+
* we don't have all of the items locally, so the host will need to tell the API to operate on all
|
34
|
+
* via api filters or other means.
|
35
|
+
*/
|
36
|
+
isSelectingAllItems: boolean;
|
37
|
+
}
|
38
|
+
export declare class ItemPickerComponent<T> implements OnInit, OnChanges, OnDestroy {
|
39
|
+
private translateService;
|
40
|
+
/** Identifier for the component. This will be added to the beginning of all internal action elements */
|
41
|
+
id?: string;
|
42
|
+
/** Title displayed above the available items table */
|
43
|
+
availableTitle: string;
|
44
|
+
/** Help popover next to the available title. If supplied will show, otherwise is hidden */
|
45
|
+
availableTitleHelpPopover: string;
|
46
|
+
/** Title displayed above the selected items list */
|
47
|
+
selectedTitle: string;
|
48
|
+
/** The type of item being selected. Ex. Meters, Addresses */
|
49
|
+
itemName: string;
|
50
|
+
/** Form group that is given to the internal Searchable Table */
|
51
|
+
formModel?: UntypedFormGroup;
|
52
|
+
/** Template for when a custom header is needed for the available items table */
|
53
|
+
customAvailableHeaderTemplate?: TemplateRef<any>;
|
54
|
+
/** Template for when a custom available item is needed. Default template is a label only */
|
55
|
+
customAvailableItemTemplate?: TemplateRef<any>;
|
56
|
+
/** Template for when a custom selected item is needed. Default template is a label only */
|
57
|
+
customSelectedItemTemplate?: TemplateRef<any>;
|
58
|
+
/** Used by the internal Searchable Table to know when the page is ready */
|
59
|
+
ready?: Observable<void>;
|
60
|
+
/** Used by Searchable Table to retrieve the available items */
|
61
|
+
getItems?: (search?: string, pageChangeInfo?: PagingInfo) => Observable<TableSearchResults>;
|
62
|
+
/** Used to maintain the available items checkbox selection as well as the selected items list */
|
63
|
+
selectionContext: ItemPickerSelectableContext<T>;
|
64
|
+
/** Used by the internal Searchable Table when there is no available items to choose from based on the getItems results. Do not supply
|
65
|
+
* to inherit the default message.
|
66
|
+
*/
|
67
|
+
noDataMessage: string;
|
68
|
+
/**
|
69
|
+
* Used to override the default no selected items message. If provided this will be used, otherwise the default message with the item name
|
70
|
+
* interpolation will be used.
|
71
|
+
*/
|
72
|
+
noSelectedItemsMessage?: string;
|
73
|
+
/** Used to enable select all items across pages. When true the button to select all items will be visible in the available items header when
|
74
|
+
* the header checkbox is checked and there are multiple pages of results
|
75
|
+
*/
|
76
|
+
enableSelectAllItems: boolean;
|
77
|
+
/** Used to display a message in the selected items table when the select all items button is clicked */
|
78
|
+
selectAllItemsMessage: string;
|
79
|
+
/** List of available items to pick from */
|
80
|
+
availableItems: PickerItem[];
|
81
|
+
/**
|
82
|
+
* Selected items array. Created from the selected items map. Binding to the
|
83
|
+
* map iterate values caused angular "expression changed" errors so after a map
|
84
|
+
* update this gets set to the values
|
85
|
+
*/
|
86
|
+
selectedItems: PickerItem[];
|
87
|
+
/** True if there are selected items and at least one can be removed */
|
88
|
+
selectedItemsClearable: boolean;
|
89
|
+
/** Track by used for the searchable table rows */
|
90
|
+
trackByIndex: (index: number) => number;
|
91
|
+
tableStatus: Overlay;
|
92
|
+
/** Text to display next to the checkbox in the available items header. Used to dislay how many items are
|
93
|
+
* selected when select all items is enabled
|
94
|
+
*/
|
95
|
+
availableCheckboxText: string;
|
96
|
+
/** When set to true the select all items button will show in the available items header. This is
|
97
|
+
* shown when the user has enabled select all for the item picker and the user selects the header checkbox
|
98
|
+
* with more than one page of results.
|
99
|
+
*/
|
100
|
+
showSelectAllItemsButton: boolean;
|
101
|
+
/** The total number of items returned from the api across all pages */
|
102
|
+
totalItemsBeforePaging?: number;
|
103
|
+
/** Passed to the searchable table control. Used to disable the pagination controls */
|
104
|
+
disablePaginationControls?: boolean;
|
105
|
+
/**
|
106
|
+
* Template used to display the available and selected items as well as the available item header.
|
107
|
+
* This will be set to the default template if a custom is not provided
|
108
|
+
*/
|
109
|
+
internalizedAvailableHeaderTemplate: TemplateRef<any>;
|
110
|
+
internalizedAvailableItemTemplate: TemplateRef<any>;
|
111
|
+
internalizedSelectedItemTemplate: TemplateRef<any>;
|
112
|
+
/** Default templates used if a custom template is not provided */
|
113
|
+
private defaultAvailableHeaderTemplate;
|
114
|
+
private defaultAvailableItemTemplate;
|
115
|
+
private defaultSelectedItemTemplate;
|
116
|
+
/** Used to shut down our subscriptions when the component is destroyed */
|
117
|
+
private destroyed;
|
118
|
+
constructor(translateService: TranslateService);
|
119
|
+
ngOnInit(): void;
|
120
|
+
/**
|
121
|
+
* Watch for changes and react if the custom item template value changes
|
122
|
+
*/
|
123
|
+
ngOnChanges(): void;
|
124
|
+
ngOnDestroy(): void;
|
125
|
+
/**
|
126
|
+
* Called by the searchable table when a new set of items are returned from the getItems call.
|
127
|
+
* If any of the items have `preventRemove` set, their indices are added to the context.
|
128
|
+
*/
|
129
|
+
onItemsChange(results: TableSearchResults): void;
|
130
|
+
/**
|
131
|
+
* Called when the clear selection link button is clicked
|
132
|
+
*/
|
133
|
+
onClearSelectionClick(): void;
|
134
|
+
/**
|
135
|
+
* Called when the remove item button is clicked for a selected item
|
136
|
+
* @param removeItem
|
137
|
+
*/
|
138
|
+
removeSelectedItem(removeItem: PickerItem): void;
|
139
|
+
/**
|
140
|
+
* Click handler for the select all items button
|
141
|
+
*/
|
142
|
+
selectAllItems(): void;
|
143
|
+
/**
|
144
|
+
* Removes all items from the selected items map. This was split from the onClearSelectionClick function to allow
|
145
|
+
* selectAllItems to call this function but keep the row checkbox values in place. This was needed because when you are
|
146
|
+
* selecting all items across all pages we want the current page of items to remain checked.
|
147
|
+
*
|
148
|
+
*/
|
149
|
+
private clearSelectedItemsMap;
|
150
|
+
/**
|
151
|
+
* Watch for changes to the row checkboxes form array and update the selected items
|
152
|
+
* list
|
153
|
+
*/
|
154
|
+
private setupRowCheckboxesWatcher;
|
155
|
+
private updateAvailableCheckboxText;
|
156
|
+
/**
|
157
|
+
* Watch to be told if changes to the map were made outside of the component and if so update
|
158
|
+
* the array displayed in the selected list and select checkboxes for visible available items
|
159
|
+
*/
|
160
|
+
private setupSelectedItemsChangedWatcher;
|
161
|
+
private setInternalizedTemplates;
|
162
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ItemPickerComponent<any>, never>;
|
163
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ItemPickerComponent<any>, "ec-item-picker", never, { "id": { "alias": "id"; "required": false; }; "availableTitle": { "alias": "availableTitle"; "required": false; }; "availableTitleHelpPopover": { "alias": "availableTitleHelpPopover"; "required": false; }; "selectedTitle": { "alias": "selectedTitle"; "required": false; }; "itemName": { "alias": "itemName"; "required": false; }; "formModel": { "alias": "formModel"; "required": false; }; "customAvailableHeaderTemplate": { "alias": "customAvailableHeaderTemplate"; "required": false; }; "customAvailableItemTemplate": { "alias": "customAvailableItemTemplate"; "required": false; }; "customSelectedItemTemplate": { "alias": "customSelectedItemTemplate"; "required": false; }; "ready": { "alias": "ready"; "required": false; }; "getItems": { "alias": "getItems"; "required": false; }; "selectionContext": { "alias": "selectionContext"; "required": false; }; "noDataMessage": { "alias": "noDataMessage"; "required": false; }; "noSelectedItemsMessage": { "alias": "noSelectedItemsMessage"; "required": false; }; "enableSelectAllItems": { "alias": "enableSelectAllItems"; "required": false; }; "selectAllItemsMessage": { "alias": "selectAllItemsMessage"; "required": false; }; }, {}, never, never, false, never>;
|
164
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class LinkButtonComponent {
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LinkButtonComponent, never>;
|
4
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LinkButtonComponent, "button[ecLinkButton]", never, {}, {}, never, ["*"], false, never>;
|
5
|
+
}
|
@@ -0,0 +1,255 @@
|
|
1
|
+
import { AfterContentInit, ElementRef, EventEmitter, OnChanges, OnDestroy, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
|
2
|
+
import { ScrollService } from '../../core/scroll.service';
|
3
|
+
import { WindowService } from '../../core/window.service';
|
4
|
+
import { LinkTarget } from '../../display/tags/tag';
|
5
|
+
import { NavItem } from '../navigation/nav-item';
|
6
|
+
import { PopoverContentPosition } from '../popover/popover.component';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
export type MenuTemplateType = "label" | "iconAndLabel" | "checkAndLabel" | "iconLabelCaption";
|
9
|
+
export type MenuHostElementClasses = 'bg-transparent';
|
10
|
+
export interface MenuItem<TValue = any, SItems = any> extends NavItem {
|
11
|
+
label: string;
|
12
|
+
caption?: string;
|
13
|
+
items?: MenuItem<SItems>[];
|
14
|
+
checked?: boolean;
|
15
|
+
display?: 'default' | 'heading' | 'divider' | 'divided-section';
|
16
|
+
value?: TValue;
|
17
|
+
classList?: string;
|
18
|
+
disabled?: boolean;
|
19
|
+
hidden?: boolean;
|
20
|
+
readonly?: boolean;
|
21
|
+
target?: LinkTarget;
|
22
|
+
externalLink?: boolean;
|
23
|
+
/** Optional text to display in-place of the default label when the MenuItem is selected. */
|
24
|
+
selectedLabel?: string;
|
25
|
+
hideIfNoItems?: boolean;
|
26
|
+
/** Optional help popover content to display next to the header or individual item. Note: This only will
|
27
|
+
* show when using our built in item templates.
|
28
|
+
*/
|
29
|
+
helpPopover?: string;
|
30
|
+
/** Optional help popover position. If not defined a default of 'top-left' will be used. */
|
31
|
+
helpPopoverPosition?: PopoverContentPosition;
|
32
|
+
}
|
33
|
+
export declare const menuAnimationSpeed = 350;
|
34
|
+
/**
|
35
|
+
* Primitive Menu component that encapsulates known templates
|
36
|
+
*
|
37
|
+
* @export
|
38
|
+
*/
|
39
|
+
export declare class MenuComponent implements AfterContentInit, OnDestroy, OnChanges {
|
40
|
+
private el;
|
41
|
+
private renderer;
|
42
|
+
private windowService;
|
43
|
+
private scrollService;
|
44
|
+
/**
|
45
|
+
* Input for the menu's template id
|
46
|
+
*/
|
47
|
+
id?: string;
|
48
|
+
/**
|
49
|
+
* Id bound to the host element
|
50
|
+
*/
|
51
|
+
attrId?: string;
|
52
|
+
/**
|
53
|
+
* Array of items to display
|
54
|
+
*
|
55
|
+
* @memberof MenuComponent
|
56
|
+
*/
|
57
|
+
items: Array<MenuItem>;
|
58
|
+
/**
|
59
|
+
* Selected item; annotates the item
|
60
|
+
* when displayed with 'selected' class
|
61
|
+
*
|
62
|
+
* @memberof MenuComponent
|
63
|
+
*/
|
64
|
+
selected: MenuItem | null;
|
65
|
+
/**
|
66
|
+
* The parent menu item. If defined, a header with the parent's label and a
|
67
|
+
* back button will be displayed.
|
68
|
+
*/
|
69
|
+
parent?: MenuItem;
|
70
|
+
/**
|
71
|
+
* Display template
|
72
|
+
*
|
73
|
+
* @memberof MenuComponent
|
74
|
+
*/
|
75
|
+
templateType: MenuTemplateType;
|
76
|
+
/**
|
77
|
+
* Optional custom template for the menu items. Must declare a template
|
78
|
+
* input variable called "item" like so: <ng-template #templateName let-item>,
|
79
|
+
* where item represents the menuItem.
|
80
|
+
* Will override the choice for templateType if provided.
|
81
|
+
*
|
82
|
+
* @memberof MenuComponent
|
83
|
+
*/
|
84
|
+
customMenuTemplate?: TemplateRef<any>;
|
85
|
+
/**
|
86
|
+
* The menu's title
|
87
|
+
*/
|
88
|
+
title?: string;
|
89
|
+
/**
|
90
|
+
* Show message when there are no items
|
91
|
+
*/
|
92
|
+
showNoItems?: boolean;
|
93
|
+
/**
|
94
|
+
* Text to show when menu is empty and showNoItems is true
|
95
|
+
*/
|
96
|
+
noDataText: string;
|
97
|
+
/**
|
98
|
+
* Controls whether keyboard navigation is enabled
|
99
|
+
*/
|
100
|
+
enableKeyNav?: boolean;
|
101
|
+
/**
|
102
|
+
* Item currently highlighted by keyboard navigation
|
103
|
+
*/
|
104
|
+
highlightedItem: MenuItem | null;
|
105
|
+
/**
|
106
|
+
* Tells the menu to maintain the selected/lastSelected item. Turning this off is useful for
|
107
|
+
* action type menus that are displayed on the screen at all times and you do not
|
108
|
+
* want the item to be selected when clicked.
|
109
|
+
*/
|
110
|
+
maintainSelectedItem: boolean;
|
111
|
+
/**
|
112
|
+
* Will prevent text-wrapping of menu items and truncate instead. Also turns on a tooltip for the menu item. Default: false;
|
113
|
+
*/
|
114
|
+
truncateItems: boolean;
|
115
|
+
/**
|
116
|
+
* When true, the space for the icon is preserved for menu items that do not have icons.
|
117
|
+
* Only applicable for iconAndLabel menus.
|
118
|
+
*/
|
119
|
+
preserveIconSpace: boolean;
|
120
|
+
/**
|
121
|
+
* Reference to the toggle button. Set when menu is used as part of a DropdownComponent.
|
122
|
+
*/
|
123
|
+
dropdownToggleButton?: ElementRef;
|
124
|
+
/**
|
125
|
+
* Emitted when `selected` is changed. Emits the referenced object.
|
126
|
+
*
|
127
|
+
* @memberof MenuComponent
|
128
|
+
*/
|
129
|
+
selectedChanged: EventEmitter<MenuItem>;
|
130
|
+
/**
|
131
|
+
* Emitted when the menu has a parent and back is clicked
|
132
|
+
* @memberof MenuComponent
|
133
|
+
*/
|
134
|
+
menuClosed: EventEmitter<void>;
|
135
|
+
/**
|
136
|
+
* The item template that is loaded into the component template
|
137
|
+
*
|
138
|
+
* @memberof MenuComponent
|
139
|
+
*/
|
140
|
+
internalizedTemplate: TemplateRef<any>;
|
141
|
+
/**
|
142
|
+
* Index of the item currently highlighted using keyboard nav
|
143
|
+
*/
|
144
|
+
highlightedItemIndex: number;
|
145
|
+
/**
|
146
|
+
* A reference to the menu label template
|
147
|
+
*/
|
148
|
+
private labelTemplate;
|
149
|
+
/**
|
150
|
+
* A reference to the menu icon and label template
|
151
|
+
*/
|
152
|
+
private iconAndLabelTemplate;
|
153
|
+
/**
|
154
|
+
* A reference to the menu check and label template
|
155
|
+
*/
|
156
|
+
private checkAndLabelTemplate;
|
157
|
+
/**
|
158
|
+
* A reference to the menu icon, label and caption template
|
159
|
+
*/
|
160
|
+
private iconLabelCaptionTemplate;
|
161
|
+
/**
|
162
|
+
* Contains the function used to remove the even listener from the renderer
|
163
|
+
*/
|
164
|
+
private removeKeydownListener?;
|
165
|
+
/**
|
166
|
+
* Last item this.selected was set to via selectItem().
|
167
|
+
* This isn't necessarily the same as this.selected, because this.selected is an input property
|
168
|
+
* and could have been changed by a consumer through some means other than selectItem().
|
169
|
+
* This allows us to prevent double-calls to selectItem() with the same input.
|
170
|
+
*/
|
171
|
+
private lastSelected;
|
172
|
+
/**
|
173
|
+
* Flattened array of all selectable items in the menu. Makes it easier to keep track of the currently highlighted item for keyboard navigation.
|
174
|
+
*/
|
175
|
+
private selectableItems;
|
176
|
+
/**
|
177
|
+
* Helper function to return a flat list of all selectable items in the provided menu items. Filters out headings and divided-sections.
|
178
|
+
* This makes it much easier to keep track of currently highlighted items for keyboard navigation.
|
179
|
+
*/
|
180
|
+
static getSelectableItems(items: MenuItem[]): MenuItem[];
|
181
|
+
/**
|
182
|
+
* Returns an ID for the provided item based on its index in the provided items array. This mimics the behavior of the MenuComponent's
|
183
|
+
* generated IDs for items that don't have provided IDs. This is used in MenuComponent and ComboboxComponent to scroll to specific items.
|
184
|
+
* NOTE: If the items array does not match what is displayed in the menu, this function will not return the correct ID.
|
185
|
+
*
|
186
|
+
* Returns null if the not found
|
187
|
+
* @param items The MenuItems array to search through.
|
188
|
+
* @param item The item to generate the ID for.
|
189
|
+
* @param menuComponentId Used to prefix the generated ID. This should be the ID of the menu component the item is present in.
|
190
|
+
* @memberof MenuComponent
|
191
|
+
*/
|
192
|
+
static getIndexedItemId(items: MenuItem[], item?: MenuItem | null, menuComponentId?: string): string | null;
|
193
|
+
constructor(el: ElementRef, renderer: Renderer2, windowService: WindowService, scrollService: ScrollService);
|
194
|
+
ngOnChanges(changes: SimpleChanges): void;
|
195
|
+
/**
|
196
|
+
* Sets & displays the interalized template based on
|
197
|
+
* the set template.
|
198
|
+
* @see { @link https://angular.io/guide/lifecycle-hooks|Angular Lifecycle Hooks}
|
199
|
+
*
|
200
|
+
* @memberof MenuComponent
|
201
|
+
*/
|
202
|
+
ngAfterContentInit(): void;
|
203
|
+
ngOnDestroy(): void;
|
204
|
+
/**
|
205
|
+
* When a menu item is selected, open a child menu if the item has items, call
|
206
|
+
* the item's click method if defined, or emit the selected item.
|
207
|
+
*
|
208
|
+
* @param item The selected item
|
209
|
+
* @memberof MenuComponent
|
210
|
+
*/
|
211
|
+
selectItem(event: Event, item: MenuItem, isKeyEvent?: boolean): void;
|
212
|
+
/**
|
213
|
+
* Close the current menu and open the parent menu
|
214
|
+
* @memberof MenuComponent
|
215
|
+
*/
|
216
|
+
back(event: Event): void;
|
217
|
+
/**
|
218
|
+
* Emit the selected item
|
219
|
+
* @param item The selected item
|
220
|
+
*/
|
221
|
+
onSelection(item: MenuItem): void;
|
222
|
+
/**
|
223
|
+
* Open or close the child menu. When the child menu closes, the selected
|
224
|
+
* item is reset.
|
225
|
+
* @memberof MenuComponent
|
226
|
+
*/
|
227
|
+
toggleChildMenu(open: boolean): void;
|
228
|
+
/**
|
229
|
+
* Handle key presses to navigate the menu
|
230
|
+
*/
|
231
|
+
keyNavigate(event: KeyboardEvent): void;
|
232
|
+
/**
|
233
|
+
* Scroll to the item currently marked as 'is-selected'. Wait a tick for the
|
234
|
+
* NgClassDirecitve or NavItemActiveDirective to respond to the model changes
|
235
|
+
* and update the view.
|
236
|
+
*/
|
237
|
+
scrollToSelectedItem(): void;
|
238
|
+
private moveHighlightedUpOrDown;
|
239
|
+
/**
|
240
|
+
* Scroll to the specified menu item.
|
241
|
+
* If no item is provided, it will scroll to the first item.
|
242
|
+
*
|
243
|
+
* @param item The menu item to scroll to.
|
244
|
+
* @memberof MenuComponent
|
245
|
+
*/
|
246
|
+
private scrollMenu;
|
247
|
+
private scrollToHighlightedItem;
|
248
|
+
private addKeydownListener;
|
249
|
+
/**
|
250
|
+
* Sets the menu item ids using its index if item doesn't already have one
|
251
|
+
*/
|
252
|
+
private setItemIds;
|
253
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
|
254
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "ec-menu", never, { "id": { "alias": "id"; "required": false; }; "items": { "alias": "items"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "parent": { "alias": "parent"; "required": false; }; "templateType": { "alias": "templateType"; "required": false; }; "customMenuTemplate": { "alias": "customMenuTemplate"; "required": false; }; "title": { "alias": "title"; "required": false; }; "showNoItems": { "alias": "showNoItems"; "required": false; }; "noDataText": { "alias": "noDataText"; "required": false; }; "enableKeyNav": { "alias": "enableKeyNav"; "required": false; }; "highlightedItem": { "alias": "highlightedItem"; "required": false; }; "maintainSelectedItem": { "alias": "maintainSelectedItem"; "required": false; }; "truncateItems": { "alias": "truncateItems"; "required": false; }; "preserveIconSpace": { "alias": "preserveIconSpace"; "required": false; }; "dropdownToggleButton": { "alias": "dropdownToggleButton"; "required": false; }; }, { "selectedChanged": "selectedChanged"; "menuClosed": "menuClosed"; }, never, never, false, never>;
|
255
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { Params } from "@angular/router";
|
2
|
+
export interface LinkItem {
|
3
|
+
/**
|
4
|
+
* Optional identifier for this nav item
|
5
|
+
*/
|
6
|
+
id?: string | number;
|
7
|
+
/**
|
8
|
+
* Optional icon to display to the left of the nav item label or
|
9
|
+
*/
|
10
|
+
icon?: string;
|
11
|
+
/**
|
12
|
+
* Optional label to display
|
13
|
+
*/
|
14
|
+
label?: string;
|
15
|
+
/**
|
16
|
+
* Url to navigate to when clicked
|
17
|
+
* Leave blank or undefined to not navigate and defer to onClick
|
18
|
+
*/
|
19
|
+
url?: string;
|
20
|
+
/**
|
21
|
+
* Parameters to add to the url
|
22
|
+
*/
|
23
|
+
queryParams?: Params | null;
|
24
|
+
/**
|
25
|
+
* Determines whether the nav-item's url must match the active url exactly in order to be marked active.
|
26
|
+
* If false, the item will show as active if part of the url matches. Defaults to true.
|
27
|
+
* See nav-item-active.directive.ts
|
28
|
+
*/
|
29
|
+
isActiveExactMatch?: boolean;
|
30
|
+
/** Extra CSS classes to apply to an element. Specify multiple classes with spaces */
|
31
|
+
classlist?: string;
|
32
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { Subject } from "rxjs";
|
2
|
+
import { NavItem } from "./nav-item";
|
3
|
+
export declare class NavGroup {
|
4
|
+
/** The groups nav items */
|
5
|
+
items: NavItem[];
|
6
|
+
/** Broadcasts to subscribers when the value of the selected NavItem changed */
|
7
|
+
selectedChanges: Subject<NavItem>;
|
8
|
+
/** Set selected to a NavItem and call selectItem if selected was previously defined */
|
9
|
+
set selected(item: NavItem | undefined);
|
10
|
+
/** Get the value of the selected NavItem */
|
11
|
+
get selected(): NavItem | undefined;
|
12
|
+
/** The currently selected NavItem */
|
13
|
+
private _selected?;
|
14
|
+
/** Assign items to the NavGroup items */
|
15
|
+
constructor(items?: NavItem[], defaultItem?: NavItem);
|
16
|
+
/** Call a selected NavItem's onClick method and broadcast the value of the selected NavItem to subscribers */
|
17
|
+
private selectItem;
|
18
|
+
}
|