@wavemaker/app-ng-runtime 11.14.1-rc.6311 → 11.14.2-rc.242
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 +323 -28
- 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 +1 -1
- 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 +319 -26
- package/components/base/fesm2022/index.mjs.map +1 -1
- 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 +27 -1
- package/components/basic/search/esm2022/scrollable.directive.mjs +11 -2
- package/components/basic/search/esm2022/search.component.mjs +18 -1
- package/components/basic/search/fesm2022/index.mjs +27 -1
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/scrollable.directive.d.ts +4 -2
- 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 +180 -17
- package/components/data/list/esm2022/list-item.directive.mjs +95 -11
- package/components/data/list/esm2022/list.component.mjs +87 -8
- package/components/data/list/fesm2022/index.mjs +180 -17
- 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 +3 -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 +311 -12
- 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 +159 -9
- package/components/data/table/fesm2022/index.mjs +311 -12
- 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 +2 -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 +20 -2
- 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/fesm2022/index.mjs +20 -2
- 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/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 +364 -30
- 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 +37 -10
- 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 +365 -31
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- 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/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
|
@@ -15,6 +15,7 @@ export class SwitchComponent extends DatasetAwareFormComponent {
|
|
|
15
15
|
constructor(inj, explicitContext) {
|
|
16
16
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
17
17
|
this.options = [];
|
|
18
|
+
this._debounceSetSelectedValue = null;
|
|
18
19
|
this.multiple = this.getAttr("multiple") === "true";
|
|
19
20
|
this.checkediconclass = this.getAttr("checkediconclass");
|
|
20
21
|
this._debounceSetSelectedValue = debounce((val) => {
|
|
@@ -28,7 +29,9 @@ export class SwitchComponent extends DatasetAwareFormComponent {
|
|
|
28
29
|
const datasetSubscription = this.dataset$.subscribe(() => this.updateSwitchOptions());
|
|
29
30
|
this.registerDestroyListener(() => datasetSubscription.unsubscribe());
|
|
30
31
|
const datavalueSubscription = this.datavalue$.subscribe(() => {
|
|
31
|
-
this._debounceSetSelectedValue
|
|
32
|
+
if (this._debounceSetSelectedValue) {
|
|
33
|
+
this._debounceSetSelectedValue(true);
|
|
34
|
+
}
|
|
32
35
|
});
|
|
33
36
|
this.registerDestroyListener(() => datavalueSubscription.unsubscribe());
|
|
34
37
|
}
|
|
@@ -60,7 +63,9 @@ export class SwitchComponent extends DatasetAwareFormComponent {
|
|
|
60
63
|
this.btnwidth = (100 / this.datasetItems.length);
|
|
61
64
|
setCSS(this.nativeElement.querySelector('.app-switch-overlay'), 'width', this.btnwidth + '%');
|
|
62
65
|
}
|
|
63
|
-
this._debounceSetSelectedValue
|
|
66
|
+
if (this._debounceSetSelectedValue) {
|
|
67
|
+
this._debounceSetSelectedValue(true);
|
|
68
|
+
}
|
|
64
69
|
}
|
|
65
70
|
// This function animates the highlighted span on to the selected value.
|
|
66
71
|
updateHighlighter(skipAnimation) {
|
|
@@ -138,6 +143,21 @@ export class SwitchComponent extends DatasetAwareFormComponent {
|
|
|
138
143
|
super.onPropertyChange(key, nv, ov);
|
|
139
144
|
}
|
|
140
145
|
}
|
|
146
|
+
ngOnDestroy() {
|
|
147
|
+
// MEMORY LEAK FIX: Nullify debounced function closure
|
|
148
|
+
// This closure captures 'this' and prevents garbage collection
|
|
149
|
+
this._debounceSetSelectedValue = null;
|
|
150
|
+
// MEMORY LEAK FIX: Clear options array
|
|
151
|
+
this.options = [];
|
|
152
|
+
// MEMORY LEAK FIX: Clear selected item reference
|
|
153
|
+
this.selectedItem = null;
|
|
154
|
+
// MEMORY LEAK FIX: Clear hint array
|
|
155
|
+
if (this.hint) {
|
|
156
|
+
this.hint = [];
|
|
157
|
+
}
|
|
158
|
+
// Call parent ngOnDestroy
|
|
159
|
+
super.ngOnDestroy();
|
|
160
|
+
}
|
|
141
161
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwitchComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
162
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SwitchComponent, isStandalone: true, selector: "[wmSwitch]", providers: [
|
|
143
163
|
provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),
|
|
@@ -156,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
156
176
|
}, {
|
|
157
177
|
type: Optional
|
|
158
178
|
}] }] });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9zd2l0Y2gvc3JjL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvc3dpdGNoL3NyYy9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBZSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7OztBQUl2RixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUM7QUFDakMsTUFBTSxhQUFhLEdBQUcsRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQztBQWF4RSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx5QkFB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QUFFLENBQUMsQ0FBQztnQkFDcEIsQ0FBQztZQUNMLENBQUM7WUFDRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQzsrR0E3SlEsZUFBZSwwQ0FlVyxrQkFBa0I7bUdBZjVDLGVBQWUseURBTmI7WUFDUCxTQUFTLENBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztZQUNuRCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7U0FDdEMseUVDeEJMLDJoREFnQ0EsMkNEZFksWUFBWSw2SEFBRSxvQkFBb0I7OzRGQVNqQyxlQUFlO2tCQVgzQixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxZQUNqQyxZQUFZLGFBRVg7d0JBQ1AsU0FBUyxrQkFBa0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO3dCQUNuRCxrQkFBa0IsaUJBQWlCO3FCQUN0QyxZQUNTLFVBQVU7OzBCQWlCUSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7JGFwcERpZ2VzdCwgZGVib3VuY2UsIGlzRGVmaW5lZCwgc2V0Q1NTLCB0b0Jvb2xlYW59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IERhdGFTZXRJdGVtLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc3R5bGVyLCBUZXh0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2lucHV0L2RhdGFzZXQtYXdhcmUtZm9ybSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL3N3aXRjaC5wcm9wcyc7XG5pbXBvcnQge2ZpbmQsIGZpbmRJbmRleCwgZm9yRWFjaCwgaXNBcnJheSwgaXNOdWxsLCBpc1VuZGVmaW5lZCwgdHJpbX0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1zd2l0Y2gnO1xuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tc3dpdGNoJywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUZXh0Q29udGVudERpcmVjdGl2ZV0sXG4gICAgc2VsZWN0b3I6ICdbd21Td2l0Y2hdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKFN3aXRjaENvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoU3dpdGNoQ29tcG9uZW50KVxuICAgIF0sXG4gICAgZXhwb3J0QXM6ICd3bVN3aXRjaCdcbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBvcHRpb25zID0gW107XG4gICAgc2VsZWN0ZWRJdGVtOiBEYXRhU2V0SXRlbTtcbiAgICBpY29uY2xhc3M7XG4gICAgY2hlY2tlZGljb25jbGFzcztcbiAgICBtdWx0aXBsZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGJ0bndpZHRoO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlOiBGdW5jdGlvbjtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyBoaW50OmFueTtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgICAgIHRoaXMubXVsdGlwbGUgPSB0aGlzLmdldEF0dHIoXCJtdWx0aXBsZVwiKSA9PT0gXCJ0cnVlXCI7XG4gICAgICAgIHRoaXMuY2hlY2tlZGljb25jbGFzcyA9IHRoaXMuZ2V0QXR0cihcImNoZWNrZWRpY29uY2xhc3NcIik7XG5cbiAgICAgICAgdGhpcy5fZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlID0gZGVib3VuY2UoKHZhbCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodGVyKHZhbCk7XG4gICAgICAgICAgICAvLyBvbmx5IGZvciBkZWZhdWx0IHZhbHVlIHRyaWdnZXIgYXBwIGRpZ2VzdCB0byBhcHBseSB0aGUgc2VsZWN0ZWRJdGVtXG4gICAgICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgIGNvbnN0IGRhdGFzZXRTdWJzY3JpcHRpb24gPSB0aGlzLmRhdGFzZXQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVN3aXRjaE9wdGlvbnMoKSk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBkYXRhc2V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuXG4gICAgICAgIGNvbnN0IGRhdGF2YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXZhbHVlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlKHRydWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBkYXRhdmFsdWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCwgdGhpcyk7XG4gICAgfVxuXG4gICAgb25TdHlsZUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2hlaWdodCcpIHtcbiAgICAgICAgICAgIHNldENTUyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdycsIG52ID8gJ2F1dG8nIDogJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25TdHlsZUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIHNlbGVjdGVkSXRlbSBieSBlaXRoZXIgdXNpbmcgY29tcGFyZWJ5IGZpZWxkcyBvciBzZWxlY3RlZCBmbGFnIG9uIGRhdGFzZXRJdGVtcy5cbiAgICBwcml2YXRlIHNldFNlbGVjdGVkVmFsdWUoKSB7XG4gICAgICAgIGlmIChpc0RlZmluZWQodGhpcy5kYXRhdmFsdWUpIHx8IGlzRGVmaW5lZCh0aGlzLnRvQmVQcm9jZXNzZWREYXRhdmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIHtzZWxlY3RlZDogdHJ1ZX0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgbm8gdmFsdWUgaXMgcHJvdmlkZWQsIHNldCBmaXJzdCB2YWx1ZSBhcyBkZWZhdWx0IGlmIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBlbHNlIHNldCAtMSBpZSBubyBzZWxlY3Rpb25cbiAgICAgICAgLy8gdGhpcy5zZWxlY3RPcHRBdEluZGV4KDApO1xuICAgIH1cblxuICAgIC8vIHNldCB0aGUgY3NzIGZvciBzd2l0Y2ggb3ZlcmxheSBlbGVtZW50LlxuICAgIC8vIHNldCB0aGUgc2VsZWN0ZWQgaW5kZXggZnJvbSB0aGUgZGF0YXNldEl0ZW1zIGFuZCBoaWdobGlnaHQgdGhlIGRhdGF2YWx1ZSBvbiBzd2l0Y2guXG4gICAgcHJpdmF0ZSB1cGRhdGVTd2l0Y2hPcHRpb25zKCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoICYmICF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLmJ0bndpZHRoID0gKDEwMCAvIHRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCk7XG4gICAgICAgICAgICBzZXRDU1ModGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hcHAtc3dpdGNoLW92ZXJsYXknKSBhcyBIVE1MRWxlbWVudCwgJ3dpZHRoJywgdGhpcy5idG53aWR0aCArICclJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9kZWJvdW5jZVNldFNlbGVjdGVkVmFsdWUodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBhbmltYXRlcyB0aGUgaGlnaGxpZ2h0ZWQgc3BhbiBvbiB0byB0aGUgc2VsZWN0ZWQgdmFsdWUuXG4gICAgcHJpdmF0ZSB1cGRhdGVIaWdobGlnaHRlcihza2lwQW5pbWF0aW9uPykge1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gJCh0aGlzLm5hdGl2ZUVsZW1lbnQpLmZpbmQoJ3NwYW4uYXBwLXN3aXRjaC1vdmVybGF5Jyk7XG5cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKCk7XG5cbiAgICAgICAgbGV0IGxlZnQsXG4gICAgICAgICAgICBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJdGVtID8gZmluZEluZGV4KHRoaXMuZGF0YXNldEl0ZW1zLCB7a2V5OiB0aGlzLnNlbGVjdGVkSXRlbS5rZXl9KSA6IC0xO1xuXG4gICAgICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkIHx8IGluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICBpbmRleCA9IC0xO1xuICAgICAgICB9XG4gICAgICAgIGxlZnQgPSBpbmRleCAqIHRoaXMuYnRud2lkdGg7XG4gICAgICAgIGlmIChza2lwQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBoYW5kbGVyLmNzcygnbGVmdCcsIGxlZnQgKyAnJScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaGFuZGxlci5hbmltYXRlKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0ICsgJyUnXG4gICAgICAgICAgICB9LCAzMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0T3B0QXRJbmRleCgkaW5kZXgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcHQgPSB0aGlzLmRhdGFzZXRJdGVtc1skaW5kZXhdO1xuICAgICAgICB0aGlzLl9tb2RlbEJ5VmFsdWUgPSBvcHQudmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVHJpZ2dlcmVkIG9uIHNlbGVjdGVkIHRoZSBvcHRpb24gZnJvbSB0aGUgc3dpdGNoLlxuICAgIC8vIHNldCB0aGUgaW5kZXggYW5kIGhpZ2hsaWdodCB0aGUgZGVmYXVsdCB2YWx1ZS4gSW52b2tlIG9uY2hhbmdlIGV2ZW50IGhhbmRsZXIuXG4gICAgc2VsZWN0T3B0KCRldmVudCwgJGluZGV4LCBvcHRpb24pIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZGF0YXNldEl0ZW1zWyRpbmRleF0uc2VsZWN0ZWQgPSAhdGhpcy5kYXRhc2V0SXRlbXNbJGluZGV4XS5zZWxlY3RlZDtcbiAgICAgICAgICAgIGZvckVhY2godGhpcy5kYXRhc2V0SXRlbXMsIChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZihpdGVtLnNlbGVjdGVkKVxuICAgICAgICAgICAgICAgICAgICBrZXlzLnB1c2goaXRlbS5rZXkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSBrZXlzO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBmaW5kKHRoaXMuZGF0YXNldEl0ZW1zLCB7c2VsZWN0ZWQ6IHRydWV9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWxCeUtleSA9IG9wdGlvbi5rZXk7XG4gICAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW0gJiYgJGluZGV4ID09PSBmaW5kSW5kZXgodGhpcy5kYXRhc2V0SXRlbXMsIHtrZXk6IHRoaXMuc2VsZWN0ZWRJdGVtLmtleX0pKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgICAgICAkaW5kZXggPSAkaW5kZXggPT09IDEgPyAwIDogMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLmRhdGFzZXRJdGVtc1skaW5kZXhdO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVIaWdobGlnaHRlcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92Pykge1xuICAgICAgICBpZiAoa2V5ID09PSAnZGlzYWJsZWQnICYmICF0b0Jvb2xlYW4obnYpKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZihrZXk9PT0naGludCcpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWYgKGlzVW5kZWZpbmVkKG52KSB8fCBpc051bGwobnYpIHx8IHRyaW0obnYpID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpbnQ9W107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgIGlmICghaXNBcnJheShudikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaW50PSBbbnZdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiByb2xlPVwiZ3JvdXBcIiBjbGFzcz1cImJ0bi1ncm91cCBidG4tZ3JvdXAtanVzdGlmaWVkXCIgW25nQ2xhc3NdPVwieydtdWx0aS1zZWxlY3QnOiBtdWx0aXBsZX1cIj5cbiAgQGZvciAob3B0IG9mIGRhdGFzZXRJdGVtczsgdHJhY2sgb3B0KSB7XG4gICAgPGFcbiAgICAgIGZvY3VzLXRhcmdldFxuICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgW3RpdGxlXT1cImhpbnQ/aGludDpvcHQua2V5XCJcbiAgICAgIFtuYW1lXT1cIid3bS1zd2l0Y2gtJyArIG9wdC5rZXlcIlxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICBbdGl0bGVdPVwiaGludD8uW29wdC5pbmRleC0xXT9oaW50W29wdC5pbmRleC0xXTooaGludD8uWzBdP2hpbnRbMF06KG9wdFtkaXNwbGF5ZmllbGRdfHxvcHQubGFiZWwpKVwiXG4gICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogb3B0LnNlbGVjdGVkLCAnZGlzYWJsZWQnOiBkaXNhYmxlZH1cIlxuICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cIm9wdC5zZWxlY3RlZCA/IHRydWUgOiBmYWxzZVwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0T3B0KCRldmVudCwgJGluZGV4LCBvcHQpXCJcbiAgICAgID5cbiAgICAgIEBpZiAob3B0LmRhdGFPYmplY3QgJiYgb3B0LmRhdGFPYmplY3RbaWNvbmNsYXNzXSAmJiAoIW9wdC5zZWxlY3RlZCB8fCFjaGVja2VkaWNvbmNsYXNzKSkge1xuICAgICAgICA8aSBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdDbGFzc109XCJbJ2FwcC1pY29uJywgb3B0LmRhdGFPYmplY3RbaWNvbmNsYXNzXSB8fCBvcHRbJ2ljb24nXV1cIj48L2k+XG4gICAgICB9XG4gICAgICBAaWYgKG9wdC5zZWxlY3RlZCAmJiBjaGVja2VkaWNvbmNsYXNzKSB7XG4gICAgICAgIDxpIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtuZ0NsYXNzXT1cIltjaGVja2VkaWNvbmNsYXNzXVwiPjwvaT5cbiAgICAgIH1cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJvcHRbZGlzcGxheWZpZWxkXSB8fCBvcHQubGFiZWxcIj48L3NwYW4+XG4gICAgPC9hPlxuICB9XG48L2Rpdj5cbkBpZiAoIW11bHRpcGxlKSB7XG4gIDxzcGFuIFt0aXRsZV09XCJzZWxlY3RlZEl0ZW0gPyBzZWxlY3RlZEl0ZW0ubGFiZWwgOiBtb2RlbEJ5S2V5XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBhcHAtc3dpdGNoLW92ZXJsYXkgc3dpdGNoLWhhbmRsZVwiPlxuICAgIDxpIFtuZ0NsYXNzXT1cIltjaGVja2VkaWNvbmNsYXNzXVwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIj57e3NlbGVjdGVkSXRlbSA/IHNlbGVjdGVkSXRlbS5sYWJlbCA6IG1vZGVsQnlLZXl9fTwvc3Bhbj5cbiAgPC9zcGFuPlxufVxuPGlucHV0IFtuYW1lXT1cIm5hbWVcIiBjbGFzcz1cIm1vZGVsLWhvbGRlciBuZy1oaWRlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3ZhbHVlXT1cIm1vZGVsQnlLZXlcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiJdfQ==
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9zd2l0Y2gvc3JjL3N3aXRjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvc3dpdGNoL3NyYy9zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBZSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7OztBQUl2RixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUM7QUFDakMsTUFBTSxhQUFhLEdBQUcsRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQztBQWF4RSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx5QkFB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QU07MkJBQUMsa0JBQWtCOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyRhcHBEaWdlc3QsIGRlYm91bmNlLCBpc0RlZmluZWQsIHNldENTUywgdG9Cb29sZWFufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBEYXRhU2V0SXRlbSwgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciwgVGV4dENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dC9kYXRhc2V0LWF3YXJlLWZvcm0nO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9zd2l0Y2gucHJvcHMnO1xuaW1wb3J0IHtmaW5kLCBmaW5kSW5kZXgsIGZvckVhY2gsIGlzQXJyYXksIGlzTnVsbCwgaXNVbmRlZmluZWQsIHRyaW19IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtc3dpdGNoJztcbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZTogJ3dtLXN3aXRjaCcsIGhvc3RDbGFzczogREVGQVVMVF9DTFN9O1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGV4dENvbnRlbnREaXJlY3RpdmVdLFxuICAgIHNlbGVjdG9yOiAnW3dtU3dpdGNoXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhTd2l0Y2hDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFN3aXRjaENvbXBvbmVudClcbiAgICBdLFxuICAgIGV4cG9ydEFzOiAnd21Td2l0Y2gnXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBvcHRpb25zID0gW107XG4gICAgc2VsZWN0ZWRJdGVtOiBEYXRhU2V0SXRlbTtcbiAgICBpY29uY2xhc3M7XG4gICAgY2hlY2tlZGljb25jbGFzcztcbiAgICBtdWx0aXBsZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGJ0bndpZHRoO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlOiBGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIGhpbnQ6YW55O1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IHRoaXMuZ2V0QXR0cihcIm11bHRpcGxlXCIpID09PSBcInRydWVcIjtcbiAgICAgICAgdGhpcy5jaGVja2VkaWNvbmNsYXNzID0gdGhpcy5nZXRBdHRyKFwiY2hlY2tlZGljb25jbGFzc1wiKTtcblxuICAgICAgICB0aGlzLl9kZWJvdW5jZVNldFNlbGVjdGVkVmFsdWUgPSBkZWJvdW5jZSgodmFsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSGlnaGxpZ2h0ZXIodmFsKTtcbiAgICAgICAgICAgIC8vIG9ubHkgZm9yIGRlZmF1bHQgdmFsdWUgdHJpZ2dlciBhcHAgZGlnZXN0IHRvIGFwcGx5IHRoZSBzZWxlY3RlZEl0ZW1cbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgICAkYXBwRGlnZXN0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDIwMCk7XG5cbiAgICAgICAgY29uc3QgZGF0YXNldFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXNldCQuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlU3dpdGNoT3B0aW9ucygpKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGRhdGFzZXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG5cbiAgICAgICAgY29uc3QgZGF0YXZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhdmFsdWUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBkYXRhdmFsdWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCwgdGhpcyk7XG4gICAgfVxuXG4gICAgb25TdHlsZUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2hlaWdodCcpIHtcbiAgICAgICAgICAgIHNldENTUyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdycsIG52ID8gJ2F1dG8nIDogJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25TdHlsZUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIHNlbGVjdGVkSXRlbSBieSBlaXRoZXIgdXNpbmcgY29tcGFyZWJ5IGZpZWxkcyBvciBzZWxlY3RlZCBmbGFnIG9uIGRhdGFzZXRJdGVtcy5cbiAgICBwcml2YXRlIHNldFNlbGVjdGVkVmFsdWUoKSB7XG4gICAgICAgIGlmIChpc0RlZmluZWQodGhpcy5kYXRhdmFsdWUpIHx8IGlzRGVmaW5lZCh0aGlzLnRvQmVQcm9jZXNzZWREYXRhdmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIHtzZWxlY3RlZDogdHJ1ZX0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgbm8gdmFsdWUgaXMgcHJvdmlkZWQsIHNldCBmaXJzdCB2YWx1ZSBhcyBkZWZhdWx0IGlmIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBlbHNlIHNldCAtMSBpZSBubyBzZWxlY3Rpb25cbiAgICAgICAgLy8gdGhpcy5zZWxlY3RPcHRBdEluZGV4KDApO1xuICAgIH1cblxuICAgIC8vIHNldCB0aGUgY3NzIGZvciBzd2l0Y2ggb3ZlcmxheSBlbGVtZW50LlxuICAgIC8vIHNldCB0aGUgc2VsZWN0ZWQgaW5kZXggZnJvbSB0aGUgZGF0YXNldEl0ZW1zIGFuZCBoaWdobGlnaHQgdGhlIGRhdGF2YWx1ZSBvbiBzd2l0Y2guXG4gICAgcHJpdmF0ZSB1cGRhdGVTd2l0Y2hPcHRpb25zKCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoICYmICF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLmJ0bndpZHRoID0gKDEwMCAvIHRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCk7XG4gICAgICAgICAgICBzZXRDU1ModGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hcHAtc3dpdGNoLW92ZXJsYXknKSBhcyBIVE1MRWxlbWVudCwgJ3dpZHRoJywgdGhpcy5idG53aWR0aCArICclJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWJvdW5jZVNldFNlbGVjdGVkVmFsdWUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGFuaW1hdGVzIHRoZSBoaWdobGlnaHRlZCBzcGFuIG9uIHRvIHRoZSBzZWxlY3RlZCB2YWx1ZS5cbiAgICBwcml2YXRlIHVwZGF0ZUhpZ2hsaWdodGVyKHNraXBBbmltYXRpb24/KSB7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAkKHRoaXMubmF0aXZlRWxlbWVudCkuZmluZCgnc3Bhbi5hcHAtc3dpdGNoLW92ZXJsYXknKTtcblxuICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoKTtcblxuICAgICAgICBsZXQgbGVmdCxcbiAgICAgICAgICAgIGluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW0gPyBmaW5kSW5kZXgodGhpcy5kYXRhc2V0SXRlbXMsIHtrZXk6IHRoaXMuc2VsZWN0ZWRJdGVtLmtleX0pIDogLTE7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQgfHwgaW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgICAgIGluZGV4ID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgbGVmdCA9IGluZGV4ICogdGhpcy5idG53aWR0aDtcbiAgICAgICAgaWYgKHNraXBBbmltYXRpb24pIHtcbiAgICAgICAgICAgIGhhbmRsZXIuY3NzKCdsZWZ0JywgbGVmdCArICclJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBoYW5kbGVyLmFuaW1hdGUoe1xuICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQgKyAnJSdcbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RPcHRBdEluZGV4KCRpbmRleCkge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdCA9IHRoaXMuZGF0YXNldEl0ZW1zWyRpbmRleF07XG4gICAgICAgIHRoaXMuX21vZGVsQnlWYWx1ZSA9IG9wdC52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBUcmlnZ2VyZWQgb24gc2VsZWN0ZWQgdGhlIG9wdGlvbiBmcm9tIHRoZSBzd2l0Y2guXG4gICAgLy8gc2V0IHRoZSBpbmRleCBhbmQgaGlnaGxpZ2h0IHRoZSBkZWZhdWx0IHZhbHVlLiBJbnZva2Ugb25jaGFuZ2UgZXZlbnQgaGFuZGxlci5cbiAgICBzZWxlY3RPcHQoJGV2ZW50LCAkaW5kZXgsIG9wdGlvbikge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5kYXRhc2V0SXRlbXNbJGluZGV4XS5zZWxlY3RlZCA9ICF0aGlzLmRhdGFzZXRJdGVtc1skaW5kZXhdLnNlbGVjdGVkO1xuICAgICAgICAgICAgZm9yRWFjaCh0aGlzLmRhdGFzZXRJdGVtcywgKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmKGl0ZW0uc2VsZWN0ZWQpXG4gICAgICAgICAgICAgICAgICAgIGtleXMucHVzaChpdGVtLmtleSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMubW9kZWxCeUtleSA9IGtleXM7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIHtzZWxlY3RlZDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gb3B0aW9uLmtleTtcbiAgICAgICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkSXRlbSAmJiAkaW5kZXggPT09IGZpbmRJbmRleCh0aGlzLmRhdGFzZXRJdGVtcywge2tleTogdGhpcy5zZWxlY3RlZEl0ZW0ua2V5fSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICRpbmRleCA9ICRpbmRleCA9PT0gMSA/IDAgOiAxO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuZGF0YXNldEl0ZW1zWyRpbmRleF07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmludm9rZU9uVG91Y2hlZCgpO1xuICAgICAgICAvLyBpbnZva2Ugb24gZGF0YXZhbHVlIGNoYW5nZS5cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwgJGV2ZW50IHx8IHt9LCB0cnVlKTtcbiAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3Y/KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdkaXNhYmxlZCcgJiYgIXRvQm9vbGVhbihudikpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmKGtleT09PSdoaW50JylcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNVbmRlZmluZWQobnYpIHx8IGlzTnVsbChudikgfHwgdHJpbShudikgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGludD1bXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSAgaWYgKCFpc0FycmF5KG52KSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpbnQ9IFtudl07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBOdWxsaWZ5IGRlYm91bmNlZCBmdW5jdGlvbiBjbG9zdXJlXG4gICAgICAgIC8vIFRoaXMgY2xvc3VyZSBjYXB0dXJlcyAndGhpcycgYW5kIHByZXZlbnRzIGdhcmJhZ2UgY29sbGVjdGlvblxuICAgICAgICB0aGlzLl9kZWJvdW5jZVNldFNlbGVjdGVkVmFsdWUgPSBudWxsO1xuXG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogQ2xlYXIgb3B0aW9ucyBhcnJheVxuICAgICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcblxuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IENsZWFyIHNlbGVjdGVkIGl0ZW0gcmVmZXJlbmNlXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDtcblxuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IENsZWFyIGhpbnQgYXJyYXlcbiAgICAgICAgaWYgKHRoaXMuaGludCkge1xuICAgICAgICAgICAgdGhpcy5oaW50ID0gW107XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWxsIHBhcmVudCBuZ09uRGVzdHJveVxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgcm9sZT1cImdyb3VwXCIgY2xhc3M9XCJidG4tZ3JvdXAgYnRuLWdyb3VwLWp1c3RpZmllZFwiIFtuZ0NsYXNzXT1cInsnbXVsdGktc2VsZWN0JzogbXVsdGlwbGV9XCI+XG4gIEBmb3IgKG9wdCBvZiBkYXRhc2V0SXRlbXM7IHRyYWNrIG9wdCkge1xuICAgIDxhXG4gICAgICBmb2N1cy10YXJnZXRcbiAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgIFt0aXRsZV09XCJoaW50P2hpbnQ6b3B0LmtleVwiXG4gICAgICBbbmFtZV09XCInd20tc3dpdGNoLScgKyBvcHQua2V5XCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgW3RpdGxlXT1cImhpbnQ/LltvcHQuaW5kZXgtMV0/aGludFtvcHQuaW5kZXgtMV06KGhpbnQ/LlswXT9oaW50WzBdOihvcHRbZGlzcGxheWZpZWxkXXx8b3B0LmxhYmVsKSlcIlxuICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IG9wdC5zZWxlY3RlZCwgJ2Rpc2FibGVkJzogZGlzYWJsZWR9XCJcbiAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJvcHQuc2VsZWN0ZWQgPyB0cnVlIDogZmFsc2VcIlxuICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdCgkZXZlbnQsICRpbmRleCwgb3B0KVwiXG4gICAgICA+XG4gICAgICBAaWYgKG9wdC5kYXRhT2JqZWN0ICYmIG9wdC5kYXRhT2JqZWN0W2ljb25jbGFzc10gJiYgKCFvcHQuc2VsZWN0ZWQgfHwhY2hlY2tlZGljb25jbGFzcykpIHtcbiAgICAgICAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25nQ2xhc3NdPVwiWydhcHAtaWNvbicsIG9wdC5kYXRhT2JqZWN0W2ljb25jbGFzc10gfHwgb3B0WydpY29uJ11dXCI+PC9pPlxuICAgICAgfVxuICAgICAgQGlmIChvcHQuc2VsZWN0ZWQgJiYgY2hlY2tlZGljb25jbGFzcykge1xuICAgICAgICA8aSBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdDbGFzc109XCJbY2hlY2tlZGljb25jbGFzc11cIj48L2k+XG4gICAgICB9XG4gICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwib3B0W2Rpc3BsYXlmaWVsZF0gfHwgb3B0LmxhYmVsXCI+PC9zcGFuPlxuICAgIDwvYT5cbiAgfVxuPC9kaXY+XG5AaWYgKCFtdWx0aXBsZSkge1xuICA8c3BhbiBbdGl0bGVdPVwic2VsZWN0ZWRJdGVtID8gc2VsZWN0ZWRJdGVtLmxhYmVsIDogbW9kZWxCeUtleVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYXBwLXN3aXRjaC1vdmVybGF5IHN3aXRjaC1oYW5kbGVcIj5cbiAgICA8aSBbbmdDbGFzc109XCJbY2hlY2tlZGljb25jbGFzc11cIj48L2k+XG4gICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCI+e3tzZWxlY3RlZEl0ZW0gPyBzZWxlY3RlZEl0ZW0ubGFiZWwgOiBtb2RlbEJ5S2V5fX08L3NwYW4+XG4gIDwvc3Bhbj5cbn1cbjxpbnB1dCBbbmFtZV09XCJuYW1lXCIgY2xhc3M9XCJtb2RlbC1ob2xkZXIgbmctaGlkZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt2YWx1ZV09XCJtb2RlbEJ5S2V5XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4iXX0=
|
|
@@ -41,6 +41,7 @@ class SwitchComponent extends DatasetAwareFormComponent {
|
|
|
41
41
|
constructor(inj, explicitContext) {
|
|
42
42
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
43
43
|
this.options = [];
|
|
44
|
+
this._debounceSetSelectedValue = null;
|
|
44
45
|
this.multiple = this.getAttr("multiple") === "true";
|
|
45
46
|
this.checkediconclass = this.getAttr("checkediconclass");
|
|
46
47
|
this._debounceSetSelectedValue = debounce((val) => {
|
|
@@ -54,7 +55,9 @@ class SwitchComponent extends DatasetAwareFormComponent {
|
|
|
54
55
|
const datasetSubscription = this.dataset$.subscribe(() => this.updateSwitchOptions());
|
|
55
56
|
this.registerDestroyListener(() => datasetSubscription.unsubscribe());
|
|
56
57
|
const datavalueSubscription = this.datavalue$.subscribe(() => {
|
|
57
|
-
this._debounceSetSelectedValue
|
|
58
|
+
if (this._debounceSetSelectedValue) {
|
|
59
|
+
this._debounceSetSelectedValue(true);
|
|
60
|
+
}
|
|
58
61
|
});
|
|
59
62
|
this.registerDestroyListener(() => datavalueSubscription.unsubscribe());
|
|
60
63
|
}
|
|
@@ -86,7 +89,9 @@ class SwitchComponent extends DatasetAwareFormComponent {
|
|
|
86
89
|
this.btnwidth = (100 / this.datasetItems.length);
|
|
87
90
|
setCSS(this.nativeElement.querySelector('.app-switch-overlay'), 'width', this.btnwidth + '%');
|
|
88
91
|
}
|
|
89
|
-
this._debounceSetSelectedValue
|
|
92
|
+
if (this._debounceSetSelectedValue) {
|
|
93
|
+
this._debounceSetSelectedValue(true);
|
|
94
|
+
}
|
|
90
95
|
}
|
|
91
96
|
// This function animates the highlighted span on to the selected value.
|
|
92
97
|
updateHighlighter(skipAnimation) {
|
|
@@ -164,6 +169,21 @@ class SwitchComponent extends DatasetAwareFormComponent {
|
|
|
164
169
|
super.onPropertyChange(key, nv, ov);
|
|
165
170
|
}
|
|
166
171
|
}
|
|
172
|
+
ngOnDestroy() {
|
|
173
|
+
// MEMORY LEAK FIX: Nullify debounced function closure
|
|
174
|
+
// This closure captures 'this' and prevents garbage collection
|
|
175
|
+
this._debounceSetSelectedValue = null;
|
|
176
|
+
// MEMORY LEAK FIX: Clear options array
|
|
177
|
+
this.options = [];
|
|
178
|
+
// MEMORY LEAK FIX: Clear selected item reference
|
|
179
|
+
this.selectedItem = null;
|
|
180
|
+
// MEMORY LEAK FIX: Clear hint array
|
|
181
|
+
if (this.hint) {
|
|
182
|
+
this.hint = [];
|
|
183
|
+
}
|
|
184
|
+
// Call parent ngOnDestroy
|
|
185
|
+
super.ngOnDestroy();
|
|
186
|
+
}
|
|
167
187
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwitchComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
168
188
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SwitchComponent, isStandalone: true, selector: "[wmSwitch]", providers: [
|
|
169
189
|
provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/switch/src/switch.props.ts","../../../../../projects/components/widgets/input/switch/src/switch.component.ts","../../../../../projects/components/widgets/input/switch/src/switch.component.html","../../../../../projects/components/widgets/input/switch/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\nimport {FormWidgetType} from '@wm/core';\n\nexport const switchProps = new Map(\n [\n ['class', PROP_STRING],\n ['compareby', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', {value: 'yes, no, maybe', ...PROP_ANY}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['hint', PROP_ANY],\n ['arialabel', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['checkediconclass', {value: '', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}]\n ]\n);\n\n\nexport const registerProps = () => {\n register(\n 'wm-switch',\n switchProps\n );\n registerFormWidget(\n FormWidgetType.SWITCH,\n new Map(switchProps)\n );\n registerFormWidget(\n FormWidgetType.TOGGLE,\n new Map(switchProps)\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {AfterViewInit, Component, Inject, Injector, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {$appDigest, debounce, isDefined, setCSS, toBoolean} from '@wm/core';\nimport { DataSetItem, provideAs, provideAsWidgetRef, styler, TextContentDirective } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input/dataset-aware-form';\n\nimport { registerProps } from './switch.props';\nimport {find, findIndex, forEach, isArray, isNull, isUndefined, trim} from \"lodash-es\";\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-switch';\nconst WIDGET_CONFIG = {widgetType: 'wm-switch', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective],\n selector: '[wmSwitch]',\n templateUrl: './switch.component.html',\n providers: [\n provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),\n provideAsWidgetRef(SwitchComponent)\n ],\n exportAs: 'wmSwitch'\n})\nexport class SwitchComponent extends DatasetAwareFormComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n options = [];\n selectedItem: DataSetItem;\n iconclass;\n checkediconclass;\n multiple: boolean;\n private btnwidth;\n public disabled: boolean;\n public required: boolean;\n private _debounceSetSelectedValue: Function;\n public name: string;\n public hint:any;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this.multiple = this.getAttr(\"multiple\") === \"true\";\n this.checkediconclass = this.getAttr(\"checkediconclass\");\n\n this._debounceSetSelectedValue = debounce((val) => {\n this.setSelectedValue();\n this.updateHighlighter(val);\n // only for default value trigger app digest to apply the selectedItem\n if (val) {\n $appDigest();\n }\n }, 200);\n\n const datasetSubscription = this.dataset$.subscribe(() => this.updateSwitchOptions());\n\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n const datavalueSubscription = this.datavalue$.subscribe(() => {\n this._debounceSetSelectedValue(true);\n });\n this.registerDestroyListener(() => datavalueSubscription.unsubscribe());\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement as HTMLElement, this);\n }\n\n onStyleChange(key: string, nv: any, ov?: any) {\n if (key === 'height') {\n setCSS(this.nativeElement, 'overflow', nv ? 'auto' : '');\n } else {\n super.onStyleChange(key, nv, ov);\n }\n }\n\n // This function sets the selectedItem by either using compareby fields or selected flag on datasetItems.\n private setSelectedValue() {\n if (isDefined(this.datavalue) || isDefined(this.toBeProcessedDatavalue)) {\n this.selectedItem = find(this.datasetItems, {selected: true});\n return;\n }\n\n // If no value is provided, set first value as default if options are available else set -1 ie no selection\n // this.selectOptAtIndex(0);\n }\n\n // set the css for switch overlay element.\n // set the selected index from the datasetItems and highlight the datavalue on switch.\n private updateSwitchOptions() {\n if (this.datasetItems.length && !this.multiple) {\n this.btnwidth = (100 / this.datasetItems.length);\n setCSS(this.nativeElement.querySelector('.app-switch-overlay') as HTMLElement, 'width', this.btnwidth + '%');\n }\n\n this._debounceSetSelectedValue(true);\n }\n\n // This function animates the highlighted span on to the selected value.\n private updateHighlighter(skipAnimation?) {\n const handler = $(this.nativeElement).find('span.app-switch-overlay');\n\n this.setSelectedValue();\n\n let left,\n index = this.selectedItem ? findIndex(this.datasetItems, {key: this.selectedItem.key}) : -1;\n\n if (index === undefined || index === null) {\n index = -1;\n }\n left = index * this.btnwidth;\n if (skipAnimation) {\n handler.css('left', left + '%');\n } else {\n handler.animate({\n left: left + '%'\n }, 300);\n }\n }\n\n selectOptAtIndex($index) {\n if (!this.datasetItems.length) {\n return;\n }\n const opt = this.datasetItems[$index];\n this._modelByValue = opt.value;\n }\n\n // Triggered on selected the option from the switch.\n // set the index and highlight the default value. Invoke onchange event handler.\n selectOpt($event, $index, option) {\n $event.preventDefault();\n\n if (this.disabled) {\n return;\n }\n\n if(this.multiple) {\n const keys = [];\n this.datasetItems[$index].selected = !this.datasetItems[$index].selected;\n forEach(this.datasetItems, (item: any) => {\n if(item.selected)\n keys.push(item.key);\n });\n this.modelByKey = keys;\n this.selectedItem = find(this.datasetItems, {selected: true});\n }\n else {\n this.modelByKey = option.key;\n if (!this.multiple && this.selectedItem && $index === findIndex(this.datasetItems, {key: this.selectedItem.key})) {\n if (this.datasetItems.length === 2) {\n $index = $index === 1 ? 0 : 1;\n } else {\n return;\n }\n }\n this.selectedItem = this.datasetItems[$index];\n this.updateHighlighter();\n }\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n $appDigest();\n }\n\n onPropertyChange(key, nv, ov?) {\n if (key === 'disabled' && !toBoolean(nv)) {\n this.nativeElement.removeAttribute(key);\n } else {\n if(key==='hint')\n {\n if (isUndefined(nv) || isNull(nv) || trim(nv) === '') {\n this.hint=[];\n }\n else if (!isArray(nv)) {\n this.hint= [nv];\n }\n }\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","<div role=\"group\" class=\"btn-group btn-group-justified\" [ngClass]=\"{'multi-select': multiple}\">\n @for (opt of datasetItems; track opt) {\n <a\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [title]=\"hint?hint:opt.key\"\n [name]=\"'wm-switch-' + opt.key\"\n role=\"button\"\n [title]=\"hint?.[opt.index-1]?hint[opt.index-1]:(hint?.[0]?hint[0]:(opt[displayfield]||opt.label))\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n [attr.aria-pressed]=\"opt.selected ? true : false\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n @if (opt.dataObject && opt.dataObject[iconclass] && (!opt.selected ||!checkediconclass)) {\n <i aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n }\n @if (opt.selected && checkediconclass) {\n <i aria-hidden=\"true\" [ngClass]=\"[checkediconclass]\"></i>\n }\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n }\n</div>\n@if (!multiple) {\n <span [title]=\"selectedItem ? selectedItem.label : modelByKey\" aria-hidden=\"true\"\n class=\"btn btn-primary app-switch-overlay switch-handle\">\n <i [ngClass]=\"[checkediconclass]\"></i>\n <span class=\"caption\">{{selectedItem ? selectedItem.label : modelByKey}}</span>\n </span>\n}\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/switch/src/switch.props.ts","../../../../../projects/components/widgets/input/switch/src/switch.component.ts","../../../../../projects/components/widgets/input/switch/src/switch.component.html","../../../../../projects/components/widgets/input/switch/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\nimport {FormWidgetType} from '@wm/core';\n\nexport const switchProps = new Map(\n [\n ['class', PROP_STRING],\n ['compareby', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', {value: 'yes, no, maybe', ...PROP_ANY}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['hint', PROP_ANY],\n ['arialabel', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['checkediconclass', {value: '', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}]\n ]\n);\n\n\nexport const registerProps = () => {\n register(\n 'wm-switch',\n switchProps\n );\n registerFormWidget(\n FormWidgetType.SWITCH,\n new Map(switchProps)\n );\n registerFormWidget(\n FormWidgetType.TOGGLE,\n new Map(switchProps)\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {AfterViewInit, Component, Inject, Injector, OnDestroy, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {$appDigest, debounce, isDefined, setCSS, toBoolean} from '@wm/core';\nimport { DataSetItem, provideAs, provideAsWidgetRef, styler, TextContentDirective } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input/dataset-aware-form';\n\nimport { registerProps } from './switch.props';\nimport {find, findIndex, forEach, isArray, isNull, isUndefined, trim} from \"lodash-es\";\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-switch';\nconst WIDGET_CONFIG = {widgetType: 'wm-switch', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective],\n selector: '[wmSwitch]',\n templateUrl: './switch.component.html',\n providers: [\n provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),\n provideAsWidgetRef(SwitchComponent)\n ],\n exportAs: 'wmSwitch'\n})\nexport class SwitchComponent extends DatasetAwareFormComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n options = [];\n selectedItem: DataSetItem;\n iconclass;\n checkediconclass;\n multiple: boolean;\n private btnwidth;\n public disabled: boolean;\n public required: boolean;\n private _debounceSetSelectedValue: Function | null = null;\n public name: string;\n public hint:any;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this.multiple = this.getAttr(\"multiple\") === \"true\";\n this.checkediconclass = this.getAttr(\"checkediconclass\");\n\n this._debounceSetSelectedValue = debounce((val) => {\n this.setSelectedValue();\n this.updateHighlighter(val);\n // only for default value trigger app digest to apply the selectedItem\n if (val) {\n $appDigest();\n }\n }, 200);\n\n const datasetSubscription = this.dataset$.subscribe(() => this.updateSwitchOptions());\n\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n const datavalueSubscription = this.datavalue$.subscribe(() => {\n if (this._debounceSetSelectedValue) {\n this._debounceSetSelectedValue(true);\n }\n });\n this.registerDestroyListener(() => datavalueSubscription.unsubscribe());\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement as HTMLElement, this);\n }\n\n onStyleChange(key: string, nv: any, ov?: any) {\n if (key === 'height') {\n setCSS(this.nativeElement, 'overflow', nv ? 'auto' : '');\n } else {\n super.onStyleChange(key, nv, ov);\n }\n }\n\n // This function sets the selectedItem by either using compareby fields or selected flag on datasetItems.\n private setSelectedValue() {\n if (isDefined(this.datavalue) || isDefined(this.toBeProcessedDatavalue)) {\n this.selectedItem = find(this.datasetItems, {selected: true});\n return;\n }\n\n // If no value is provided, set first value as default if options are available else set -1 ie no selection\n // this.selectOptAtIndex(0);\n }\n\n // set the css for switch overlay element.\n // set the selected index from the datasetItems and highlight the datavalue on switch.\n private updateSwitchOptions() {\n if (this.datasetItems.length && !this.multiple) {\n this.btnwidth = (100 / this.datasetItems.length);\n setCSS(this.nativeElement.querySelector('.app-switch-overlay') as HTMLElement, 'width', this.btnwidth + '%');\n }\n\n if (this._debounceSetSelectedValue) {\n this._debounceSetSelectedValue(true);\n }\n }\n\n // This function animates the highlighted span on to the selected value.\n private updateHighlighter(skipAnimation?) {\n const handler = $(this.nativeElement).find('span.app-switch-overlay');\n\n this.setSelectedValue();\n\n let left,\n index = this.selectedItem ? findIndex(this.datasetItems, {key: this.selectedItem.key}) : -1;\n\n if (index === undefined || index === null) {\n index = -1;\n }\n left = index * this.btnwidth;\n if (skipAnimation) {\n handler.css('left', left + '%');\n } else {\n handler.animate({\n left: left + '%'\n }, 300);\n }\n }\n\n selectOptAtIndex($index) {\n if (!this.datasetItems.length) {\n return;\n }\n const opt = this.datasetItems[$index];\n this._modelByValue = opt.value;\n }\n\n // Triggered on selected the option from the switch.\n // set the index and highlight the default value. Invoke onchange event handler.\n selectOpt($event, $index, option) {\n $event.preventDefault();\n\n if (this.disabled) {\n return;\n }\n\n if(this.multiple) {\n const keys = [];\n this.datasetItems[$index].selected = !this.datasetItems[$index].selected;\n forEach(this.datasetItems, (item: any) => {\n if(item.selected)\n keys.push(item.key);\n });\n this.modelByKey = keys;\n this.selectedItem = find(this.datasetItems, {selected: true});\n }\n else {\n this.modelByKey = option.key;\n if (!this.multiple && this.selectedItem && $index === findIndex(this.datasetItems, {key: this.selectedItem.key})) {\n if (this.datasetItems.length === 2) {\n $index = $index === 1 ? 0 : 1;\n } else {\n return;\n }\n }\n this.selectedItem = this.datasetItems[$index];\n this.updateHighlighter();\n }\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n $appDigest();\n }\n\n onPropertyChange(key, nv, ov?) {\n if (key === 'disabled' && !toBoolean(nv)) {\n this.nativeElement.removeAttribute(key);\n } else {\n if(key==='hint')\n {\n if (isUndefined(nv) || isNull(nv) || trim(nv) === '') {\n this.hint=[];\n }\n else if (!isArray(nv)) {\n this.hint= [nv];\n }\n }\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Nullify debounced function closure\n // This closure captures 'this' and prevents garbage collection\n this._debounceSetSelectedValue = null;\n\n // MEMORY LEAK FIX: Clear options array\n this.options = [];\n\n // MEMORY LEAK FIX: Clear selected item reference\n this.selectedItem = null;\n\n // MEMORY LEAK FIX: Clear hint array\n if (this.hint) {\n this.hint = [];\n }\n\n // Call parent ngOnDestroy\n super.ngOnDestroy();\n }\n}\n","<div role=\"group\" class=\"btn-group btn-group-justified\" [ngClass]=\"{'multi-select': multiple}\">\n @for (opt of datasetItems; track opt) {\n <a\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [title]=\"hint?hint:opt.key\"\n [name]=\"'wm-switch-' + opt.key\"\n role=\"button\"\n [title]=\"hint?.[opt.index-1]?hint[opt.index-1]:(hint?.[0]?hint[0]:(opt[displayfield]||opt.label))\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n [attr.aria-pressed]=\"opt.selected ? true : false\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n @if (opt.dataObject && opt.dataObject[iconclass] && (!opt.selected ||!checkediconclass)) {\n <i aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n }\n @if (opt.selected && checkediconclass) {\n <i aria-hidden=\"true\" [ngClass]=\"[checkediconclass]\"></i>\n }\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n }\n</div>\n@if (!multiple) {\n <span [title]=\"selectedItem ? selectedItem.label : modelByKey\" aria-hidden=\"true\"\n class=\"btn btn-primary app-switch-overlay switch-handle\">\n <i [ngClass]=\"[checkediconclass]\"></i>\n <span class=\"caption\">{{selectedItem ? selectedItem.label : modelByKey}}</span>\n </span>\n}\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AfterViewInit, Injector } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, Injector, OnDestroy } from '@angular/core';
|
|
2
2
|
import { DataSetItem } from '@wm/components/base';
|
|
3
3
|
import { DatasetAwareFormComponent } from '@wm/components/input/dataset-aware-form';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SwitchComponent extends DatasetAwareFormComponent implements AfterViewInit {
|
|
5
|
+
export declare class SwitchComponent extends DatasetAwareFormComponent implements AfterViewInit, OnDestroy {
|
|
6
6
|
static initializeProps: void;
|
|
7
7
|
options: any[];
|
|
8
8
|
selectedItem: DataSetItem;
|
|
@@ -24,6 +24,7 @@ export declare class SwitchComponent extends DatasetAwareFormComponent implement
|
|
|
24
24
|
selectOptAtIndex($index: any): void;
|
|
25
25
|
selectOpt($event: any, $index: any, option: any): void;
|
|
26
26
|
onPropertyChange(key: any, nv: any, ov?: any): void;
|
|
27
|
+
ngOnDestroy(): void;
|
|
27
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<SwitchComponent, [null, { optional: true; }]>;
|
|
28
29
|
static ɵcmp: i0.ɵɵComponentDeclaration<SwitchComponent, "[wmSwitch]", ["wmSwitch"], {}, {}, never, never, true, never>;
|
|
29
30
|
}
|
|
@@ -682,6 +682,13 @@
|
|
|
682
682
|
constructor(inj, explicitContext) {
|
|
683
683
|
super(inj, WIDGET_CONFIG$4, explicitContext);
|
|
684
684
|
}
|
|
685
|
+
ngOnDestroy() {
|
|
686
|
+
// MEMORY LEAK FIX: Clear ViewChild references
|
|
687
|
+
this.inputEl = null;
|
|
688
|
+
this.ngModel = null;
|
|
689
|
+
// Call parent ngOnDestroy
|
|
690
|
+
super.ngOnDestroy();
|
|
691
|
+
}
|
|
685
692
|
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: InputCalendarComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
686
693
|
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputCalendarComponent, isStandalone: true, selector: "wm-input[type=\"date\"], wm-input[type=\"datetime-local\"], wm-input[type=\"month\"], wm-input[type=\"time\"], wm-input[type=\"week\"]", providers: [
|
|
687
694
|
base.provideAs(InputCalendarComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
@@ -744,6 +751,13 @@
|
|
|
744
751
|
constructor(inj, explicitContext) {
|
|
745
752
|
super(inj, WIDGET_CONFIG$3, explicitContext);
|
|
746
753
|
}
|
|
754
|
+
ngOnDestroy() {
|
|
755
|
+
// MEMORY LEAK FIX: Clear ViewChild references
|
|
756
|
+
this.inputEl = null;
|
|
757
|
+
this.ngModel = null;
|
|
758
|
+
// Call parent ngOnDestroy
|
|
759
|
+
super.ngOnDestroy();
|
|
760
|
+
}
|
|
747
761
|
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: InputColorComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
748
762
|
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputColorComponent, isStandalone: true, selector: "wm-input[type=\"color\"]", providers: [
|
|
749
763
|
base.provideAs(InputColorComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
@@ -808,6 +822,13 @@
|
|
|
808
822
|
constructor(inj, explicitContext) {
|
|
809
823
|
super(inj, WIDGET_CONFIG$2, explicitContext);
|
|
810
824
|
}
|
|
825
|
+
ngOnDestroy() {
|
|
826
|
+
// MEMORY LEAK FIX: Clear ViewChild references
|
|
827
|
+
this.inputEl = null;
|
|
828
|
+
this.ngModel = null;
|
|
829
|
+
// Call parent ngOnDestroy
|
|
830
|
+
super.ngOnDestroy();
|
|
831
|
+
}
|
|
811
832
|
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: InputEmailComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
812
833
|
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputEmailComponent, isStandalone: true, selector: "wm-input[type=\"email\"]", providers: [
|
|
813
834
|
base.provideAs(InputEmailComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
@@ -984,6 +1005,14 @@
|
|
|
984
1005
|
super.ngOnInit();
|
|
985
1006
|
this.isFocused = !!this.datavalue;
|
|
986
1007
|
}
|
|
1008
|
+
ngOnDestroy() {
|
|
1009
|
+
// MEMORY LEAK FIX: Clear all ViewChild references
|
|
1010
|
+
this.inputEl = null;
|
|
1011
|
+
this.ngModel = null;
|
|
1012
|
+
this.imask = null;
|
|
1013
|
+
// Call parent ngOnDestroy (BaseInput → BaseFormCustomComponent → StylableComponent → BaseComponent)
|
|
1014
|
+
super.ngOnDestroy();
|
|
1015
|
+
}
|
|
987
1016
|
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: InputTextComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
988
1017
|
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputTextComponent, isStandalone: true, selector: "wm-input[type=\"text\"], wm-input:not([type]), wm-input[type=\"password\"], wm-input[type=\"search\"], wm-input[type=\"tel\"], wm-input[type=\"url\"]", providers: [
|
|
989
1018
|
base.provideAs(InputTextComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
@@ -1033,6 +1062,13 @@
|
|
|
1033
1062
|
return false;
|
|
1034
1063
|
}
|
|
1035
1064
|
}
|
|
1065
|
+
ngOnDestroy() {
|
|
1066
|
+
// MEMORY LEAK FIX: Clear ViewChild references
|
|
1067
|
+
this.inputEl = null;
|
|
1068
|
+
this.ngModel = null;
|
|
1069
|
+
// Call parent ngOnDestroy
|
|
1070
|
+
super.ngOnDestroy();
|
|
1071
|
+
}
|
|
1036
1072
|
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: InputNumberComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
1037
1073
|
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputNumberComponent, isStandalone: true, selector: "wm-input[type=\"number\"]", providers: [
|
|
1038
1074
|
base.provideAs(InputNumberComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
@@ -17,6 +17,13 @@ export class InputCalendarComponent extends BaseInput {
|
|
|
17
17
|
constructor(inj, explicitContext) {
|
|
18
18
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
19
19
|
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
// MEMORY LEAK FIX: Clear ViewChild references
|
|
22
|
+
this.inputEl = null;
|
|
23
|
+
this.ngModel = null;
|
|
24
|
+
// Call parent ngOnDestroy
|
|
25
|
+
super.ngOnDestroy();
|
|
26
|
+
}
|
|
20
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputCalendarComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
28
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputCalendarComponent, isStandalone: true, selector: "wm-input[type=\"date\"], wm-input[type=\"datetime-local\"], wm-input[type=\"month\"], wm-input[type=\"time\"], wm-input[type=\"week\"]", providers: [
|
|
22
29
|
provideAs(InputCalendarComponent, NG_VALUE_ACCESSOR, true),
|
|
@@ -43,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43
50
|
type: ViewChild,
|
|
44
51
|
args: [NgModel]
|
|
45
52
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L3RleHQvc3JjL2lucHV0LWNhbGVuZGFyL2lucHV0LWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC90ZXh0L3NyYy9pbnB1dC1jYWxlbmRhci9pbnB1dC1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWEsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVuRCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLG1CQUFtQjtJQUMvQixTQUFTLEVBQUUsbUJBQW1CO0NBQ2pDLENBQUM7QUFhRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsU0FBUzthQUMxQyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQXVCekMsWUFBWSxHQUFhLEVBQTBDLGVBQW9CO1FBQ25GLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxXQUFXO1FBQ1AsOENBQThDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLDBCQUEwQjtRQUMxQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FuQ1Esc0JBQXNCLDBDQXdCSSxrQkFBa0I7bUdBeEI1QyxzQkFBc0IscUxBTnBCO1lBQ1AsU0FBUyxDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztZQUMxRCxTQUFTLENBQUMsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQztZQUN0RCxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztTQUM3QyxvS0F3QlUsT0FBTyx1RUMvQ3RCLHl6QkF1QkEsMkNEUFksWUFBWSxpTkFBRSxXQUFXOzs0RkFTeEIsc0JBQXNCO2tCQVhsQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsWUFDeEIsOEhBQThILGFBRTdIO3dCQUNQLFNBQVMseUJBQXlCLGlCQUFpQixFQUFFLElBQUksQ0FBQzt3QkFDMUQsU0FBUyx5QkFBeUIsYUFBYSxFQUFFLElBQUksQ0FBQzt3QkFDdEQsa0JBQWtCLHdCQUF3QjtxQkFDN0M7OzBCQTBCMkIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVE7eUNBSDdCLE9BQU87c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDYixPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQge3JlZ2lzdGVyUHJvcHN9IGZyb20gJy4vaW5wdXQtY2FsZW5kYXIucHJvcHMnO1xuaW1wb3J0IHtCYXNlSW5wdXR9IGZyb20gJy4uL2Jhc2UtaW5wdXQvYmFzZS1pbnB1dCc7XG5cbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7XG4gICAgd2lkZ2V0VHlwZTogJ3dtLWlucHV0LWNhbGVuZGFyJyxcbiAgICBob3N0Q2xhc3M6ICdhcHAtaW5wdXQtd3JhcHBlcidcbn07XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICd3bS1pbnB1dFt0eXBlPVwiZGF0ZVwiXSwgd20taW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCB3bS1pbnB1dFt0eXBlPVwibW9udGhcIl0sIHdtLWlucHV0W3R5cGU9XCJ0aW1lXCJdLCB3bS1pbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKElucHV0Q2FsZW5kYXJDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKElucHV0Q2FsZW5kYXJDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoSW5wdXRDYWxlbmRhckNvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyB0eXBlOiBzdHJpbmc7XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHk6IHN0cmluZztcbiAgICBwdWJsaWMgY29uZGl0aW9uYWxjbGFzczogYW55O1xuICAgIHB1YmxpYyBjb25kaXRpb25hbHN0eWxlOiBhbnk7XG4gICAgcHVibGljIG1pbnZhbHVlOiBhbnk7XG4gICAgcHVibGljIG1heHZhbHVlOiBhbnk7XG4gICAgcHVibGljIHN0ZXA6IG51bWJlcjtcbiAgICBwdWJsaWMgdGFiaW5kZXg6IGFueTtcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IGFueTtcbiAgICBwdWJsaWMgc2hvcnRjdXRrZXk6IHN0cmluZztcbiAgICBwdWJsaWMgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIHB1YmxpYyBhdXRvY29tcGxldGU6IGFueTtcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuICAgIHB1YmxpYyBhcmlhbGFiZWw6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Jyx7c3RhdGljOiB0cnVlfSkgaW5wdXRFbDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKE5nTW9kZWwpIG5nTW9kZWw6IE5nTW9kZWw7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IENsZWFyIFZpZXdDaGlsZCByZWZlcmVuY2VzXG4gICAgICAgIHRoaXMuaW5wdXRFbCA9IG51bGw7XG4gICAgICAgIHRoaXMubmdNb2RlbCA9IG51bGw7XG5cbiAgICAgICAgLy8gQ2FsbCBwYXJlbnQgbmdPbkRlc3Ryb3lcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXRleHRib3hcIlxuICAgICAgIGZvY3VzLXRhcmdldFxuICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgWyhuZ01vZGVsKV09XCJkYXRhdmFsdWVcIlxuICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFttaW5dPVwibWludmFsdWVcIlxuICAgICAgIFttYXhdPVwibWF4dmFsdWVcIlxuICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgW2F0dHIuYWNjZXNza2V5XT1cInNob3J0Y3V0a2V5XCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbCB8fCB0eXBlICsgJyBmaWVsZCdcIlxuICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAoYmx1cik9XCJoYW5kbGVCbHVyKCRldmVudClcIlxuICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZSA/ICdvbicgOiAnb2ZmJ1wiXG4gICAgICAgW25nQ2xhc3NdPVwiY29uZGl0aW9uYWxjbGFzc1wiXG4gICAgICAgW25nU3R5bGVdPVwiY29uZGl0aW9uYWxzdHlsZVwiXG4gICAgICAgI2lucHV0PlxuIl19
|
|
@@ -17,6 +17,13 @@ export class InputColorComponent extends BaseInput {
|
|
|
17
17
|
constructor(inj, explicitContext) {
|
|
18
18
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
19
19
|
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
// MEMORY LEAK FIX: Clear ViewChild references
|
|
22
|
+
this.inputEl = null;
|
|
23
|
+
this.ngModel = null;
|
|
24
|
+
// Call parent ngOnDestroy
|
|
25
|
+
super.ngOnDestroy();
|
|
26
|
+
}
|
|
20
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputColorComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
28
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputColorComponent, isStandalone: true, selector: "wm-input[type=\"color\"]", providers: [
|
|
22
29
|
provideAs(InputColorComponent, NG_VALUE_ACCESSOR, true),
|
|
@@ -43,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43
50
|
type: ViewChild,
|
|
44
51
|
args: [NgModel]
|
|
45
52
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29sb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L3RleHQvc3JjL2lucHV0LWNvbG9yL2lucHV0LWNvbG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC90ZXh0L3NyYy9pbnB1dC1jb2xvci9pbnB1dC1jb2xvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWEsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVuRCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixTQUFTLEVBQUUsbUJBQW1CO0NBQ2pDLENBQUM7QUFhRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUzthQUN2QyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQW9CekMsWUFBWSxHQUFhLEVBQTBDLGVBQW9CO1FBQ25GLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxXQUFXO1FBQ1AsOENBQThDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLDBCQUEwQjtRQUMxQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FoQ1EsbUJBQW1CLDBDQXFCTyxrQkFBa0I7bUdBckI1QyxtQkFBbUIsdUVBTmpCO1lBQ1AsU0FBUyxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztZQUN2RCxTQUFTLENBQUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQztZQUNuRCxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztTQUMxQyxvS0FxQlUsT0FBTyx1RUM3Q3RCLGtzQkFvQkEsMkNESFksWUFBWSxpTkFBRSxXQUFXOzs0RkFTeEIsbUJBQW1CO2tCQVgvQixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsWUFDeEIsd0JBQXdCLGFBRXZCO3dCQUNQLFNBQVMsc0JBQXNCLGlCQUFpQixFQUFFLElBQUksQ0FBQzt3QkFDdkQsU0FBUyxzQkFBc0IsYUFBYSxFQUFFLElBQUksQ0FBQzt3QkFDbkQsa0JBQWtCLHFCQUFxQjtxQkFDMUM7OzBCQXVCMkIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVE7eUNBSDVCLE9BQU87c0JBQTFDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDZCxPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7cmVnaXN0ZXJQcm9wc30gZnJvbSAnLi9pbnB1dC1jb2xvci5wcm9wcyc7XG5pbXBvcnQge0Jhc2VJbnB1dH0gZnJvbSAnLi4vYmFzZS1pbnB1dC9iYXNlLWlucHV0JztcblxuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20taW5wdXQtY29sb3InLFxuICAgIGhvc3RDbGFzczogJ2FwcC1pbnB1dC13cmFwcGVyJ1xufTtcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ3dtLWlucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNvbG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKElucHV0Q29sb3JDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKElucHV0Q29sb3JDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoSW5wdXRDb2xvckNvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29sb3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIG1heGNoYXJzOiBudW1iZXI7XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgcHVibGljIGNvbmRpdGlvbmFsY2xhc3M6IGFueTtcbiAgICBwdWJsaWMgY29uZGl0aW9uYWxzdHlsZTogYW55O1xuICAgIHB1YmxpYyB0YWJpbmRleDogYW55O1xuICAgIHB1YmxpYyBzaG9ydGN1dGtleTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW47XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBwbGFjZWhvbGRlcjogYW55O1xuICAgIHB1YmxpYyB0eXBlOiBzdHJpbmc7XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgYXJpYWxhYmVsOiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtzdGF0aWM6IHRydWV9KSBpbnB1dEVsOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoTmdNb2RlbCkgbmdNb2RlbDogTmdNb2RlbDtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogQ2xlYXIgVmlld0NoaWxkIHJlZmVyZW5jZXNcbiAgICAgICAgdGhpcy5pbnB1dEVsID0gbnVsbDtcbiAgICAgICAgdGhpcy5uZ01vZGVsID0gbnVsbDtcblxuICAgICAgICAvLyBDYWxsIHBhcmVudCBuZ09uRGVzdHJveVxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBhcHAtdGV4dGJveFwiXG4gICAgICAgZm9jdXMtdGFyZ2V0XG4gICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICBbKG5nTW9kZWwpXT1cImRhdGF2YWx1ZVwiXG4gICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW21heGxlbmd0aF09XCJtYXhjaGFyc1wiXG4gICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYWxhYmVsXCJcbiAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgW25nQ2xhc3NdPVwiY29uZGl0aW9uYWxjbGFzc1wiXG4gICAgICAgW25nU3R5bGVdPVwiY29uZGl0aW9uYWxzdHlsZVwiXG4gICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpXCJcbiAgICAgICAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgI2lucHV0PlxuIl19
|
|
@@ -17,6 +17,13 @@ export class InputEmailComponent extends BaseInput {
|
|
|
17
17
|
constructor(inj, explicitContext) {
|
|
18
18
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
19
19
|
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
// MEMORY LEAK FIX: Clear ViewChild references
|
|
22
|
+
this.inputEl = null;
|
|
23
|
+
this.ngModel = null;
|
|
24
|
+
// Call parent ngOnDestroy
|
|
25
|
+
super.ngOnDestroy();
|
|
26
|
+
}
|
|
20
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputEmailComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
28
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputEmailComponent, isStandalone: true, selector: "wm-input[type=\"email\"]", providers: [
|
|
22
29
|
provideAs(InputEmailComponent, NG_VALUE_ACCESSOR, true),
|
|
@@ -43,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43
50
|
type: ViewChild,
|
|
44
51
|
args: [NgModel]
|
|
45
52
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L3RleHQvc3JjL2lucHV0LWVtYWlsL2lucHV0LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC90ZXh0L3NyYy9pbnB1dC1lbWFpbC9pbnB1dC1lbWFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWEsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVuRCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLGdCQUFnQjtJQUM1QixTQUFTLEVBQUUsbUJBQW1CO0NBQ2pDLENBQUM7QUFhRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUzthQUN2QyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQXNCekMsWUFBWSxHQUFhLEVBQTBDLGVBQW9CO1FBQ25GLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxXQUFXO1FBQ1AsOENBQThDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLDBCQUEwQjtRQUMxQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FsQ1EsbUJBQW1CLDBDQXVCTyxrQkFBa0I7bUdBdkI1QyxtQkFBbUIsdUVBTmpCO1lBQ1AsU0FBUyxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztZQUN2RCxTQUFTLENBQUMsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQztZQUNuRCxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztTQUMxQyxvS0F1QlUsT0FBTyx1RUMvQ3RCLHcxQkF3QkEsMkNEUFksWUFBWSxpTkFBRSxXQUFXOzs0RkFTeEIsbUJBQW1CO2tCQVgvQixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsWUFDeEIsd0JBQXdCLGFBRXZCO3dCQUNQLFNBQVMsc0JBQXNCLGlCQUFpQixFQUFFLElBQUksQ0FBQzt3QkFDdkQsU0FBUyxzQkFBc0IsYUFBYSxFQUFFLElBQUksQ0FBQzt3QkFDbkQsa0JBQWtCLHFCQUFxQjtxQkFDMUM7OzBCQXlCMkIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVE7eUNBSDVCLE9BQU87c0JBQTFDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDZCxPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7cmVnaXN0ZXJQcm9wc30gZnJvbSAnLi9pbnB1dC1lbWFpbC5wcm9wcyc7XG5pbXBvcnQge0Jhc2VJbnB1dH0gZnJvbSAnLi4vYmFzZS1pbnB1dC9iYXNlLWlucHV0JztcblxuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20taW5wdXQtZW1haWwnLFxuICAgIGhvc3RDbGFzczogJ2FwcC1pbnB1dC13cmFwcGVyJ1xufTtcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ3dtLWlucHV0W3R5cGU9XCJlbWFpbFwiXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWVtYWlsLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKElucHV0RW1haWxDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKElucHV0RW1haWxDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoSW5wdXRFbWFpbENvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RW1haWxDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIG1heGNoYXJzOiBudW1iZXI7XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuO1xuICAgIHB1YmxpYyBjb25kaXRpb25hbGNsYXNzOiBhbnk7XG4gICAgcHVibGljIGNvbmRpdGlvbmFsc3R5bGU6IGFueTtcbiAgICBwdWJsaWMgdGFiaW5kZXg6IGFueTtcbiAgICBwdWJsaWMgc2hvcnRjdXRrZXk6IHN0cmluZztcbiAgICBwdWJsaWMgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIHB1YmxpYyBhdXRvY29tcGxldGU6IGFueTtcbiAgICBwdWJsaWMgcmVnZXhwOiBzdHJpbmc7XG4gICAgcHVibGljIHBsYWNlaG9sZGVyOiBhbnk7XG4gICAgcHVibGljIHR5cGU6IHN0cmluZztcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuICAgIHB1YmxpYyBhcmlhbGFiZWw6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3N0YXRpYzogdHJ1ZX0pIGlucHV0RWw6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZChOZ01vZGVsKSBuZ01vZGVsOiBOZ01vZGVsO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBDbGVhciBWaWV3Q2hpbGQgcmVmZXJlbmNlc1xuICAgICAgICB0aGlzLmlucHV0RWwgPSBudWxsO1xuICAgICAgICB0aGlzLm5nTW9kZWwgPSBudWxsO1xuXG4gICAgICAgIC8vIENhbGwgcGFyZW50IG5nT25EZXN0cm95XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGFwcC10ZXh0Ym94XCJcbiAgICAgICBmb2N1cy10YXJnZXRcbiAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgIFsobmdNb2RlbCldPVwiZGF0YXZhbHVlXCJcbiAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwibmdNb2RlbE9wdGlvbnNcIlxuICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFttYXhsZW5ndGhdPVwibWF4Y2hhcnNcIlxuICAgICAgIFtwYXR0ZXJuXT1cInJlZ2V4cFwiXG4gICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYWxhYmVsXCJcbiAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgW25nQ2xhc3NdPVwiY29uZGl0aW9uYWxjbGFzc1wiXG4gICAgICAgW25nU3R5bGVdPVwiY29uZGl0aW9uYWxzdHlsZVwiXG4gICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpXCJcbiAgICAgICAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgIChrZXl1cC5lbnRlcik9XCJmbHVzaFZpZXdDaGFuZ2VzKGlucHV0LnZhbHVlKVwiXG4gICAgICAgZW1haWxcbiAgICAgICAjaW5wdXQ+XG4iXX0=
|
|
@@ -27,6 +27,13 @@ export class InputNumberComponent extends BaseInput {
|
|
|
27
27
|
return false;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
// MEMORY LEAK FIX: Clear ViewChild references
|
|
32
|
+
this.inputEl = null;
|
|
33
|
+
this.ngModel = null;
|
|
34
|
+
// Call parent ngOnDestroy
|
|
35
|
+
super.ngOnDestroy();
|
|
36
|
+
}
|
|
30
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputNumberComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
38
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: InputNumberComponent, isStandalone: true, selector: "wm-input[type=\"number\"]", providers: [
|
|
32
39
|
provideAs(InputNumberComponent, NG_VALUE_ACCESSOR, true),
|
|
@@ -53,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
53
60
|
type: ViewChild,
|
|
54
61
|
args: [NgModel]
|
|
55
62
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC90ZXh0L3NyYy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC90ZXh0L3NyYy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBYSxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFnQixTQUFTLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7O0FBRW5ELE1BQU0sYUFBYSxHQUFrQjtJQUNqQyxVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLFNBQVMsRUFBRSxtQkFBbUI7Q0FDakMsQ0FBQztBQWFGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxTQUFTO2FBQ3hDLG9CQUFlLEdBQUcsYUFBYSxFQUFFLEFBQWxCLENBQW1CO0lBeUJ6QyxZQUFZLEdBQWEsRUFBMEMsZUFBb0I7UUFDbkYsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFNO1FBQ2YsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE1BQU07UUFDNUIsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEUsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsOENBQThDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLDBCQUEwQjtRQUMxQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FqRFEsb0JBQW9CLDBDQTBCTSxrQkFBa0I7bUdBMUI1QyxvQkFBb0Isd0VBTmxCO1lBQ1AsU0FBUyxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztZQUN4RCxTQUFTLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQztZQUNwRCxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUMzQyxvS0F3QlUsT0FBTyx1RUMvQ3RCLHVrQ0E2QkEsMkNEYlksWUFBWSxpTkFBRSxXQUFXOzs0RkFTeEIsb0JBQW9CO2tCQVhoQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsWUFDeEIseUJBQXlCLGFBRXhCO3dCQUNQLFNBQVMsdUJBQXVCLGlCQUFpQixFQUFFLElBQUksQ0FBQzt3QkFDeEQsU0FBUyx1QkFBdUIsYUFBYSxFQUFFLElBQUksQ0FBQzt3QkFDcEQsa0JBQWtCLHNCQUFzQjtxQkFDM0M7OzBCQTRCMkIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVE7eUNBTDVCLE9BQU87c0JBQTFDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDZCxPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQge3JlZ2lzdGVyUHJvcHN9IGZyb20gJy4vaW5wdXQtbnVtYmVyLnByb3BzJztcbmltcG9ydCB7QmFzZUlucHV0fSBmcm9tICcuLi9iYXNlLWlucHV0L2Jhc2UtaW5wdXQnO1xuXG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1pbnB1dC1udW1iZXInLFxuICAgIGhvc3RDbGFzczogJ2FwcC1pbnB1dC13cmFwcGVyJ1xufTtcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgICBzZWxlY3RvcjogJ3dtLWlucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoSW5wdXROdW1iZXJDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKElucHV0TnVtYmVyQ29tcG9uZW50LCBOR19WQUxJREFUT1JTLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKElucHV0TnVtYmVyQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXROdW1iZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIG1heGNoYXJzOiBudW1iZXI7XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuO1xuICAgIHB1YmxpYyBjb25kaXRpb25hbGNsYXNzOiBhbnk7XG4gICAgcHVibGljIGNvbmRpdGlvbmFsc3R5bGU6IGFueTtcbiAgICBwdWJsaWMgbWludmFsdWU6IG51bWJlcjtcbiAgICBwdWJsaWMgbWF4dmFsdWU6IG51bWJlcjtcbiAgICBwdWJsaWMgdGFiaW5kZXg6IGFueTtcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IGFueTtcbiAgICBwdWJsaWMgc2hvcnRjdXRrZXk6IHN0cmluZztcbiAgICBwdWJsaWMgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIHB1YmxpYyBhdXRvY29tcGxldGU6IGFueTtcbiAgICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuICAgIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gICAgcHVibGljIGFyaWFsYWJlbDogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7c3RhdGljOiB0cnVlfSkgaW5wdXRFbDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKE5nTW9kZWwpIG5nTW9kZWw6IE5nTW9kZWw7XG5cbiAgICBwdWJsaWMgc3RlcDtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgb25BcnJvd1ByZXNzKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5zdGVwID09PSAwKSB7XG4gICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlSW5wdXRFbnRyeSgkZXZlbnQpIHtcbiAgICAgICAgaWYgKCRldmVudC5rZXkgPT09ICdlJyAmJiAgJGV2ZW50LnRhcmdldC52YWx1ZS5pbmRleE9mKCRldmVudC5rZXkpICE9PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogQ2xlYXIgVmlld0NoaWxkIHJlZmVyZW5jZXNcbiAgICAgICAgdGhpcy5pbnB1dEVsID0gbnVsbDtcbiAgICAgICAgdGhpcy5uZ01vZGVsID0gbnVsbDtcblxuICAgICAgICAvLyBDYWxsIHBhcmVudCBuZ09uRGVzdHJveVxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBhcHAtdGV4dGJveFwiXG4gICAgICAgW25nQ2xhc3NdPVwieydzdGVwLWhpZGRlbic6IHN0ZXAgPT09IDB9XCJcbiAgICAgICBmb2N1cy10YXJnZXRcbiAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgIFsobmdNb2RlbCldPVwiZGF0YXZhbHVlXCJcbiAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwibmdNb2RlbE9wdGlvbnNcIlxuICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFttYXhsZW5ndGhdPVwibWF4Y2hhcnNcIlxuICAgICAgIFttaW5dPVwibWludmFsdWVcIlxuICAgICAgIFttYXhdPVwibWF4dmFsdWVcIlxuICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgW2F0dHIuYWNjZXNza2V5XT1cInNob3J0Y3V0a2V5XCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbFwiXG4gICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgIFtuZ0NsYXNzXT1cImNvbmRpdGlvbmFsY2xhc3NcIlxuICAgICAgIFtuZ1N0eWxlXT1cImNvbmRpdGlvbmFsc3R5bGVcIlxuICAgICAgIChibHVyKT1cImhhbmRsZUJsdXIoJGV2ZW50KVwiXG4gICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICAgICAoa2V5dXAuZW50ZXIpPVwiZmx1c2hWaWV3Q2hhbmdlcyhpbnB1dC52YWx1ZSlcIlxuICAgICAgIChrZXlkb3duLkFycm93VXApPVwib25BcnJvd1ByZXNzKCRldmVudClcIlxuICAgICAgIChrZXlkb3duLkFycm93RG93bik9XCJvbkFycm93UHJlc3MoJGV2ZW50KVwiXG4gICAgICAgKGtleXByZXNzKT1cInZhbGlkYXRlSW5wdXRFbnRyeSgkZXZlbnQpXCJcbiAgICAgICAjaW5wdXQ+XG4iXX0=
|