@wavemaker/app-ng-runtime 11.14.1-rc.6310 → 11.14.2-1.245
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/components/advanced/carousel/bundles/index.umd.js +15 -1
- package/components/advanced/carousel/carousel.directive.d.ts +1 -0
- package/components/advanced/carousel/esm2022/carousel.directive.mjs +16 -2
- package/components/advanced/carousel/fesm2022/index.mjs +15 -1
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/bundles/index.umd.js +24 -3
- package/components/advanced/login/esm2022/login.component.mjs +25 -4
- package/components/advanced/login/fesm2022/index.mjs +24 -3
- package/components/advanced/login/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/login.component.d.ts +5 -2
- package/components/base/bundles/index.umd.js +331 -36
- package/components/base/directives/show-in-device.directive.d.ts +2 -1
- package/components/base/esm2022/directives/show-in-device.directive.mjs +22 -4
- package/components/base/esm2022/pipes/custom-pipes.mjs +10 -10
- package/components/base/esm2022/utils/widget-utils.mjs +3 -3
- package/components/base/esm2022/widgets/common/base/base-container.component.mjs +27 -1
- package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +18 -1
- package/components/base/esm2022/widgets/common/base/base.component.mjs +68 -7
- package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +9 -1
- package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +44 -11
- package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +20 -1
- package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +26 -1
- package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +44 -4
- package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +16 -1
- package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +22 -1
- package/components/base/esm2022/widgets/framework/property-change-handler.mjs +7 -2
- package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +5 -3
- package/components/base/esm2022/widgets/framework/widget-registry.mjs +6 -3
- package/components/base/fesm2022/index.mjs +327 -34
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/pipes/custom-pipes.d.ts +5 -5
- package/components/base/widgets/common/base/base-container.component.d.ts +3 -2
- package/components/base/widgets/common/base/base-field-validations.d.ts +1 -0
- package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +3 -2
- package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +6 -2
- package/components/base/widgets/common/base/partial-container.directive.d.ts +3 -2
- package/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -2
- package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
- package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +3 -2
- package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +3 -2
- package/components/basic/anchor/bundles/index.umd.js +13 -1
- package/components/basic/anchor/esm2022/anchor.component.mjs +14 -2
- package/components/basic/anchor/fesm2022/index.mjs +13 -1
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
- package/components/basic/html/bundles/index.umd.js +13 -1
- package/components/basic/html/esm2022/html.directive.mjs +14 -2
- package/components/basic/html/fesm2022/index.mjs +13 -1
- package/components/basic/html/fesm2022/index.mjs.map +1 -1
- package/components/basic/label/bundles/index.umd.js +17 -1
- package/components/basic/label/esm2022/label.directive.mjs +18 -2
- package/components/basic/label/fesm2022/index.mjs +17 -1
- package/components/basic/label/fesm2022/index.mjs.map +1 -1
- package/components/basic/label/label.directive.d.ts +3 -2
- package/components/basic/progress/progress-circle/bundles/index.umd.js +10 -0
- package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +11 -1
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +10 -0
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
- package/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -2
- package/components/basic/search/bundles/index.umd.js +42 -14
- package/components/basic/search/esm2022/scrollable.directive.mjs +13 -4
- package/components/basic/search/esm2022/search.component.mjs +31 -12
- package/components/basic/search/fesm2022/index.mjs +42 -14
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/scrollable.directive.d.ts +5 -3
- package/components/basic/search/search.component.d.ts +3 -2
- package/components/basic/spinner/bundles/index.umd.js +9 -1
- package/components/basic/spinner/esm2022/spinner.component.mjs +10 -2
- package/components/basic/spinner/fesm2022/index.mjs +9 -1
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
- package/components/basic/spinner/spinner.component.d.ts +4 -2
- package/components/chart/bundles/index.umd.js +21 -3
- package/components/chart/esm2022/chart.component.mjs +22 -4
- package/components/chart/fesm2022/index.mjs +21 -3
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +3 -2
- package/components/containers/accordion/accordion.directive.d.ts +5 -2
- package/components/containers/accordion/bundles/index.umd.js +49 -2
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -1
- package/components/containers/accordion/esm2022/accordion.directive.mjs +41 -3
- package/components/containers/accordion/fesm2022/index.mjs +49 -2
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/bundles/index.umd.js +13 -0
- package/components/containers/panel/esm2022/panel.component.mjs +14 -1
- package/components/containers/panel/fesm2022/index.mjs +13 -0
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/panel.component.d.ts +3 -2
- package/components/containers/tabs/bundles/index.umd.js +54 -2
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +10 -1
- package/components/containers/tabs/esm2022/tabs.component.mjs +46 -3
- package/components/containers/tabs/fesm2022/index.mjs +54 -2
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -2
- package/components/containers/tabs/tabs.component.d.ts +5 -2
- package/components/containers/wizard/bundles/index.umd.js +47 -3
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +16 -3
- package/components/containers/wizard/esm2022/wizard.component.mjs +33 -2
- package/components/containers/wizard/fesm2022/index.mjs +47 -3
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +3 -2
- package/components/containers/wizard/wizard.component.d.ts +4 -2
- package/components/data/card/bundles/index.umd.js +17 -1
- package/components/data/card/card-content/card-content.component.d.ts +3 -2
- package/components/data/card/card.component.d.ts +4 -2
- package/components/data/card/esm2022/card-content/card-content.component.mjs +6 -1
- package/components/data/card/esm2022/card.component.mjs +13 -2
- package/components/data/card/fesm2022/index.mjs +17 -1
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/form/bundles/index.umd.js +92 -0
- package/components/data/form/esm2022/form-action/form-action.directive.mjs +7 -1
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +28 -1
- package/components/data/form/esm2022/form-widget.directive.mjs +8 -1
- package/components/data/form/esm2022/form.component.mjs +27 -1
- package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +7 -1
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +12 -1
- package/components/data/form/esm2022/live-form/live-form.directive.mjs +10 -1
- package/components/data/form/fesm2022/index.mjs +92 -0
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/form-action/form-action.directive.d.ts +3 -2
- package/components/data/form/form-field/form-field.directive.d.ts +3 -2
- package/components/data/form/form-widget.directive.d.ts +3 -2
- package/components/data/form/live-actions/live-actions.directive.d.ts +3 -1
- package/components/data/form/live-filter/live-filter.directive.d.ts +3 -1
- package/components/data/form/live-form/live-form.directive.d.ts +3 -1
- package/components/data/list/bundles/index.umd.js +213 -19
- package/components/data/list/esm2022/list-item.directive.mjs +95 -11
- package/components/data/list/esm2022/list.component.mjs +120 -10
- package/components/data/list/fesm2022/index.mjs +213 -19
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/list-item.directive.d.ts +7 -2
- package/components/data/list/list.component.d.ts +7 -0
- package/components/data/live-table/bundles/index.umd.js +13 -1
- package/components/data/live-table/esm2022/live-table.component.mjs +14 -2
- package/components/data/live-table/fesm2022/index.mjs +13 -1
- package/components/data/live-table/fesm2022/index.mjs.map +1 -1
- package/components/data/live-table/live-table.component.d.ts +4 -2
- package/components/data/pagination/bundles/index.umd.js +57 -4
- package/components/data/pagination/esm2022/pagination.component.mjs +58 -5
- package/components/data/pagination/fesm2022/index.mjs +57 -4
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/pagination.component.d.ts +4 -2
- package/components/data/table/bundles/index.umd.js +345 -15
- package/components/data/table/esm2022/table-action/table-action.directive.mjs +8 -1
- package/components/data/table/esm2022/table-column/table-column.directive.mjs +107 -3
- package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +9 -1
- package/components/data/table/esm2022/table-cud.directive.mjs +8 -2
- package/components/data/table/esm2022/table-filter.directive.mjs +12 -2
- package/components/data/table/esm2022/table-row/table-row.directive.mjs +8 -1
- package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +8 -1
- package/components/data/table/esm2022/table.component.mjs +193 -12
- package/components/data/table/fesm2022/index.mjs +345 -15
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/table-action/table-action.directive.d.ts +3 -2
- package/components/data/table/table-column/table-column.directive.d.ts +3 -2
- package/components/data/table/table-column-group/table-column-group.directive.d.ts +3 -2
- package/components/data/table/table-cud.directive.d.ts +3 -1
- package/components/data/table/table-filter.directive.d.ts +3 -1
- package/components/data/table/table-row/table-row.directive.d.ts +3 -2
- package/components/data/table/table-row-action/table-row-action.directive.d.ts +3 -2
- package/components/data/table/table.component.d.ts +6 -2
- package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -2
- package/components/dialogs/alert-dialog/bundles/index.umd.js +5 -0
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +6 -1
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +5 -0
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +5 -0
- package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -2
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +6 -1
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +5 -0
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/default/bundles/index.umd.js +15 -2
- package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +4 -2
- package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -3
- package/components/dialogs/default/fesm2022/index.mjs +15 -2
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/bundles/index.umd.js +7 -0
- package/components/dialogs/design-dialog/dialog.component.d.ts +3 -2
- package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -1
- package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -0
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +5 -0
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +6 -1
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +5 -0
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +3 -2
- package/components/dialogs/partial-dialog/bundles/index.umd.js +23 -3
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +24 -4
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +23 -3
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +4 -2
- package/components/input/base-form/base-form.component.d.ts +4 -2
- package/components/input/base-form/bundles/index.umd.js +16 -2
- package/components/input/base-form/esm2022/base-form.component.mjs +17 -3
- package/components/input/base-form/fesm2022/index.mjs +16 -2
- package/components/input/base-form/fesm2022/index.mjs.map +1 -1
- package/components/input/base-form-custom/base-form-custom.component.d.ts +3 -2
- package/components/input/base-form-custom/bundles/index.umd.js +13 -2
- package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +14 -3
- package/components/input/base-form-custom/fesm2022/index.mjs +13 -2
- package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/bundles/index.umd.js +7 -0
- package/components/input/checkbox/checkbox.component.d.ts +3 -2
- package/components/input/checkbox/esm2022/checkbox.component.mjs +8 -1
- package/components/input/checkbox/fesm2022/index.mjs +7 -0
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkboxset/bundles/index.umd.js +18 -2
- package/components/input/checkboxset/checkboxset.component.d.ts +4 -2
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +19 -3
- package/components/input/checkboxset/fesm2022/index.mjs +18 -2
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/bundles/index.umd.js +45 -5
- package/components/input/chips/chips.component.d.ts +3 -2
- package/components/input/chips/esm2022/chips.component.mjs +46 -6
- package/components/input/chips/fesm2022/index.mjs +45 -5
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/bundles/index.umd.js +8 -0
- package/components/input/color-picker/color-picker.component.d.ts +3 -2
- package/components/input/color-picker/esm2022/color-picker.component.mjs +9 -1
- package/components/input/color-picker/fesm2022/index.mjs +8 -0
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/composite/bundles/index.umd.js +10 -1
- package/components/input/composite/composite.directive.d.ts +3 -2
- package/components/input/composite/esm2022/composite.directive.mjs +11 -2
- package/components/input/composite/fesm2022/index.mjs +10 -1
- package/components/input/composite/fesm2022/index.mjs.map +1 -1
- package/components/input/currency/bundles/index.umd.js +7 -0
- package/components/input/currency/currency.component.d.ts +3 -2
- package/components/input/currency/esm2022/currency.component.mjs +8 -1
- package/components/input/currency/fesm2022/index.mjs +7 -0
- package/components/input/currency/fesm2022/index.mjs.map +1 -1
- package/components/input/dataset-aware-form/bundles/index.umd.js +26 -2
- package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +27 -3
- package/components/input/dataset-aware-form/fesm2022/index.mjs +26 -2
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date/bundles/index.umd.js +22 -0
- package/components/input/epoch/date/date.component.d.ts +1 -0
- package/components/input/epoch/date/esm2022/date.component.mjs +23 -1
- package/components/input/epoch/date/fesm2022/index.mjs +22 -0
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/bundles/index.umd.js +25 -8
- package/components/input/file-upload/esm2022/file-upload.component.mjs +26 -9
- package/components/input/file-upload/fesm2022/index.mjs +25 -8
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/file-upload.component.d.ts +3 -0
- package/components/input/number/bundles/index.umd.js +8 -0
- package/components/input/number/esm2022/number.component.mjs +9 -1
- package/components/input/number/fesm2022/index.mjs +8 -0
- package/components/input/number/fesm2022/index.mjs.map +1 -1
- package/components/input/number/number.component.d.ts +3 -2
- package/components/input/radioset/bundles/index.umd.js +18 -2
- package/components/input/radioset/esm2022/radioset.component.mjs +19 -3
- package/components/input/radioset/fesm2022/index.mjs +18 -2
- package/components/input/radioset/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/radioset.component.d.ts +4 -2
- package/components/input/rating/bundles/index.umd.js +10 -0
- package/components/input/rating/esm2022/rating.component.mjs +11 -1
- package/components/input/rating/fesm2022/index.mjs +10 -0
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/rating.component.d.ts +3 -2
- package/components/input/select/bundles/index.umd.js +6 -0
- package/components/input/select/esm2022/select.component.mjs +7 -1
- package/components/input/select/fesm2022/index.mjs +6 -0
- package/components/input/select/fesm2022/index.mjs.map +1 -1
- package/components/input/select/select.component.d.ts +3 -2
- package/components/input/slider/bundles/index.umd.js +10 -0
- package/components/input/slider/esm2022/slider.component.mjs +11 -1
- package/components/input/slider/fesm2022/index.mjs +10 -0
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/slider.component.d.ts +3 -2
- package/components/input/switch/bundles/index.umd.js +22 -2
- package/components/input/switch/esm2022/switch.component.mjs +23 -3
- package/components/input/switch/fesm2022/index.mjs +22 -2
- package/components/input/switch/fesm2022/index.mjs.map +1 -1
- package/components/input/switch/switch.component.d.ts +3 -2
- package/components/input/text/bundles/index.umd.js +36 -0
- package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +8 -1
- package/components/input/text/esm2022/input-color/input-color.component.mjs +8 -1
- package/components/input/text/esm2022/input-email/input-email.component.mjs +8 -1
- package/components/input/text/esm2022/input-number/input-number.component.mjs +8 -1
- package/components/input/text/esm2022/input-text/input-text.component.mjs +9 -1
- package/components/input/text/fesm2022/index.mjs +36 -0
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/input-calendar/input-calendar.component.d.ts +3 -2
- package/components/input/text/input-color/input-color.component.d.ts +3 -2
- package/components/input/text/input-email/input-email.component.d.ts +3 -2
- package/components/input/text/input-number/input-number.component.d.ts +3 -2
- package/components/input/text/input-text/input-text.component.d.ts +3 -2
- package/components/input/textarea/bundles/index.umd.js +7 -0
- package/components/input/textarea/esm2022/textarea.component.mjs +8 -1
- package/components/input/textarea/fesm2022/index.mjs +7 -0
- package/components/input/textarea/fesm2022/index.mjs.map +1 -1
- package/components/input/textarea/textarea.component.d.ts +3 -2
- package/components/navigation/menu/bundles/index.umd.js +55 -6
- package/components/navigation/menu/esm2022/menu-adapator.component.mjs +17 -3
- package/components/navigation/menu/esm2022/menu.component.mjs +10 -3
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +6 -1
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +11 -1
- package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +16 -3
- package/components/navigation/menu/fesm2022/index.mjs +55 -6
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/menu-adapator.component.d.ts +4 -2
- package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +3 -2
- package/components/navigation/menu/nav/nav.component.d.ts +3 -2
- package/components/navigation/menu/nav/navigation-control.directive.d.ts +4 -2
- package/components/navigation/navbar/bundles/index.umd.js +5 -0
- package/components/navigation/navbar/esm2022/navbar.component.mjs +6 -1
- package/components/navigation/navbar/fesm2022/index.mjs +5 -0
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/navbar.component.d.ts +3 -2
- package/components/navigation/popover/bundles/index.umd.js +65 -13
- package/components/navigation/popover/esm2022/popover.component.mjs +63 -11
- package/components/navigation/popover/fesm2022/index.mjs +62 -10
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/popover.component.d.ts +11 -3
- package/components/page/default/bundles/index.umd.js +30 -6
- package/components/page/default/esm2022/layout.directive.mjs +9 -1
- package/components/page/default/esm2022/page-content/page-content.component.mjs +13 -3
- package/components/page/default/esm2022/router-outlet.directive.mjs +13 -6
- package/components/page/default/fesm2022/index.mjs +30 -6
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/default/layout.directive.d.ts +3 -2
- package/components/page/default/page-content/page-content.component.d.ts +3 -2
- package/components/page/default/router-outlet.directive.d.ts +5 -2
- package/components/page/left-panel/bundles/index.umd.js +16 -0
- package/components/page/left-panel/esm2022/left-panel.directive.mjs +17 -1
- package/components/page/left-panel/fesm2022/index.mjs +16 -0
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/left-panel/left-panel.directive.d.ts +3 -2
- package/components/page/top-nav/bundles/index.umd.js +2 -1
- package/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
- package/components/page/top-nav/fesm2022/index.mjs +2 -1
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- package/components/prefab/bundles/index.umd.js +4 -0
- package/components/prefab/esm2022/prefab.directive.mjs +5 -1
- package/components/prefab/fesm2022/index.mjs +4 -0
- package/components/prefab/fesm2022/index.mjs.map +1 -1
- package/core/bundles/index.umd.js +391 -94
- package/core/esm2022/public_api.mjs +3 -3
- package/core/esm2022/services/viewport.service.mjs +24 -10
- package/core/esm2022/types/types.mjs +1 -1
- package/core/esm2022/utils/dom.mjs +18 -2
- package/core/esm2022/utils/event-notifier.mjs +5 -2
- package/core/esm2022/utils/lru-cache.mjs +16 -2
- package/core/esm2022/utils/utils.mjs +6 -2
- package/core/esm2022/utils/watcher.mjs +323 -81
- package/core/fesm2022/index.mjs +390 -96
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/public_api.d.ts +2 -2
- package/core/services/viewport.service.d.ts +5 -2
- package/core/types/types.d.ts +1 -0
- package/core/utils/lru-cache.d.ts +6 -0
- package/core/utils/utils.d.ts +1 -0
- package/core/utils/watcher.d.ts +26 -5
- package/http/bundles/index.umd.js +31 -1
- package/http/esm2022/http.service.mjs +32 -2
- package/http/fesm2022/index.mjs +31 -1
- package/http/fesm2022/index.mjs.map +1 -1
- package/http/http.service.d.ts +6 -2
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/bundles/index.umd.js +9 -0
- package/oAuth/esm2022/oAuth.service.mjs +10 -1
- package/oAuth/fesm2022/index.mjs +9 -0
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/oAuth.service.d.ts +3 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +367 -32
- package/runtime/base/components/app-component/app.component.d.ts +4 -0
- package/runtime/base/components/prefab-preview.component.d.ts +5 -2
- package/runtime/base/directives/accessroles.directive.d.ts +4 -3
- package/runtime/base/directives/prefab.directive.d.ts +3 -2
- package/runtime/base/esm2022/components/app-component/app.component.mjs +40 -9
- package/runtime/base/esm2022/components/base-custom-widget.component.mjs +33 -2
- package/runtime/base/esm2022/components/base-layout.component.mjs +7 -1
- package/runtime/base/esm2022/components/base-page.component.mjs +36 -3
- package/runtime/base/esm2022/components/base-partial.component.mjs +37 -3
- package/runtime/base/esm2022/components/base-prefab.component.mjs +32 -3
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +37 -3
- package/runtime/base/esm2022/components/prefab-preview.component.mjs +23 -4
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -2
- package/runtime/base/esm2022/directives/prefab.directive.mjs +9 -1
- package/runtime/base/esm2022/services/app.manager.service.mjs +40 -12
- package/runtime/base/esm2022/services/app.service.mjs +34 -2
- package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +4 -1
- package/runtime/base/esm2022/services/pipe-provider.service.mjs +7 -4
- package/runtime/base/esm2022/services/spinner.service.mjs +15 -1
- package/runtime/base/esm2022/util/fragment-monitor.mjs +23 -2
- package/runtime/base/fesm2022/index.mjs +368 -33
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/runtime-base.module.d.ts +2 -2
- package/runtime/base/services/app.manager.service.d.ts +6 -1
- package/runtime/base/services/app.service.d.ts +12 -2
- package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +2 -1
- package/runtime/base/services/spinner.service.d.ts +3 -1
- package/runtime/base/util/fragment-monitor.d.ts +6 -0
- package/runtime/dynamic/bundles/index.umd.js +5 -0
- package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +6 -1
- package/runtime/dynamic/fesm2022/index.mjs +5 -0
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
- package/scripts/datatable/datatable.js +100 -14
- package/security/bundles/index.umd.js +41 -2
- package/security/esm2022/security.service.mjs +42 -3
- package/security/fesm2022/index.mjs +41 -2
- package/security/fesm2022/index.mjs.map +1 -1
- package/security/security.service.d.ts +5 -2
- package/variables/bundles/index.umd.js +50 -6
- package/variables/esm2022/manager/action/notification-action.manager.mjs +18 -3
- package/variables/esm2022/manager/variable/base-variable.manager.mjs +15 -2
- package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +13 -3
- package/variables/esm2022/service/variables.service.mjs +8 -2
- package/variables/fesm2022/index.mjs +50 -6
- package/variables/fesm2022/index.mjs.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/menu/src/nav/navigation-control.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu.props.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-adapator.component.ts","../../../../../projects/components/widgets/navigation/menu/src/index.ts"],"sourcesContent":["import { Directive, ElementRef, Input } from '@angular/core';\n\nimport { setAttr } from '@wm/core';\n\nexport const disableContextMenu = ($event: Event) => {\n $event.preventDefault();\n};\n\n@Directive({\n standalone: true,\n selector: '[wmNavigationControl]'\n})\nexport class NavigationControlDirective {\n\n private nativeElement: HTMLElement;\n private _link: string;\n\n @Input() disableMenuContext: boolean;\n\n @Input() set wmNavigationControl(val) {\n this._link = val;\n if (val && !this.disableMenuContext) {\n setAttr(this.nativeElement, 'href', val);\n this.nativeElement.removeEventListener('contextmenu', disableContextMenu);\n } else {\n setAttr(this.nativeElement, 'href', 'javascript:void(0)');\n this.nativeElement.addEventListener('contextmenu', disableContextMenu);\n }\n }\n\n constructor(eleRef: ElementRef) {\n this.nativeElement = eleRef.nativeElement;\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav-item',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {ContentChild, Directive, HostListener, Injector, AfterViewInit, Optional, Inject} from '@angular/core';\n\nimport {addClass, removeClass} from '@wm/core';\nimport { APPLY_STYLES_TYPE, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { AnchorComponent } from '@wm/components/basic/anchor';\n\nimport { registerProps } from './nav-item.props';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-nav-item';\nconst WIDGET_CONFIG = {widgetType: 'wm-nav-item', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmNavItem]',\n exportAs: 'navItemRef',\n providers: [\n provideAsWidgetRef(NavItemDirective)\n ]\n})\nexport class NavItemDirective extends StylableComponent implements AfterViewInit{\n static initializeProps = registerProps();\n @ContentChild(AnchorComponent) innerLink;\n\n @HostListener('click')\n @HostListener('keydown.enter')\n makeActive() {\n const parentNode = this.nativeElement.parentNode;\n $(parentNode as HTMLElement).find('> li.active').removeClass('active');\n if (this.isAttached) {\n addClass(this.nativeElement, 'active');\n }\n }\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public ngAfterViewInit() {\n if (this.innerLink) {\n this.innerLink.onActive(() => this.makeActive());\n }\n }\n\n public ngOnDetach() {\n removeClass(this.nativeElement, 'active', true);\n super.ngOnDetach();\n }\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav',\n new Map(\n [\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['dataset', PROP_ANY],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['isactive', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemhint', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemaction', PROP_STRING],\n ['itembadge', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['layout', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['type', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { AnchorComponent } from '@wm/components/basic/anchor';\nimport { MenuComponent } from '../menu.component';\nimport { NavItemDirective } from './nav-item/nav-item.directive';\nimport { Attribute, ChangeDetectorRef, Component, forwardRef, Inject, Injector, OnInit, Optional } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { addClass, App, triggerItemAction, UserDefinedExecutionContext } from '@wm/core';\nimport { APPLY_STYLES_TYPE, DatasetAwareNavComponent, provideAsWidgetRef, styler } from '@wm/components/base';\n\nimport { registerProps } from './nav.props';\nimport { find, forEach, isEmpty, omit } from \"lodash-es\";\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\n\nconst DEFAULT_CLS = 'nav app-nav';\nconst WIDGET_CONFIG = { widgetType: 'wm-nav', hostClass: DEFAULT_CLS };\n\nconst NavClassMap = {\n pills: 'nav-pills',\n tabs: 'nav-tabs',\n navbar: 'navbar-nav'\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, BsDropdownModule, AnchorComponent, forwardRef(() => MenuComponent), NavItemDirective, ],\n selector: '[wmNav]',\n templateUrl: './nav.component.html',\n providers: [\n provideAsWidgetRef(NavComponent)\n ]\n})\nexport class NavComponent extends DatasetAwareNavComponent implements OnInit {\n static initializeProps = registerProps();\n\n public selecteditem;\n public type;\n public disableMenuContext: boolean;\n public layout;\n public showonhover: boolean;\n private itemActionFn: Function;\n private pageScope: any;\n private get activePageName() {\n return this.app.activePageName;\n }\n\n constructor(\n inj: Injector,\n private cdRef: ChangeDetectorRef,\n private route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Attribute('select.event') selectEventCB,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n this.disableMenuContext = !!selectEventCB;\n this.pageScope = this.viewParent;\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!isEmpty(this.nodes)) {\n let itemFound = false;\n const getItem = (nodes, isMenuWidget?) => {\n forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.selecteditem = isMenuWidget ? omit(item, ['children', 'value']) : item.value;\n this.invokeEventCallback('select', { $event: {}, $item: item.value });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n // _selected is used to add active class for nav item. If we have children inside nav widget then it is not required.\n if (!isMenuWidget) {\n item._selected = true;\n }\n return false;\n }\n if (!isEmpty(item.children)) {\n getItem(item.children, 'menu');\n }\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n\n private setNavType(type) {\n addClass(this.nativeElement, NavClassMap[type]);\n }\n\n private setNavLayout(layout) {\n addClass(this.nativeElement, `nav-${layout}`);\n }\n\n public onNavSelect($event: Event, item: any) {\n $event.preventDefault();\n\n const selectedItem = find(this.nodes, '_selected');\n if (selectedItem) {\n // @ts-ignore\n delete selectedItem._selected;\n }\n\n this.selecteditem = item.value;\n\n this.invokeEventCallback('select', { $event, $item: item.value });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setNavType(this.type);\n this.setNavLayout(this.layout);\n }\n\n /**\n * invoked from the menu widget when a menu item is selected.\n * @param $event\n * @param widget\n * @param $item\n */\n onMenuItemSelect($event, widget, $item) {\n this.selecteditem = omit($item, ['children', 'value']);\n this.invokeEventCallback('select', { $event, $item: this.selecteditem });\n }\n}\n","<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n hint.bind=\"item.hint\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n showonhover.bind=\"showonhover\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n hint.bind=\"item.hint\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item)\"></a>\n</ng-template>\n\n@for (item of nodes; track item; let index = $index) {\n <li #liRef=\"navItemRef\"\n [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\"\n class=\"app-nav-item {{item.class}}\"\n wmNavItem>\n @if (!item.children.length) {\n <ng-container [ngTemplateOutlet]=\"anchorRef\"\n [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('anchor_' + liRef.trackId, {item: item, index:index, liRef: liRef})\"\n ></ng-container>\n }\n @if (item.children.length) {\n <ng-container [ngTemplateOutlet]=\"menuRef\"\n [ngTemplateOutletContext]=\"{item: item, index:index}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('menu_' + liRef.trackId, {item: item, index:index})\"\n ></ng-container>\n }\n </li>\n}\n\n@if (!nodes.length) {\n <ng-content select=\"[wmNavItem]\"></ng-content>\n}\n","import { MenuDropdownComponent } from '../menu-dropdown/menu-dropdown.component';\nimport { NavigationControlDirective } from '../nav/navigation-control.directive';\nimport { Component, ElementRef, forwardRef, HostListener, inject, Input, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { addClass, triggerItemAction, UserDefinedExecutionContext, App, toggleClass } from '@wm/core';\nimport { hasLinkToCurrentPage, TextContentDirective } from '@wm/components/base';\nimport { NavComponent } from '../nav/nav.component';\n\nimport { KEYBOARD_MOVEMENTS, MENU_POSITION, MenuComponent } from '../menu.component';\nimport { clone, includes } from \"lodash-es\";\n\ndeclare const $;\n\nconst menuAlignClass = {\n 'pull-right': 'fa-caret-left',\n 'dropinline-menu': 'fa-caret-down',\n 'pull-left': 'fa-caret-right'\n};\n\nconst MENU_LAYOUT_TYPE = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical'\n};\n\n@Component({\n standalone: true,\n imports: [TextContentDirective, forwardRef(() => MenuDropdownComponent), NavigationControlDirective],\n selector: 'li[wmMenuDropdownItem]',\n templateUrl: './menu-dropdown-item.component.html',\n})\nexport class MenuDropdownItemComponent implements OnInit, OnDestroy {\n\n public menualign: string;\n\n private itemActionFn: Function;\n\n @Input() item;\n\n private readonly nativeElement;\n private highlightActiveLinkSubscription: () => void;\n public menuRef = inject(MenuComponent);\n constructor(\n private app: App,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n @Optional() private parentNav: NavComponent,\n elRef: ElementRef,\n ) {\n this.nativeElement = elRef.nativeElement;\n addClass(this.nativeElement, 'app-menu-item');\n\n this.menualign = menuAlignClass[this.menuRef.menualign] || menuAlignClass['pull-left'];\n }\n\n ngOnInit() {\n // add active class to the item only if it is in nav component.\n if (this.parentNav) {\n if (hasLinkToCurrentPage([this.item], this.menuRef.route.url)) {\n // add active class to the li, if the menu item's link is same as the current page name.\n addClass(this.nativeElement, 'active');\n }\n this.highlightActiveLinkSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement, 'active', hasLinkToCurrentPage([this.item], this.menuRef.route.url));\n });\n }\n }\n\n getInitialKeyMovements() {\n const KEY_MOVEMENTS = clone(KEYBOARD_MOVEMENTS);\n if (this.menuRef.menulayout === MENU_LAYOUT_TYPE.HORIZONTAL) {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n } else {\n if (this.menuRef.menuposition === MENU_POSITION.DOWN_LEFT || this.menuRef.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuRef.menuposition === 'inline') {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n }\n }\n return KEY_MOVEMENTS;\n }\n\n @HostListener('keydown.tab', ['$event', '\"TAB\"'])\n @HostListener('keydown.shift.tab', ['$event', '\"SHIFT-TAB\"'])\n @HostListener('keydown.escape', ['$event', '\"ESC\"'])\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n @HostListener('keydown.arrowup', ['$event', '\"UP-ARROW\"'])\n @HostListener('keydown.arrowdown', ['$event', '\"DOWN-ARROW\"'])\n @HostListener('keydown.arrowright', ['$event', '\"RIGHT-ARROW\"'])\n @HostListener('keydown.arrowleft', ['$event', '\"LEFT-ARROW\"'])\n onKeyDown($event, eventAction) {\n const $li = $(this.nativeElement);\n const $ul = $(this.nativeElement).closest('ul.dropdown-menu');\n const $parentUl = this.menuRef.$element.find('> ul.dropdown-menu');\n const ARROW_KEYS = ['LEFT-ARROW', 'RIGHT-ARROW', 'UP-ARROW', 'DOWN-ARROW'];\n const KEY_MOVEMENTS = this.getInitialKeyMovements();\n\n if (includes(ARROW_KEYS, eventAction)) {\n // preventing from page scroll when up/down arrow is pressed, in case of menu is opened.\n $event.preventDefault();\n }\n\n if ((eventAction === KEY_MOVEMENTS.ON_TAB && $parentUl.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $parentUl.children().first()[0] === this.nativeElement)\n || eventAction === KEY_MOVEMENTS.ON_ESCAPE) {\n /*closing all the children elements when\n * 1. Tab is clicked on the last $element\n * 2. Shift Tab is clicked on the first $element\n * 3. When Escape key is clicked*/\n $event.preventDefault();\n this.menuRef.bsDropdown.hide();\n } else if ((eventAction === KEY_MOVEMENTS.ON_ENTER && !this.item.link) || eventAction === KEY_MOVEMENTS.MOVE_RIGHT) {\n // when there is no link for the menu, on enter open the inner child elements and focus the first $element\n $event.stopPropagation();\n if (this.item.children.length) {\n $li.toggleClass('open');\n $li.find('li').first().find('> a').focus();\n } else {\n $li.find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_LEFT\n || (eventAction === KEY_MOVEMENTS.ON_TAB && $ul.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $ul.children().first()[0] === this.nativeElement)) {\n if ($parentUl[0] !== $ul[0]) {\n const $parentItem = $ul.parent();\n $parentItem.toggleClass('open').find('li.open').removeClass('open');\n $parentItem.find('> a').focus();\n $event.preventDefault();\n $event.stopPropagation();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_UP) {\n if ($parentUl[0] !== $ul[0] || $parentUl.find('> li').first()[0] !== this.nativeElement) {\n $event.stopPropagation();\n $li.prev().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_DOWN) {\n $event.stopPropagation();\n if ($parentUl.find('> li').last()[0] === this.nativeElement\n && (this.menuRef.menulayout !== MENU_LAYOUT_TYPE.HORIZONTAL\n && this.menuRef.menuposition === MENU_POSITION.UP_RIGHT\n || this.menuRef.menuposition === MENU_POSITION.UP_LEFT)) {\n this.menuRef.bsDropdown.hide();\n } else {\n $li.next().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {\n this.onSelect($event, this.item);\n } else {\n $event.stopPropagation();\n }\n }\n\n @HostListener('click', ['$event', 'item'])\n onSelect = ($event, item) => {\n if (this.nativeElement !== $($event.target).closest('.app-menu-item').get(0)) {\n return;\n }\n // prevent event event propagation if auto close is outside click.\n if (this.menuRef.autoclose === 'outsideClick') {\n $event.stopPropagation();\n }\n\n $event.preventDefault();\n const args = { $event, $item: item };\n this.menuRef.onMenuItemSelect(args);\n const selectedItem = clone(item);\n selectedItem.target = selectedItem.target || this.menuRef.linktarget;\n // Trigger the action associated with active item\n triggerItemAction(this, selectedItem);\n }\n\n ngOnDestroy(): void {\n if (this.highlightActiveLinkSubscription) {\n this.highlightActiveLinkSubscription();\n }\n }\n}\n","<a href=\"javascript:void(0);\" [title]=\"item.label\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"menuRef.disableMenuContext || !!item.action\">\n @if (item.children.length) {\n <span class=\"pull-right fa caret {{menualign}}\"></span>\n }\n <i class=\"app-icon {{item.icon}}\"></i>\n <span class=\"anchor-caption\">{{item.label}}</span>\n @if (item.badge) {\n <span class=\"badge pull-right\" [textContent]=\"item.badge\"></span>\n }\n</a>\n@if (item.children.length) {\n <ul wmMenuDropdown [items]=\"item.children\"></ul>\n}","import { CommonModule } from '@angular/common';\nimport { MenuDropdownItemComponent } from '../menu-dropdown-item/menu-dropdown-item.component';\nimport { AfterViewInit, Component, ElementRef, inject, Input } from '@angular/core';\n\nimport { addClass } from '@wm/core';\n\nimport { MenuComponent } from '../menu.component';\n\nconst animationClasses = {\n scale: {\n 'name': 'wmScaleInLeft',\n 'down,right': 'wmScaleInLeft',\n 'down,left': 'wmScaleInRight',\n 'up,right': 'wmScaleInTopLeft',\n 'up,left': 'wmScaleInTopRight'\n },\n fade: {\n 'name': 'fadeIn',\n 'down,right': 'fadeIn',\n 'down,left': 'fadeIn',\n 'up,right': 'fadeIn',\n 'up,left': 'fadeIn'\n },\n slide: {\n 'name': 'wmSlideInDown',\n 'down,right': 'wmSlideInDown',\n 'down,left': 'wmSlideInDown',\n 'up,right': 'wmSlideInUp',\n 'up,left': 'wmSlideInUp'\n }\n};\n\nconst DEFAULT_CLS = 'dropdown-menu';\n\n@Component({\n standalone: true,\n imports: [CommonModule, MenuDropdownItemComponent],\n selector: 'ul[wmMenuDropdown]',\n templateUrl: './menu-dropdown.component.html'\n})\nexport class MenuDropdownComponent implements AfterViewInit {\n private readonly nativeElement;\n private hasExecutedCallback;\n @Input() items;\n private menuRef = inject(MenuComponent);\n constructor(elRef: ElementRef) {\n this.nativeElement = elRef.nativeElement;\n this.hasExecutedCallback = false;\n addClass(this.nativeElement, DEFAULT_CLS);\n }\n\n ngAfterViewInit() {\n const animateItems = this.menuRef.animateitems;\n let animationClass = '';\n if (animateItems) {\n animationClass = `animated ${(animationClasses[animateItems][this.menuRef.menuposition] || animationClasses[animateItems].name)}`;\n }\n addClass(this.nativeElement, `dropdown-menu ${this.menuRef.menualign} ${animationClass}`, true);\n this.getParentWidget();\n }\n // Function to check if the menu widget is present inside other widgets like table, tabs, dialog, nav, list, tile, panel, accordion\n // if true then call createObserver() which internally calculates dropown height\n getParentWidget() {\n const closestWidget = $(this.menuRef.nativeElement).closest('table, ul.list-group');\n\n // Check if the closest table is the parent of the menu widget\n if (closestWidget && $(closestWidget).has(this.menuRef.nativeElement).length > 0) {\n this.createObserver(this, this.callback);\n }\n }\n // function which changes the position of the menu dropdown dynamically if it exceeds viewport height\n callback(entries, observer) {\n if (!this.hasExecutedCallback) {\n const self = this;\n const positions = this.menuRef.menuposition?.split(',') || [];\n entries.forEach(entry => {\n if(entry.isIntersecting) {\n positions[0]='down';\n self.menuRef.menuposition= positions.length > 1 ? positions.join() : 'down,right';\n self.nativeElement.parentElement?.classList.add('dropdown');\n self.menuRef.setMenuPosition();\n } else {\n positions[0]='up';\n self.menuRef.menuposition = positions.length > 1 ? positions.join() : 'up,right';\n self.nativeElement.parentElement?.classList.add('dropup');\n self.menuRef.setMenuPosition();\n // when container=\"body\" is added to menu dropdown, the dropdown menu ul is attached directly to body.\n // so adding a class name inorder to adjust the styling of the dropdown\n const dropdownContainer = self.nativeElement.parentElement?.parentElement;\n if (dropdownContainer.tagName.toUpperCase() === \"BS-DROPDOWN-CONTAINER\") {\n // The parent element is <bs-dropdown-container>\n self.nativeElement.parentElement?.parentElement?.classList.add('parent-position');\n }\n\n }\n });\n this.hasExecutedCallback = true;\n }\n }\n\n // function which checks if the dropdown is within the viewport height or exceeds viewport height\n createObserver(target, callback) {\n const options = {\n root: null,\n threshold: 1,\n once: true\n };\n const observer = new IntersectionObserver(callback.bind(this), options);\n observer.observe(target.nativeElement);\n }\n\n}\n","@for (item of items; track item) {\n <li wmMenuDropdownItem\n [item]=\"item\"\n [ngClass]=\"{disabled: item.disabled, 'dropdown-submenu': item.children.length > 0}\"\n class=\"{{item.class}}\"\n role=\"menuitem\">\n </li>\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-menu',\n new Map(\n [\n ['accessroles', {value: 'Everyone', ...PROP_STRING}],\n ['animateitems', PROP_STRING],\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['dataset', {value: 'Menu Item 1, Menu Item 2, Menu Item 3', ...PROP_ANY}],\n ['hint', {value: '', ...PROP_STRING}],\n ['arialabel', PROP_STRING],\n ['isactive', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['linktarget', {value: '_self', ...PROP_STRING}],\n ['menuclass', PROP_STRING],\n ['menulayout', PROP_STRING],\n ['menuposition', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'menu', ...PROP_STRING}],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '@wm/components/input/button';\nimport { MenuDropdownComponent } from './menu-dropdown/menu-dropdown.component';\nimport {\n AfterViewInit,\n Attribute,\n Component,\n HostListener,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from '@angular/core';\nimport {Router} from '@angular/router';\n\nimport {BsDropdownDirective, BsDropdownModule} from 'ngx-bootstrap/dropdown';\n\nimport {\n $appDigest,\n addClass,\n App,\n removeClass,\n toggleClass,\n triggerItemAction,\n UserDefinedExecutionContext\n} from '@wm/core';\nimport {\n AUTOCLOSE_TYPE,\n DatasetAwareNavComponent,\n hasLinkToCurrentPage,\n provideAsWidgetRef,\n styler,\n TextContentDirective\n} from '@wm/components/base';\nimport {NavComponent} from './nav/nav.component';\n\nimport {registerProps} from './menu.props';\nimport {clone, forEach, includes, isEmpty} from \"lodash-es\";\nimport { AnchorComponent } from '@wm/components/basic/anchor';\n\nexport const KEYBOARD_MOVEMENTS = {\n MOVE_UP: 'UP-ARROW',\n MOVE_LEFT: 'LEFT-ARROW',\n MOVE_RIGHT: 'RIGHT-ARROW',\n MOVE_DOWN: 'DOWN-ARROW',\n ON_ENTER: 'ENTER',\n ON_MOUSE_ENTER: 'MOUSE-ENTER',\n ON_MOUSE_LEAVE: 'MOUSE-LEAVE',\n ON_TAB: 'TAB',\n ON_SHIFT_TAB: 'SHIFT-TAB',\n ON_ESCAPE: 'ESC'\n};\n\nexport const MENU_POSITION = {\n UP_LEFT: 'up,left',\n UP_RIGHT: 'up,right',\n DOWN_LEFT: 'down,left',\n DOWN_RIGHT: 'down,right',\n INLINE: 'inline'\n};\n\nconst POSITION = {\n DOWN_RIGHT: 'down,right',\n DOWN_LEFT: 'down,left',\n UP_RIGHT: 'up,right',\n UP_LEFT: 'up,left',\n INLINE: 'inline'\n};\nconst CARET_CLS = {\n UP: 'fa-caret-up',\n DOWN: 'fa-caret-down'\n};\nconst PULL_CLS = {\n LEFT: 'pull-left',\n RIGHT: 'pull-right'\n};\n\nconst AUTO_OPEN = {\n NEVER: 'never',\n ACTIVE_PAGE: 'activepage',\n ALWAYS: 'always'\n};\n\nconst WIDGET_CONFIG = { widgetType: 'wm-menu', hostClass: 'dropdown app-menu' };\n@Component({\n standalone: true,\n imports: [BsDropdownModule, CommonModule, TextContentDirective, AnchorComponent, ButtonComponent, MenuDropdownComponent],\n selector: '[wmMenu]',\n templateUrl: './menu.component.html',\n providers: [\n provideAsWidgetRef(MenuComponent),\n\n ]\n})\nexport class MenuComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy, AfterViewInit {\n static initializeProps = registerProps();\n\n public menualign: string;\n public menuposition: string;\n public menulayout: string;\n public menuclass: string;\n public linktarget: string;\n public iconclass: string;\n public animateitems: string;\n public disableMenuContext: boolean;\n public showonhover: boolean;\n public autoclose: string;\n public autoopen: string;\n public hint: string;\n public arialabel: string;\n\n private itemActionFn: Function;\n private menuCaret = 'fa-caret-down';\n private _selectFirstItem = false;\n\n public type: any;\n public _menuposition: string;\n\n @HostListener('onShown') onShow() {\n this._menuposition = this.menuposition;\n if (this._selectFirstItem) {\n setTimeout(() => {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n });\n }\n $appDigest();\n }\n @HostListener('onHidden') onHide() {\n this.$element.find('li').removeClass('open');\n this._selectFirstItem = false;\n // reset the menuposition when dropdown is closed\n this.menuposition = this._menuposition ? this._menuposition : MENU_POSITION.DOWN_RIGHT;\n this.setMenuPosition();\n $appDigest();\n }\n\n @HostListener('keydown.arrowup', ['$event', '\"UP-ARROW\"'])\n @HostListener('mouseenter', ['$event', '\"MOUSE-ENTER\"'])\n @HostListener('mouseleave', ['$event', '\"MOUSE-LEAVE\"'])\n @HostListener('keydown.arrowdown', ['$event', '\"DOWN-ARROW\"'])\n @HostListener('keydown.arrowright', ['$event', '\"RIGHT-ARROW\"'])\n @HostListener('keydown.arrowleft', ['$event', '\"LEFT-ARROW\"'])\n @HostListener('keydown.enter', ['$event', '\"ENTER\"']) onKeyDown($event, eventAction) {\n const KEY_MOVEMENTS = clone(KEYBOARD_MOVEMENTS);\n if (this.menuposition === MENU_POSITION.UP_RIGHT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n } else if (this.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuposition === MENU_POSITION.DOWN_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n }\n\n if (includes([KEY_MOVEMENTS.MOVE_DOWN, KEY_MOVEMENTS.MOVE_RIGHT], eventAction)) {\n if (!this.bsDropdown.isOpen) {\n this._selectFirstItem = true;\n this.bsDropdown.show();\n } else {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER || (eventAction === KEY_MOVEMENTS.ON_MOUSE_ENTER && this.showonhover)) {\n this.bsDropdown.toggle(true);\n } else if (includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT], eventAction) || (eventAction == KEY_MOVEMENTS.ON_MOUSE_LEAVE && this.autoclose == AUTOCLOSE_TYPE.ALWAYS && this.showonhover)) {\n this.bsDropdown.hide();\n }\n $event.preventDefault();\n }\n\n constructor(\n inj: Injector,\n public route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Self() @Optional() public bsDropdown: BsDropdownDirective,\n @Optional() private parentNav: NavComponent,\n @Attribute('select.event') public selectEventCB: string,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n if (parentNav) {\n this.disableMenuContext = !!parentNav.disableMenuContext;\n } else {\n this.disableMenuContext = !!selectEventCB;\n }\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!isEmpty(this.nodes)) {\n if (hasLinkToCurrentPage(this.nodes, this.route.url)) {\n addClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active');\n }\n // If menu widget is inside nav widget then dont check for item isactive property because these will be handled form nav widget.\n if (this.parentNav) {\n return;\n }\n let itemFound = false;\n const getItem = (nodes) => {\n forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.onMenuItemSelect({ $event: {}, $item: item });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n return false;\n }\n if (!isEmpty(item.children)) {\n getItem(item.children);\n }\n\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n protected resetNodes() {\n super.resetNodes();\n // open the menu if any of its menu items has link to current page and if autoopen value is 'active page'\n if ((this.autoopen === AUTO_OPEN.ACTIVE_PAGE && hasLinkToCurrentPage(this.nodes, this.route.url)) || this.autoopen === AUTO_OPEN.ALWAYS) {\n this.bsDropdown.show();\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setMenuPosition();\n\n const cancelSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active', hasLinkToCurrentPage(this.nodes, this.route.url ));\n });\n this.registerDestroyListener(() => cancelSubscription());\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n\n if (key === 'tabindex') {\n return;\n }\n\n if (key === 'autoclose') {\n this.bsDropdown.autoClose = nv !== AUTOCLOSE_TYPE.DISABLED;\n this.autoclose = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n public setMenuPosition() {\n switch (this.menuposition) {\n case POSITION.DOWN_RIGHT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.DOWN_LEFT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.UP_LEFT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.UP_RIGHT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.INLINE:\n this.menualign = 'dropinline-menu';\n break;\n }\n }\n\n public onMenuItemSelect(args) {\n const { $event } = args;\n const $item = args.$item.value;\n this.invokeEventCallback('select', { $event, $item });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, this);\n }\n}\n","\n\n<ng-template #innerTemplate>\n <i class=\"app-icon {{iconclass}}\"></i>\n <span class=\"caption\" [textContent]=\"caption\"></span>\n <span class=\"pull-right caret fa {{menuCaret}}\"></span>\n</ng-template>\n\n@if (type === 'anchor') {\n <a wmAnchor\n dropdownToggle\n [attr.aria-label]=\"arialabel || 'Menu'\"\n href=\"javascript:void(0);\"\n role=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n hint.bind=\"hint\"\n class=\"dropdown-toggle {{menuclass}}\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\"\n badgevalue.bind=\"badgevalue\"\n >\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </a>\n} @else {\n <button wmButton\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"arialabel || 'Menu'\"\n class=\"btn app-button dropdown-toggle {{menuclass}}\"\n hint.bind=\"hint\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\">\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </button>\n}\n\n<ul *dropdownMenu [items]=\"nodes\" [ngClass]=\"menulayout\" class=\"icon-position-{{iconposition}}\" role=\"menubar\"\nwmMenuDropdown></ul>\n","import { AfterViewInit, QueryList, ViewChildren, Directive, Optional, Inject } from '@angular/core';\nimport { MenuComponent } from './menu.component';\nimport { BaseContainerComponent } from '@wm/components/base';\nimport { includes } from \"lodash-es\";\n\nconst menuProps = ['itemlabel', 'itemicon', 'itemlink', 'itemaction', 'itemchildren', 'userrole'];\n\n@Directive()\nexport class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit {\n\n private itemlabel;\n private menuRef;\n private pageScope;\n\n private binditemlabel;\n private binditemicon;\n private binditemaction;\n private binditemchildren;\n private binditemlink;\n private binduserrole;\n\n @ViewChildren(MenuComponent) private menuRefQL: QueryList<MenuComponent>;\n\n constructor(\n inj,\n WIDGET_CONFIG,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this.pageScope = this.viewParent;\n this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');\n this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');\n this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');\n this.binditemlink = this.nativeElement.getAttribute('itemlink.bind');\n this.binduserrole = this.nativeElement.getAttribute('userrole.bind');\n this.binditemchildren = this.nativeElement.getAttribute('itemchildren.bind');\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (includes(menuProps, key) && this.menuRef) {\n this.menuRef.itemlabel = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if(this.menuRefQL['first'])\n {this.setMenuProperty();}\n const subscriber = this.menuRefQL.changes.subscribe((menuRefQL: QueryList<MenuComponent>) => {\n if (menuRefQL.first) {\n this.setMenuProperty()\n subscriber.unsubscribe();\n }\n });\n }\n protected setMenuProperty(){\n if(this.menuRefQL['first']) {\n if (this.menuRefQL.first) {\n this.menuRef = this.menuRefQL.first;\n menuProps.forEach((prop) => {\n const bindProp = `bind${prop}`;\n if (this[bindProp]) {\n this.menuRef[bindProp] = this[bindProp];\n }\n this.menuRef[prop] = this[prop];\n });\n }\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1","i2.NavComponent","i3","i4.NavComponent","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/menu/src/nav/navigation-control.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav-item/nav-item.directive.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.props.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.ts","../../../../../projects/components/widgets/navigation/menu/src/nav/nav.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown-item/menu-dropdown-item.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu-dropdown/menu-dropdown.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu.props.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.ts","../../../../../projects/components/widgets/navigation/menu/src/menu.component.html","../../../../../projects/components/widgets/navigation/menu/src/menu-adapator.component.ts","../../../../../projects/components/widgets/navigation/menu/src/index.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\n\nimport { setAttr } from '@wm/core';\n\nexport const disableContextMenu = ($event: Event) => {\n $event.preventDefault();\n};\n\n@Directive({\n standalone: true,\n selector: '[wmNavigationControl]'\n})\nexport class NavigationControlDirective implements OnDestroy {\n\n private nativeElement: HTMLElement;\n private _link: string;\n private boundContextMenuHandler: (event: Event) => void;\n\n @Input() disableMenuContext: boolean;\n\n @Input() set wmNavigationControl(val) {\n this._link = val;\n \n // MEMORY LEAK FIX: Remove existing listener before adding new one\n if (this.boundContextMenuHandler) {\n this.nativeElement.removeEventListener('contextmenu', this.boundContextMenuHandler);\n this.boundContextMenuHandler = null;\n }\n\n if (val && !this.disableMenuContext) {\n setAttr(this.nativeElement, 'href', val);\n } else {\n setAttr(this.nativeElement, 'href', 'javascript:void(0)');\n // MEMORY LEAK FIX: Store bound function reference for cleanup\n this.boundContextMenuHandler = disableContextMenu;\n this.nativeElement.addEventListener('contextmenu', this.boundContextMenuHandler);\n }\n }\n\n constructor(eleRef: ElementRef) {\n this.nativeElement = eleRef.nativeElement;\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove event listener using stored bound function reference\n if (this.boundContextMenuHandler) {\n this.nativeElement.removeEventListener('contextmenu', this.boundContextMenuHandler);\n this.boundContextMenuHandler = null;\n }\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav-item',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {ContentChild, Directive, HostListener, Injector, AfterViewInit, OnDestroy, Optional, Inject} from '@angular/core';\n\nimport {addClass, removeClass} from '@wm/core';\nimport { APPLY_STYLES_TYPE, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { AnchorComponent } from '@wm/components/basic/anchor';\n\nimport { registerProps } from './nav-item.props';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-nav-item';\nconst WIDGET_CONFIG = {widgetType: 'wm-nav-item', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmNavItem]',\n exportAs: 'navItemRef',\n providers: [\n provideAsWidgetRef(NavItemDirective)\n ]\n})\nexport class NavItemDirective extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n @ContentChild(AnchorComponent) innerLink;\n\n @HostListener('click')\n @HostListener('keydown.enter')\n makeActive() {\n const parentNode = this.nativeElement.parentNode;\n $(parentNode as HTMLElement).find('> li.active').removeClass('active');\n if (this.isAttached) {\n addClass(this.nativeElement, 'active');\n }\n }\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public ngAfterViewInit() {\n if (this.innerLink) {\n this.innerLink.onActive(() => this.makeActive());\n }\n }\n\n public ngOnDetach() {\n removeClass(this.nativeElement, 'active', true);\n super.ngOnDetach();\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ContentChild reference\n this.innerLink = null;\n\n super.ngOnDestroy();\n }\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-nav',\n new Map(\n [\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['dataset', PROP_ANY],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['isactive', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemhint', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemaction', PROP_STRING],\n ['itembadge', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['layout', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['type', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { AnchorComponent } from '@wm/components/basic/anchor';\nimport { MenuComponent } from '../menu.component';\nimport { NavItemDirective } from './nav-item/nav-item.directive';\nimport { Attribute, ChangeDetectorRef, Component, forwardRef, Inject, Injector, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { addClass, App, triggerItemAction, UserDefinedExecutionContext } from '@wm/core';\nimport { APPLY_STYLES_TYPE, DatasetAwareNavComponent, provideAsWidgetRef, styler } from '@wm/components/base';\n\nimport { registerProps } from './nav.props';\nimport { find, forEach, isEmpty, omit } from \"lodash-es\";\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\n\nconst DEFAULT_CLS = 'nav app-nav';\nconst WIDGET_CONFIG = { widgetType: 'wm-nav', hostClass: DEFAULT_CLS };\n\nconst NavClassMap = {\n pills: 'nav-pills',\n tabs: 'nav-tabs',\n navbar: 'navbar-nav'\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, BsDropdownModule, AnchorComponent, forwardRef(() => MenuComponent), NavItemDirective, ],\n selector: '[wmNav]',\n templateUrl: './nav.component.html',\n providers: [\n provideAsWidgetRef(NavComponent)\n ]\n})\nexport class NavComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy {\n static initializeProps = registerProps();\n\n public selecteditem;\n public type;\n public disableMenuContext: boolean;\n public layout;\n public showonhover: boolean;\n private itemActionFn: Function;\n private pageScope: any;\n private get activePageName() {\n return this.app.activePageName;\n }\n\n constructor(\n inj: Injector,\n private cdRef: ChangeDetectorRef,\n private route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Attribute('select.event') selectEventCB,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n this.disableMenuContext = !!selectEventCB;\n this.pageScope = this.viewParent;\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!isEmpty(this.nodes)) {\n let itemFound = false;\n const getItem = (nodes, isMenuWidget?) => {\n forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.selecteditem = isMenuWidget ? omit(item, ['children', 'value']) : item.value;\n this.invokeEventCallback('select', { $event: {}, $item: item.value });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n // _selected is used to add active class for nav item. If we have children inside nav widget then it is not required.\n if (!isMenuWidget) {\n item._selected = true;\n }\n return false;\n }\n if (!isEmpty(item.children)) {\n getItem(item.children, 'menu');\n }\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n\n private setNavType(type) {\n addClass(this.nativeElement, NavClassMap[type]);\n }\n\n private setNavLayout(layout) {\n addClass(this.nativeElement, `nav-${layout}`);\n }\n\n public onNavSelect($event: Event, item: any) {\n $event.preventDefault();\n\n const selectedItem = find(this.nodes, '_selected');\n if (selectedItem) {\n // @ts-ignore\n delete selectedItem._selected;\n }\n\n this.selecteditem = item.value;\n\n this.invokeEventCallback('select', { $event, $item: item.value });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setNavType(this.type);\n this.setNavLayout(this.layout);\n }\n\n /**\n * invoked from the menu widget when a menu item is selected.\n * @param $event\n * @param widget\n * @param $item\n */\n onMenuItemSelect($event, widget, $item) {\n this.selecteditem = omit($item, ['children', 'value']);\n this.invokeEventCallback('select', { $event, $item: this.selecteditem });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Cleanup\n // Note: Subscription is already cleaned up via registerDestroyListener in constructor\n // but adding explicit OnDestroy to ensure proper cleanup lifecycle\n \n // Clear references\n this.selecteditem = null;\n this.pageScope = null;\n this.itemActionFn = null;\n\n super.ngOnDestroy();\n }\n}\n","<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n hint.bind=\"item.hint\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n showonhover.bind=\"showonhover\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n hint.bind=\"item.hint\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item)\"></a>\n</ng-template>\n\n@for (item of nodes; track item; let index = $index) {\n <li #liRef=\"navItemRef\"\n [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\"\n class=\"app-nav-item {{item.class}}\"\n wmNavItem>\n @if (!item.children.length) {\n <ng-container [ngTemplateOutlet]=\"anchorRef\"\n [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('anchor_' + liRef.trackId, {item: item, index:index, liRef: liRef})\"\n ></ng-container>\n }\n @if (item.children.length) {\n <ng-container [ngTemplateOutlet]=\"menuRef\"\n [ngTemplateOutletContext]=\"{item: item, index:index}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('menu_' + liRef.trackId, {item: item, index:index})\"\n ></ng-container>\n }\n </li>\n}\n\n@if (!nodes.length) {\n <ng-content select=\"[wmNavItem]\"></ng-content>\n}\n","import { MenuDropdownComponent } from '../menu-dropdown/menu-dropdown.component';\nimport { NavigationControlDirective } from '../nav/navigation-control.directive';\nimport { Component, ElementRef, forwardRef, HostListener, inject, Input, OnDestroy, OnInit, Optional } from '@angular/core';\n\nimport { addClass, triggerItemAction, UserDefinedExecutionContext, App, toggleClass } from '@wm/core';\nimport { hasLinkToCurrentPage, TextContentDirective } from '@wm/components/base';\nimport { NavComponent } from '../nav/nav.component';\n\nimport { KEYBOARD_MOVEMENTS, MENU_POSITION, MenuComponent } from '../menu.component';\nimport { clone, includes } from \"lodash-es\";\n\ndeclare const $;\n\nconst menuAlignClass = {\n 'pull-right': 'fa-caret-left',\n 'dropinline-menu': 'fa-caret-down',\n 'pull-left': 'fa-caret-right'\n};\n\nconst MENU_LAYOUT_TYPE = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical'\n};\n\n@Component({\n standalone: true,\n imports: [TextContentDirective, forwardRef(() => MenuDropdownComponent), NavigationControlDirective],\n selector: 'li[wmMenuDropdownItem]',\n templateUrl: './menu-dropdown-item.component.html',\n})\nexport class MenuDropdownItemComponent implements OnInit, OnDestroy {\n\n public menualign: string;\n\n private itemActionFn: Function;\n\n @Input() item;\n\n private readonly nativeElement;\n private highlightActiveLinkSubscription: () => void;\n public menuRef = inject(MenuComponent);\n constructor(\n private app: App,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n @Optional() private parentNav: NavComponent,\n elRef: ElementRef,\n ) {\n this.nativeElement = elRef.nativeElement;\n addClass(this.nativeElement, 'app-menu-item');\n\n this.menualign = menuAlignClass[this.menuRef.menualign] || menuAlignClass['pull-left'];\n }\n\n ngOnInit() {\n // add active class to the item only if it is in nav component.\n if (this.parentNav) {\n if (hasLinkToCurrentPage([this.item], this.menuRef.route.url)) {\n // add active class to the li, if the menu item's link is same as the current page name.\n addClass(this.nativeElement, 'active');\n }\n this.highlightActiveLinkSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement, 'active', hasLinkToCurrentPage([this.item], this.menuRef.route.url));\n });\n }\n }\n\n getInitialKeyMovements() {\n const KEY_MOVEMENTS = clone(KEYBOARD_MOVEMENTS);\n if (this.menuRef.menulayout === MENU_LAYOUT_TYPE.HORIZONTAL) {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n } else {\n if (this.menuRef.menuposition === MENU_POSITION.DOWN_LEFT || this.menuRef.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuRef.menuposition === 'inline') {\n KEY_MOVEMENTS.MOVE_UP = 'LEFT-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'RIGHT-ARROW';\n }\n }\n return KEY_MOVEMENTS;\n }\n\n @HostListener('keydown.tab', ['$event', '\"TAB\"'])\n @HostListener('keydown.shift.tab', ['$event', '\"SHIFT-TAB\"'])\n @HostListener('keydown.escape', ['$event', '\"ESC\"'])\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n @HostListener('keydown.arrowup', ['$event', '\"UP-ARROW\"'])\n @HostListener('keydown.arrowdown', ['$event', '\"DOWN-ARROW\"'])\n @HostListener('keydown.arrowright', ['$event', '\"RIGHT-ARROW\"'])\n @HostListener('keydown.arrowleft', ['$event', '\"LEFT-ARROW\"'])\n onKeyDown($event, eventAction) {\n const $li = $(this.nativeElement);\n const $ul = $(this.nativeElement).closest('ul.dropdown-menu');\n const $parentUl = this.menuRef.$element.find('> ul.dropdown-menu');\n const ARROW_KEYS = ['LEFT-ARROW', 'RIGHT-ARROW', 'UP-ARROW', 'DOWN-ARROW'];\n const KEY_MOVEMENTS = this.getInitialKeyMovements();\n\n if (includes(ARROW_KEYS, eventAction)) {\n // preventing from page scroll when up/down arrow is pressed, in case of menu is opened.\n $event.preventDefault();\n }\n\n if ((eventAction === KEY_MOVEMENTS.ON_TAB && $parentUl.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $parentUl.children().first()[0] === this.nativeElement)\n || eventAction === KEY_MOVEMENTS.ON_ESCAPE) {\n /*closing all the children elements when\n * 1. Tab is clicked on the last $element\n * 2. Shift Tab is clicked on the first $element\n * 3. When Escape key is clicked*/\n $event.preventDefault();\n this.menuRef.bsDropdown.hide();\n } else if ((eventAction === KEY_MOVEMENTS.ON_ENTER && !this.item.link) || eventAction === KEY_MOVEMENTS.MOVE_RIGHT) {\n // when there is no link for the menu, on enter open the inner child elements and focus the first $element\n $event.stopPropagation();\n if (this.item.children.length) {\n $li.toggleClass('open');\n $li.find('li').first().find('> a').focus();\n } else {\n $li.find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_LEFT\n || (eventAction === KEY_MOVEMENTS.ON_TAB && $ul.children().last()[0] === this.nativeElement)\n || (eventAction === KEY_MOVEMENTS.ON_SHIFT_TAB && $ul.children().first()[0] === this.nativeElement)) {\n if ($parentUl[0] !== $ul[0]) {\n const $parentItem = $ul.parent();\n $parentItem.toggleClass('open').find('li.open').removeClass('open');\n $parentItem.find('> a').focus();\n $event.preventDefault();\n $event.stopPropagation();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_UP) {\n if ($parentUl[0] !== $ul[0] || $parentUl.find('> li').first()[0] !== this.nativeElement) {\n $event.stopPropagation();\n $li.prev().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.MOVE_DOWN) {\n $event.stopPropagation();\n if ($parentUl.find('> li').last()[0] === this.nativeElement\n && (this.menuRef.menulayout !== MENU_LAYOUT_TYPE.HORIZONTAL\n && this.menuRef.menuposition === MENU_POSITION.UP_RIGHT\n || this.menuRef.menuposition === MENU_POSITION.UP_LEFT)) {\n this.menuRef.bsDropdown.hide();\n } else {\n $li.next().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {\n this.onSelect($event, this.item);\n } else {\n $event.stopPropagation();\n }\n }\n\n @HostListener('click', ['$event', 'item'])\n onSelect = ($event, item) => {\n if (this.nativeElement !== $($event.target).closest('.app-menu-item').get(0)) {\n return;\n }\n // prevent event event propagation if auto close is outside click.\n if (this.menuRef.autoclose === 'outsideClick') {\n $event.stopPropagation();\n }\n\n $event.preventDefault();\n const args = { $event, $item: item };\n this.menuRef.onMenuItemSelect(args);\n const selectedItem = clone(item);\n selectedItem.target = selectedItem.target || this.menuRef.linktarget;\n // Trigger the action associated with active item\n triggerItemAction(this, selectedItem);\n }\n\n ngOnDestroy(): void {\n if (this.highlightActiveLinkSubscription) {\n this.highlightActiveLinkSubscription();\n }\n }\n}\n","<a href=\"javascript:void(0);\" [title]=\"item.label\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"menuRef.disableMenuContext || !!item.action\">\n @if (item.children.length) {\n <span class=\"pull-right fa caret {{menualign}}\"></span>\n }\n <i class=\"app-icon {{item.icon}}\"></i>\n <span class=\"anchor-caption\">{{item.label}}</span>\n @if (item.badge) {\n <span class=\"badge pull-right\" [textContent]=\"item.badge\"></span>\n }\n</a>\n@if (item.children.length) {\n <ul wmMenuDropdown [items]=\"item.children\"></ul>\n}","import { CommonModule } from '@angular/common';\nimport { MenuDropdownItemComponent } from '../menu-dropdown-item/menu-dropdown-item.component';\nimport { AfterViewInit, Component, ElementRef, inject, Input } from '@angular/core';\n\nimport { addClass } from '@wm/core';\n\nimport { MenuComponent } from '../menu.component';\n\nconst animationClasses = {\n scale: {\n 'name': 'wmScaleInLeft',\n 'down,right': 'wmScaleInLeft',\n 'down,left': 'wmScaleInRight',\n 'up,right': 'wmScaleInTopLeft',\n 'up,left': 'wmScaleInTopRight'\n },\n fade: {\n 'name': 'fadeIn',\n 'down,right': 'fadeIn',\n 'down,left': 'fadeIn',\n 'up,right': 'fadeIn',\n 'up,left': 'fadeIn'\n },\n slide: {\n 'name': 'wmSlideInDown',\n 'down,right': 'wmSlideInDown',\n 'down,left': 'wmSlideInDown',\n 'up,right': 'wmSlideInUp',\n 'up,left': 'wmSlideInUp'\n }\n};\n\nconst DEFAULT_CLS = 'dropdown-menu';\n\n@Component({\n standalone: true,\n imports: [CommonModule, MenuDropdownItemComponent],\n selector: 'ul[wmMenuDropdown]',\n templateUrl: './menu-dropdown.component.html'\n})\nexport class MenuDropdownComponent implements AfterViewInit {\n private readonly nativeElement;\n private hasExecutedCallback;\n @Input() items;\n private menuRef = inject(MenuComponent);\n constructor(elRef: ElementRef) {\n this.nativeElement = elRef.nativeElement;\n this.hasExecutedCallback = false;\n addClass(this.nativeElement, DEFAULT_CLS);\n }\n\n ngAfterViewInit() {\n const animateItems = this.menuRef.animateitems;\n let animationClass = '';\n if (animateItems) {\n animationClass = `animated ${(animationClasses[animateItems][this.menuRef.menuposition] || animationClasses[animateItems].name)}`;\n }\n addClass(this.nativeElement, `dropdown-menu ${this.menuRef.menualign} ${animationClass}`, true);\n this.getParentWidget();\n }\n // Function to check if the menu widget is present inside other widgets like table, tabs, dialog, nav, list, tile, panel, accordion\n // if true then call createObserver() which internally calculates dropown height\n getParentWidget() {\n const closestWidget = $(this.menuRef.nativeElement).closest('table, ul.list-group');\n\n // Check if the closest table is the parent of the menu widget\n if (closestWidget && $(closestWidget).has(this.menuRef.nativeElement).length > 0) {\n this.createObserver(this, this.callback);\n }\n }\n // function which changes the position of the menu dropdown dynamically if it exceeds viewport height\n callback(entries, observer) {\n if (!this.hasExecutedCallback) {\n const self = this;\n const positions = this.menuRef.menuposition?.split(',') || [];\n entries.forEach(entry => {\n if(entry.isIntersecting) {\n positions[0]='down';\n self.menuRef.menuposition= positions.length > 1 ? positions.join() : 'down,right';\n self.nativeElement.parentElement?.classList.add('dropdown');\n self.menuRef.setMenuPosition();\n } else {\n positions[0]='up';\n self.menuRef.menuposition = positions.length > 1 ? positions.join() : 'up,right';\n self.nativeElement.parentElement?.classList.add('dropup');\n self.menuRef.setMenuPosition();\n // when container=\"body\" is added to menu dropdown, the dropdown menu ul is attached directly to body.\n // so adding a class name inorder to adjust the styling of the dropdown\n const dropdownContainer = self.nativeElement.parentElement?.parentElement;\n if (dropdownContainer.tagName.toUpperCase() === \"BS-DROPDOWN-CONTAINER\") {\n // The parent element is <bs-dropdown-container>\n self.nativeElement.parentElement?.parentElement?.classList.add('parent-position');\n }\n\n }\n });\n this.hasExecutedCallback = true;\n }\n }\n\n // function which checks if the dropdown is within the viewport height or exceeds viewport height\n createObserver(target, callback) {\n const options = {\n root: null,\n threshold: 1,\n once: true\n };\n const observer = new IntersectionObserver(callback.bind(this), options);\n observer.observe(target.nativeElement);\n }\n\n}\n","@for (item of items; track item) {\n <li wmMenuDropdownItem\n [item]=\"item\"\n [ngClass]=\"{disabled: item.disabled, 'dropdown-submenu': item.children.length > 0}\"\n class=\"{{item.class}}\"\n role=\"menuitem\">\n </li>\n}\n","import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-menu',\n new Map(\n [\n ['accessroles', {value: 'Everyone', ...PROP_STRING}],\n ['animateitems', PROP_STRING],\n ['autoclose', {value: 'always', ...PROP_STRING}],\n ['autoopen', {value: 'never', ...PROP_STRING}],\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['dataset', {value: 'Menu Item 1, Menu Item 2, Menu Item 3', ...PROP_ANY}],\n ['hint', {value: '', ...PROP_STRING}],\n ['arialabel', PROP_STRING],\n ['isactive', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconposition', {value: 'left', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemclass', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['itemtarget', PROP_STRING],\n ['linktarget', {value: '_self', ...PROP_STRING}],\n ['menuclass', PROP_STRING],\n ['menulayout', PROP_STRING],\n ['menuposition', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showonhover', {value: false, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'menu', ...PROP_STRING}],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '@wm/components/input/button';\nimport { MenuDropdownComponent } from './menu-dropdown/menu-dropdown.component';\nimport {\n AfterViewInit,\n Attribute,\n Component,\n HostListener,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from '@angular/core';\nimport {Router} from '@angular/router';\n\nimport {BsDropdownDirective, BsDropdownModule} from 'ngx-bootstrap/dropdown';\n\nimport {\n $appDigest,\n addClass,\n App,\n removeClass,\n toggleClass,\n triggerItemAction,\n UserDefinedExecutionContext\n} from '@wm/core';\nimport {\n AUTOCLOSE_TYPE,\n DatasetAwareNavComponent,\n hasLinkToCurrentPage,\n provideAsWidgetRef,\n styler,\n TextContentDirective\n} from '@wm/components/base';\nimport {NavComponent} from './nav/nav.component';\n\nimport {registerProps} from './menu.props';\nimport {clone, forEach, includes, isEmpty} from \"lodash-es\";\nimport { AnchorComponent } from '@wm/components/basic/anchor';\n\nexport const KEYBOARD_MOVEMENTS = {\n MOVE_UP: 'UP-ARROW',\n MOVE_LEFT: 'LEFT-ARROW',\n MOVE_RIGHT: 'RIGHT-ARROW',\n MOVE_DOWN: 'DOWN-ARROW',\n ON_ENTER: 'ENTER',\n ON_MOUSE_ENTER: 'MOUSE-ENTER',\n ON_MOUSE_LEAVE: 'MOUSE-LEAVE',\n ON_TAB: 'TAB',\n ON_SHIFT_TAB: 'SHIFT-TAB',\n ON_ESCAPE: 'ESC'\n};\n\nexport const MENU_POSITION = {\n UP_LEFT: 'up,left',\n UP_RIGHT: 'up,right',\n DOWN_LEFT: 'down,left',\n DOWN_RIGHT: 'down,right',\n INLINE: 'inline'\n};\n\nconst POSITION = {\n DOWN_RIGHT: 'down,right',\n DOWN_LEFT: 'down,left',\n UP_RIGHT: 'up,right',\n UP_LEFT: 'up,left',\n INLINE: 'inline'\n};\nconst CARET_CLS = {\n UP: 'fa-caret-up',\n DOWN: 'fa-caret-down'\n};\nconst PULL_CLS = {\n LEFT: 'pull-left',\n RIGHT: 'pull-right'\n};\n\nconst AUTO_OPEN = {\n NEVER: 'never',\n ACTIVE_PAGE: 'activepage',\n ALWAYS: 'always'\n};\n\nconst WIDGET_CONFIG = { widgetType: 'wm-menu', hostClass: 'dropdown app-menu' };\n@Component({\n standalone: true,\n imports: [BsDropdownModule, CommonModule, TextContentDirective, AnchorComponent, ButtonComponent, MenuDropdownComponent],\n selector: '[wmMenu]',\n templateUrl: './menu.component.html',\n providers: [\n provideAsWidgetRef(MenuComponent),\n\n ]\n})\nexport class MenuComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy, AfterViewInit {\n static initializeProps = registerProps();\n\n public menualign: string;\n public menuposition: string;\n public menulayout: string;\n public menuclass: string;\n public linktarget: string;\n public iconclass: string;\n public animateitems: string;\n public disableMenuContext: boolean;\n public showonhover: boolean;\n public autoclose: string;\n public autoopen: string;\n public hint: string;\n public arialabel: string;\n\n private itemActionFn: Function;\n private menuCaret = 'fa-caret-down';\n private _selectFirstItem = false;\n\n public type: any;\n public _menuposition: string;\n\n @HostListener('onShown') onShow() {\n this._menuposition = this.menuposition;\n if (this._selectFirstItem) {\n setTimeout(() => {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n });\n }\n $appDigest();\n }\n @HostListener('onHidden') onHide() {\n this.$element.find('li').removeClass('open');\n this._selectFirstItem = false;\n // reset the menuposition when dropdown is closed\n this.menuposition = this._menuposition ? this._menuposition : MENU_POSITION.DOWN_RIGHT;\n this.setMenuPosition();\n $appDigest();\n }\n\n @HostListener('keydown.arrowup', ['$event', '\"UP-ARROW\"'])\n @HostListener('mouseenter', ['$event', '\"MOUSE-ENTER\"'])\n @HostListener('mouseleave', ['$event', '\"MOUSE-LEAVE\"'])\n @HostListener('keydown.arrowdown', ['$event', '\"DOWN-ARROW\"'])\n @HostListener('keydown.arrowright', ['$event', '\"RIGHT-ARROW\"'])\n @HostListener('keydown.arrowleft', ['$event', '\"LEFT-ARROW\"'])\n @HostListener('keydown.enter', ['$event', '\"ENTER\"']) onKeyDown($event, eventAction) {\n const KEY_MOVEMENTS = clone(KEYBOARD_MOVEMENTS);\n if (this.menuposition === MENU_POSITION.UP_RIGHT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n } else if (this.menuposition === MENU_POSITION.UP_LEFT) {\n KEY_MOVEMENTS.MOVE_UP = 'DOWN-ARROW';\n KEY_MOVEMENTS.MOVE_DOWN = 'UP-ARROW';\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n } else if (this.menuposition === MENU_POSITION.DOWN_LEFT) {\n KEY_MOVEMENTS.MOVE_LEFT = 'RIGHT-ARROW';\n KEY_MOVEMENTS.MOVE_RIGHT = 'LEFT-ARROW';\n }\n\n if (includes([KEY_MOVEMENTS.MOVE_DOWN, KEY_MOVEMENTS.MOVE_RIGHT], eventAction)) {\n if (!this.bsDropdown.isOpen) {\n this._selectFirstItem = true;\n this.bsDropdown.show();\n } else {\n this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();\n }\n } else if (eventAction === KEY_MOVEMENTS.ON_ENTER || (eventAction === KEY_MOVEMENTS.ON_MOUSE_ENTER && this.showonhover)) {\n this.bsDropdown.toggle(true);\n } else if (includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT], eventAction) || (eventAction == KEY_MOVEMENTS.ON_MOUSE_LEAVE && this.autoclose == AUTOCLOSE_TYPE.ALWAYS && this.showonhover)) {\n this.bsDropdown.hide();\n }\n $event.preventDefault();\n }\n\n constructor(\n inj: Injector,\n public route: Router,\n private userDefinedExecutionContext: UserDefinedExecutionContext,\n private app: App,\n @Self() @Optional() public bsDropdown: BsDropdownDirective,\n @Optional() private parentNav: NavComponent,\n @Attribute('select.event') public selectEventCB: string,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n if (parentNav) {\n this.disableMenuContext = !!parentNav.disableMenuContext;\n } else {\n this.disableMenuContext = !!selectEventCB;\n }\n // For selecting the item on load\n const datasetSubscription = this.nodes$.subscribe(() => {\n if (!isEmpty(this.nodes)) {\n if (hasLinkToCurrentPage(this.nodes, this.route.url)) {\n addClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active');\n }\n // If menu widget is inside nav widget then dont check for item isactive property because these will be handled form nav widget.\n if (this.parentNav) {\n return;\n }\n let itemFound = false;\n const getItem = (nodes) => {\n forEach(nodes, (item) => {\n if (itemFound) {\n return;\n }\n if (item.isactive) {\n itemFound = true;\n this.onMenuItemSelect({ $event: {}, $item: item });\n // Trigger the action associated with active item\n triggerItemAction(this, item);\n return false;\n }\n if (!isEmpty(item.children)) {\n getItem(item.children);\n }\n\n });\n };\n getItem(this.nodes);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n }\n\n protected resetNodes() {\n super.resetNodes();\n // open the menu if any of its menu items has link to current page and if autoopen value is 'active page'\n if ((this.autoopen === AUTO_OPEN.ACTIVE_PAGE && hasLinkToCurrentPage(this.nodes, this.route.url)) || this.autoopen === AUTO_OPEN.ALWAYS) {\n this.bsDropdown.show();\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.setMenuPosition();\n\n const cancelSubscription = this.app.subscribe(\"highlightActiveLink\", (data) => {\n toggleClass(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, 'active', hasLinkToCurrentPage(this.nodes, this.route.url ));\n });\n this.registerDestroyListener(() => cancelSubscription());\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n\n if (key === 'tabindex') {\n // Let the base class handle tabindex setting via setAttr\n super.onPropertyChange(key, nv, ov);\n return;\n }\n\n if (key === 'autoclose') {\n this.bsDropdown.autoClose = nv !== AUTOCLOSE_TYPE.DISABLED;\n this.autoclose = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n public setMenuPosition() {\n switch (this.menuposition) {\n case POSITION.DOWN_RIGHT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.DOWN_LEFT:\n removeClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.DOWN;\n break;\n case POSITION.UP_LEFT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.RIGHT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.UP_RIGHT:\n addClass(this.nativeElement, 'dropup');\n this.menualign = PULL_CLS.LEFT;\n this.menuCaret = CARET_CLS.UP;\n break;\n case POSITION.INLINE:\n this.menualign = 'dropinline-menu';\n break;\n }\n }\n\n public onMenuItemSelect(args) {\n const { $event } = args;\n const $item = args.$item.value;\n this.invokeEventCallback('select', { $event, $item });\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n // Fix tabindex if it's NaN (ensure it's fixed after view initialization)\n if (this.widget.tabindex !== undefined && (typeof this.widget.tabindex === 'number' && isNaN(this.widget.tabindex))) {\n this.widget.tabindex = 0;\n (this as any).tabindex = 0;\n }\n styler(this.nativeElement.querySelector('.dropdown-toggle') as HTMLElement, this);\n }\n}\n","\n\n<ng-template #innerTemplate>\n <i class=\"app-icon {{iconclass}}\"></i>\n <span class=\"caption\" [textContent]=\"caption\"></span>\n <span class=\"pull-right caret fa {{menuCaret}}\"></span>\n</ng-template>\n\n@if (type === 'anchor') {\n <a wmAnchor\n dropdownToggle\n [attr.aria-label]=\"arialabel || 'Menu'\"\n href=\"javascript:void(0);\"\n role=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n hint.bind=\"hint\"\n class=\"dropdown-toggle {{menuclass}}\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\"\n badgevalue.bind=\"badgevalue\"\n >\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </a>\n} @else {\n <button wmButton\n dropdownToggle\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"arialabel || 'Menu'\"\n class=\"btn app-button dropdown-toggle {{menuclass}}\"\n hint.bind=\"hint\"\n shortcutkey.bind=\"shortcutkey\"\n tabindex.bind=\"tabindex\"\n caption.bind=\"caption\"\n iconclass.bind=\"iconclass\"\n iconposition.bind=\"iconposition\"\n type=\"button\">\n <span class=\"pull-right caret fa\" [ngClass]=\"[menuCaret]\"></span>\n </button>\n}\n\n<ul *dropdownMenu [items]=\"nodes\" [ngClass]=\"menulayout\" class=\"icon-position-{{iconposition}}\" role=\"menubar\"\nwmMenuDropdown></ul>\n","import { AfterViewInit, QueryList, ViewChildren, Directive, Optional, Inject, OnDestroy } from '@angular/core';\nimport { MenuComponent } from './menu.component';\nimport { BaseContainerComponent } from '@wm/components/base';\nimport { includes } from \"lodash-es\";\n\nconst menuProps = ['itemlabel', 'itemicon', 'itemlink', 'itemaction', 'itemchildren', 'userrole'];\n\n@Directive()\nexport class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit, OnDestroy {\n\n private itemlabel;\n private menuRef;\n private pageScope;\n\n private binditemlabel;\n private binditemicon;\n private binditemaction;\n private binditemchildren;\n private binditemlink;\n private binduserrole;\n\n @ViewChildren(MenuComponent) private menuRefQL: QueryList<MenuComponent>;\n private menuRefQLSubscription: any;\n\n constructor(\n inj,\n WIDGET_CONFIG,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this.pageScope = this.viewParent;\n this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');\n this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');\n this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');\n this.binditemlink = this.nativeElement.getAttribute('itemlink.bind');\n this.binduserrole = this.nativeElement.getAttribute('userrole.bind');\n this.binditemchildren = this.nativeElement.getAttribute('itemchildren.bind');\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (includes(menuProps, key) && this.menuRef) {\n this.menuRef.itemlabel = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if(this.menuRefQL['first'])\n {this.setMenuProperty();}\n this.menuRefQLSubscription = this.menuRefQL.changes.subscribe((menuRefQL: QueryList<MenuComponent>) => {\n if (menuRefQL.first) {\n this.setMenuProperty();\n if (this.menuRefQLSubscription) {\n this.menuRefQLSubscription.unsubscribe();\n this.menuRefQLSubscription = null;\n }\n }\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from QueryList changes\n if (this.menuRefQLSubscription) {\n this.menuRefQLSubscription.unsubscribe();\n this.menuRefQLSubscription = null;\n }\n\n // MEMORY LEAK FIX: Clear QueryList reference\n this.menuRefQL = null;\n this.menuRef = null;\n\n super.ngOnDestroy();\n }\n\n protected setMenuProperty(){\n if(this.menuRefQL['first']) {\n if (this.menuRefQL.first) {\n this.menuRef = this.menuRefQL.first;\n menuProps.forEach((prop) => {\n const bindProp = `bind${prop}`;\n if (this[bindProp]) {\n this.menuRef[bindProp] = this[bindProp];\n }\n this.menuRef[prop] = this[prop];\n });\n }\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1","i2.NavComponent","i3","i4.NavComponent","i5"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AfterViewInit } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, OnDestroy } from '@angular/core';
|
|
2
2
|
import { BaseContainerComponent } from '@wm/components/base';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit {
|
|
4
|
+
export declare class MenuAdapterComponent extends BaseContainerComponent implements AfterViewInit, OnDestroy {
|
|
5
5
|
private itemlabel;
|
|
6
6
|
private menuRef;
|
|
7
7
|
private pageScope;
|
|
@@ -12,9 +12,11 @@ export declare class MenuAdapterComponent extends BaseContainerComponent impleme
|
|
|
12
12
|
private binditemlink;
|
|
13
13
|
private binduserrole;
|
|
14
14
|
private menuRefQL;
|
|
15
|
+
private menuRefQLSubscription;
|
|
15
16
|
constructor(inj: any, WIDGET_CONFIG: any, explicitContext: any);
|
|
16
17
|
onPropertyChange(key: string, nv: any, ov?: any): void;
|
|
17
18
|
ngAfterViewInit(): void;
|
|
19
|
+
ngOnDestroy(): void;
|
|
18
20
|
protected setMenuProperty(): void;
|
|
19
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<MenuAdapterComponent, never>;
|
|
20
22
|
static ɵdir: i0.ɵɵDirectiveDeclaration<MenuAdapterComponent, never, never, {}, {}, never, never, false, never>;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { Injector, AfterViewInit } from '@angular/core';
|
|
1
|
+
import { Injector, AfterViewInit, OnDestroy } from '@angular/core';
|
|
2
2
|
import { StylableComponent } from '@wm/components/base';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NavItemDirective extends StylableComponent implements AfterViewInit {
|
|
4
|
+
export declare class NavItemDirective extends StylableComponent implements AfterViewInit, OnDestroy {
|
|
5
5
|
static initializeProps: void;
|
|
6
6
|
innerLink: any;
|
|
7
7
|
makeActive(): void;
|
|
8
8
|
constructor(inj: Injector, explicitContext: any);
|
|
9
9
|
ngAfterViewInit(): void;
|
|
10
10
|
ngOnDetach(): void;
|
|
11
|
+
ngOnDestroy(): void;
|
|
11
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavItemDirective, [null, { optional: true; }]>;
|
|
12
13
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NavItemDirective, "[wmNavItem]", ["navItemRef"], {}, {}, ["innerLink"], never, true, never>;
|
|
13
14
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Injector, OnInit } from '@angular/core';
|
|
1
|
+
import { ChangeDetectorRef, Injector, OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
3
|
import { App, UserDefinedExecutionContext } from '@wm/core';
|
|
4
4
|
import { DatasetAwareNavComponent } from '@wm/components/base';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class NavComponent extends DatasetAwareNavComponent implements OnInit {
|
|
6
|
+
export declare class NavComponent extends DatasetAwareNavComponent implements OnInit, OnDestroy {
|
|
7
7
|
private cdRef;
|
|
8
8
|
private route;
|
|
9
9
|
private userDefinedExecutionContext;
|
|
@@ -29,6 +29,7 @@ export declare class NavComponent extends DatasetAwareNavComponent implements On
|
|
|
29
29
|
* @param $item
|
|
30
30
|
*/
|
|
31
31
|
onMenuItemSelect($event: any, widget: any, $item: any): void;
|
|
32
|
+
ngOnDestroy(): void;
|
|
32
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavComponent, [null, null, null, null, null, { attribute: "select.event"; }, { optional: true; }]>;
|
|
33
34
|
static ɵcmp: i0.ɵɵComponentDeclaration<NavComponent, "[wmNav]", never, {}, {}, never, ["[wmNavItem]"], true, never>;
|
|
34
35
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
1
|
+
import { ElementRef, OnDestroy } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare const disableContextMenu: ($event: Event) => void;
|
|
4
|
-
export declare class NavigationControlDirective {
|
|
4
|
+
export declare class NavigationControlDirective implements OnDestroy {
|
|
5
5
|
private nativeElement;
|
|
6
6
|
private _link;
|
|
7
|
+
private boundContextMenuHandler;
|
|
7
8
|
disableMenuContext: boolean;
|
|
8
9
|
set wmNavigationControl(val: any);
|
|
9
10
|
constructor(eleRef: ElementRef);
|
|
11
|
+
ngOnDestroy(): void;
|
|
10
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationControlDirective, never>;
|
|
11
13
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NavigationControlDirective, "[wmNavigationControl]", never, { "disableMenuContext": { "alias": "disableMenuContext"; "required": false; }; "wmNavigationControl": { "alias": "wmNavigationControl"; "required": false; }; }, {}, never, never, true, never>;
|
|
12
14
|
}
|
|
@@ -57,6 +57,11 @@
|
|
|
57
57
|
toggleNavCollapse() {
|
|
58
58
|
this.navContent.nativeElement.classList.toggle('in');
|
|
59
59
|
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
// MEMORY LEAK FIX: Clear ViewChild reference
|
|
62
|
+
this.navContent = null;
|
|
63
|
+
super.ngOnDestroy();
|
|
64
|
+
}
|
|
60
65
|
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: NavbarComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
61
66
|
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NavbarComponent, isStandalone: true, selector: "[wmNavbar]", providers: [
|
|
62
67
|
base.provideAsWidgetRef(NavbarComponent)
|
|
@@ -25,6 +25,11 @@ export class NavbarComponent extends StylableComponent {
|
|
|
25
25
|
toggleNavCollapse() {
|
|
26
26
|
this.navContent.nativeElement.classList.toggle('in');
|
|
27
27
|
}
|
|
28
|
+
ngOnDestroy() {
|
|
29
|
+
// MEMORY LEAK FIX: Clear ViewChild reference
|
|
30
|
+
this.navContent = null;
|
|
31
|
+
super.ngOnDestroy();
|
|
32
|
+
}
|
|
28
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavbarComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
34
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NavbarComponent, isStandalone: true, selector: "[wmNavbar]", providers: [
|
|
30
35
|
provideAsWidgetRef(NavbarComponent)
|
|
@@ -44,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44
49
|
type: ViewChild,
|
|
45
50
|
args: ['navContent', { static: true }]
|
|
46
51
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL25hdmJhci9zcmMvbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL25hdmJhci9zcmMvbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXJILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFekksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFL0MsTUFBTSxXQUFXLEdBQUcsa0NBQWtDLENBQUM7QUFDdkQsTUFBTSxhQUFhLEdBQUcsRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQztBQWF4RSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxpQkFBaUI7YUFDM0Msb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUFPekMsWUFBWSxHQUFhLEVBQTBDLGVBQW9CO1FBQ25GLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sY0FBYztRQUNqQixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNQLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUV2QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FoQ1EsZUFBZSwwQ0FRVyxrQkFBa0I7bUdBUjVDLGVBQWUseURBSmI7WUFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7U0FDdEMseUtDbkJMLG95QkFrQk0sMkNESlEsWUFBWSw2SEFBRSxvQkFBb0IsOEVBQUMsV0FBVzs7NEZBTy9DLGVBQWU7a0JBVDNCLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFDLFdBQVcsQ0FBQyxZQUMvQyxZQUFZLGFBRVg7d0JBQ1Asa0JBQWtCLGlCQUFpQjtxQkFDdEM7OzBCQVUyQixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQUcsUUFBUTt5Q0FGZixVQUFVO3NCQUExRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBWaWV3Q2hpbGQsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFQUExZX1NUWUxFU19UWVBFLCBzdHlsZXIsIFN0eWxhYmxlQ29tcG9uZW50LCBwcm92aWRlQXNXaWRnZXRSZWYsIFRleHRDb250ZW50RGlyZWN0aXZlICxUcnVzdEFzUGlwZX0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL25hdmJhci5wcm9wcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ25hdmJhciBuYXZiYXItZGVmYXVsdCBhcHAtbmF2YmFyJztcbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZTogJ3dtLW5hdmJhcicsIGhvc3RDbGFzczogREVGQVVMVF9DTFN9O1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGV4dENvbnRlbnREaXJlY3RpdmUsVHJ1c3RBc1BpcGVdLFxuICAgIHNlbGVjdG9yOiAnW3dtTmF2YmFyXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihOYXZiYXJDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZiYXJDb21wb25lbnQgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBtZW51aWNvbmNsYXNzOiBhbnk7XG4gICAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gICAgcHVibGljIGltZ3NyYzogc3RyaW5nO1xuICAgIEBWaWV3Q2hpbGQoJ25hdkNvbnRlbnQnLCB7c3RhdGljOiB0cnVlfSkgcHJpdmF0ZSBuYXZDb250ZW50OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcywgQVBQTFlfU1RZTEVTX1RZUEUuQ09OVEFJTkVSKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlQ29sbGFwc2UoKSB7XG4gICAgICAgIGNvbnN0ICRuYXZDb250ZW50ID0gJCh0aGlzLm5hdkNvbnRlbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICRuYXZDb250ZW50LmFuaW1hdGUoeyAnaGVpZ2h0JzogJ3RvZ2dsZSd9KTtcbiAgICAgICAgaWYgKCRuYXZDb250ZW50Lmhhc0NsYXNzKCdpbicpKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudG9nZ2xlTmF2Q29sbGFwc2UoKSwgNTAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlTmF2Q29sbGFwc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdG9nZ2xlTmF2Q29sbGFwc2UoKSB7XG4gICAgICAgIHRoaXMubmF2Q29udGVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ2luJyk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogQ2xlYXIgVmlld0NoaWxkIHJlZmVyZW5jZVxuICAgICAgICB0aGlzLm5hdkNvbnRlbnQgPSBudWxsO1xuXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICA8ZGl2IGNsYXNzPVwibmF2YmFyLWhlYWRlclwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLXRyYW5zcGFyZW50IG5hdmJhci10b2dnbGUgY29sbGFwc2VkXCIgZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5Ub2dnbGUgbmF2aWdhdGlvbjwvc3Bhbj5cbiAgICAgIDxpIFtuZ0NsYXNzXT1cIm1lbnVpY29uY2xhc3NcIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgQGlmICh0aXRsZSB8fCBpbWdzcmMpIHtcbiAgICAgIDxhIGNsYXNzPVwibmF2YmFyLWJyYW5kXCIgW2hyZWZdPVwiKGhvbWVsaW5rIHwgdHJ1c3RBczogJ3Jlc291cmNlJykgfHwgJyMvJ1wiPlxuICAgICAgICBAaWYgKGltZ3NyYykge1xuICAgICAgICAgIDxpbWcgZGF0YS1pZGVudGlmaWVyPVwiaW1nXCIgY2xhc3M9XCJicmFuZC1pbWFnZVwiIFthbHRdPVwiQnJhbmRcIiBoZWlnaHQ9XCIyMFwiIFtzcmNdPVwiaW1nc3JjIHwgaW1hZ2VcIi8+XG4gICAgICAgIH1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCJ0aXRsZVwiPjwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlXCIgI25hdkNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -37,6 +37,11 @@ class NavbarComponent extends StylableComponent {
|
|
|
37
37
|
toggleNavCollapse() {
|
|
38
38
|
this.navContent.nativeElement.classList.toggle('in');
|
|
39
39
|
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
// MEMORY LEAK FIX: Clear ViewChild reference
|
|
42
|
+
this.navContent = null;
|
|
43
|
+
super.ngOnDestroy();
|
|
44
|
+
}
|
|
40
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavbarComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
46
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NavbarComponent, isStandalone: true, selector: "[wmNavbar]", providers: [
|
|
42
47
|
provideAsWidgetRef(NavbarComponent)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/navbar/src/navbar.props.ts","../../../../../projects/components/widgets/navigation/navbar/src/navbar.component.ts","../../../../../projects/components/widgets/navigation/navbar/src/navbar.component.html","../../../../../projects/components/widgets/navigation/navbar/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-navbar',\n new Map(\n [\n ['class', {value: '', ...PROP_STRING}],\n ['homelink', PROP_STRING],\n ['imgsrc', PROP_STRING],\n ['menuiconclass', {value: 'wi wi-more-vert', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['title', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {AfterViewInit, Component, ElementRef, Inject, Injector, Optional, ViewChild} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, styler, StylableComponent, provideAsWidgetRef, TextContentDirective ,TrustAsPipe} from '@wm/components/base';\n\nimport { registerProps } from './navbar.props';\n\nconst DEFAULT_CLS = 'navbar navbar-default app-navbar';\nconst WIDGET_CONFIG = {widgetType: 'wm-navbar', hostClass: DEFAULT_CLS};\n\ndeclare const $;\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective,TrustAsPipe],\n selector: '[wmNavbar]',\n templateUrl: './navbar.component.html',\n providers: [\n provideAsWidgetRef(NavbarComponent)\n ]\n})\nexport class NavbarComponent extends StylableComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n public menuiconclass: any;\n public title: string;\n public imgsrc: string;\n @ViewChild('navContent', {static: true}) private navContent: ElementRef;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public toggleCollapse() {\n const $navContent = $(this.navContent.nativeElement);\n $navContent.animate({ 'height': 'toggle'});\n if ($navContent.hasClass('in')) {\n setTimeout(() => this.toggleNavCollapse(), 500);\n } else {\n this.toggleNavCollapse();\n }\n }\n\n private toggleNavCollapse() {\n this.navContent.nativeElement.classList.toggle('in');\n }\n}\n","<div class=\"container-fluid\">\n <div class=\"navbar-header\">\n <button type=\"button\" class=\"btn-transparent navbar-toggle collapsed\" data-toggle=\"collapse\" (click)=\"toggleCollapse()\" aria-expanded=\"false\">\n <span class=\"sr-only\">Toggle navigation</span>\n <i [ngClass]=\"menuiconclass\"></i>\n </button>\n @if (title || imgsrc) {\n <a class=\"navbar-brand\" [href]=\"(homelink | trustAs: 'resource') || '#/'\">\n @if (imgsrc) {\n <img data-identifier=\"img\" class=\"brand-image\" [alt]=\"Brand\" height=\"20\" [src]=\"imgsrc | image\"/>\n }\n <span class=\"title\" [textContent]=\"title\"></span>\n </a>\n }\n </div>\n <div class=\"collapse navbar-collapse\" #navContent>\n <ng-content></ng-content>\n </div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,WAAW,EACX,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,EAAC,CAAC;QACtC,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,QAAQ,EAAE,WAAW,CAAC;QACvB,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAC,CAAC;QAC7D,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,OAAO,EAAE,WAAW;AACxB,KAAA,CACJ,CACJ;AACL,CAAC;;ACVD,MAAM,WAAW,GAAG,kCAAkC;AACtD,MAAM,aAAa,GAAG,EAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAC;AAajE,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAC3C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;IAOzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IACjE;IAEO,cAAc,GAAA;QACjB,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QACpD,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;AAC1C,QAAA,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC5B,UAAU,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC;QACnD;aAAO;YACH,IAAI,CAAC,iBAAiB,EAAE;QAC5B;IACJ;IAEQ,iBAAiB,GAAA;QACrB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;IACxD;
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/navigation/navbar/src/navbar.props.ts","../../../../../projects/components/widgets/navigation/navbar/src/navbar.component.ts","../../../../../projects/components/widgets/navigation/navbar/src/navbar.component.html","../../../../../projects/components/widgets/navigation/navbar/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-navbar',\n new Map(\n [\n ['class', {value: '', ...PROP_STRING}],\n ['homelink', PROP_STRING],\n ['imgsrc', PROP_STRING],\n ['menuiconclass', {value: 'wi wi-more-vert', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['title', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {AfterViewInit, Component, ElementRef, Inject, Injector, Optional, ViewChild, OnDestroy} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, styler, StylableComponent, provideAsWidgetRef, TextContentDirective ,TrustAsPipe} from '@wm/components/base';\n\nimport { registerProps } from './navbar.props';\n\nconst DEFAULT_CLS = 'navbar navbar-default app-navbar';\nconst WIDGET_CONFIG = {widgetType: 'wm-navbar', hostClass: DEFAULT_CLS};\n\ndeclare const $;\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective,TrustAsPipe],\n selector: '[wmNavbar]',\n templateUrl: './navbar.component.html',\n providers: [\n provideAsWidgetRef(NavbarComponent)\n ]\n})\nexport class NavbarComponent extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public menuiconclass: any;\n public title: string;\n public imgsrc: string;\n @ViewChild('navContent', {static: true}) private navContent: ElementRef;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public toggleCollapse() {\n const $navContent = $(this.navContent.nativeElement);\n $navContent.animate({ 'height': 'toggle'});\n if ($navContent.hasClass('in')) {\n setTimeout(() => this.toggleNavCollapse(), 500);\n } else {\n this.toggleNavCollapse();\n }\n }\n\n private toggleNavCollapse() {\n this.navContent.nativeElement.classList.toggle('in');\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.navContent = null;\n\n super.ngOnDestroy();\n }\n}\n","<div class=\"container-fluid\">\n <div class=\"navbar-header\">\n <button type=\"button\" class=\"btn-transparent navbar-toggle collapsed\" data-toggle=\"collapse\" (click)=\"toggleCollapse()\" aria-expanded=\"false\">\n <span class=\"sr-only\">Toggle navigation</span>\n <i [ngClass]=\"menuiconclass\"></i>\n </button>\n @if (title || imgsrc) {\n <a class=\"navbar-brand\" [href]=\"(homelink | trustAs: 'resource') || '#/'\">\n @if (imgsrc) {\n <img data-identifier=\"img\" class=\"brand-image\" [alt]=\"Brand\" height=\"20\" [src]=\"imgsrc | image\"/>\n }\n <span class=\"title\" [textContent]=\"title\"></span>\n </a>\n }\n </div>\n <div class=\"collapse navbar-collapse\" #navContent>\n <ng-content></ng-content>\n </div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AfterViewInit, Injector } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, Injector, OnDestroy } from '@angular/core';
|
|
2
2
|
import { StylableComponent } from '@wm/components/base';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NavbarComponent extends StylableComponent implements AfterViewInit {
|
|
4
|
+
export declare class NavbarComponent extends StylableComponent implements AfterViewInit, OnDestroy {
|
|
5
5
|
static initializeProps: void;
|
|
6
6
|
menuiconclass: any;
|
|
7
7
|
title: string;
|
|
@@ -10,6 +10,7 @@ export declare class NavbarComponent extends StylableComponent implements AfterV
|
|
|
10
10
|
constructor(inj: Injector, explicitContext: any);
|
|
11
11
|
toggleCollapse(): void;
|
|
12
12
|
private toggleNavCollapse;
|
|
13
|
+
ngOnDestroy(): void;
|
|
13
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<NavbarComponent, [null, { optional: true; }]>;
|
|
14
15
|
static ɵcmp: i0.ɵɵComponentDeclaration<NavbarComponent, "[wmNavbar]", never, {}, {}, never, ["*"], true, never>;
|
|
15
16
|
}
|