@wavemaker-ai/app-ng-runtime 12.0.0-rc.335 → 12.0.1-rc.338
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/build-task/bundles/index.umd.js +15 -16
- package/build-task/fesm2022/index.mjs +15 -16
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/bundles/index.umd.js +9 -9
- package/components/advanced/carousel/fesm2022/index.mjs +9 -9
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/advanced/carousel/types/index.d.ts +7 -7
- package/components/advanced/custom/bundles/index.umd.js +9 -10
- package/components/advanced/custom/fesm2022/index.mjs +9 -10
- package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
- package/components/advanced/custom/types/index.d.ts +3 -3
- package/components/advanced/login/bundles/index.umd.js +3 -3
- package/components/advanced/login/fesm2022/index.mjs +3 -3
- package/components/advanced/login/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/types/index.d.ts +1 -1
- package/components/advanced/marquee/bundles/index.umd.js +3 -3
- package/components/advanced/marquee/fesm2022/index.mjs +3 -3
- package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- package/components/advanced/marquee/types/index.d.ts +1 -1
- package/components/base/bundles/index.umd.js +40 -46
- package/components/base/fesm2022/index.mjs +40 -46
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/types/index.d.ts +47 -46
- package/components/basic/anchor/bundles/index.umd.js +3 -3
- package/components/basic/anchor/fesm2022/index.mjs +3 -3
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
- package/components/basic/anchor/types/index.d.ts +3 -3
- package/components/basic/audio/bundles/index.umd.js +3 -3
- package/components/basic/audio/fesm2022/index.mjs +3 -3
- package/components/basic/audio/fesm2022/index.mjs.map +1 -1
- package/components/basic/audio/types/index.d.ts +1 -1
- package/components/basic/html/bundles/index.umd.js +10 -11
- package/components/basic/html/fesm2022/index.mjs +10 -11
- package/components/basic/html/fesm2022/index.mjs.map +1 -1
- package/components/basic/html/types/index.d.ts +3 -3
- package/components/basic/icon/bundles/index.umd.js +3 -3
- package/components/basic/icon/fesm2022/index.mjs +3 -3
- package/components/basic/icon/fesm2022/index.mjs.map +1 -1
- package/components/basic/icon/types/index.d.ts +1 -1
- package/components/basic/iframe/bundles/index.umd.js +5 -5
- package/components/basic/iframe/fesm2022/index.mjs +5 -5
- package/components/basic/iframe/fesm2022/index.mjs.map +1 -1
- package/components/basic/iframe/types/index.d.ts +3 -3
- package/components/basic/label/bundles/index.umd.js +10 -11
- package/components/basic/label/fesm2022/index.mjs +10 -11
- package/components/basic/label/fesm2022/index.mjs.map +1 -1
- package/components/basic/label/types/index.d.ts +1 -1
- package/components/basic/picture/bundles/index.umd.js +3 -3
- package/components/basic/picture/fesm2022/index.mjs +3 -3
- package/components/basic/picture/fesm2022/index.mjs.map +1 -1
- package/components/basic/picture/types/index.d.ts +2 -2
- package/components/basic/progress/progress-bar/bundles/index.umd.js +8 -10
- package/components/basic/progress/progress-bar/fesm2022/index.mjs +8 -10
- package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -1
- package/components/basic/progress/progress-bar/types/index.d.ts +2 -2
- package/components/basic/progress/progress-circle/bundles/index.umd.js +3 -3
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +3 -3
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
- package/components/basic/progress/progress-circle/types/index.d.ts +2 -2
- package/components/basic/rich-text-editor/bundles/index.umd.js +3 -3
- package/components/basic/rich-text-editor/fesm2022/index.mjs +3 -3
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- package/components/basic/rich-text-editor/types/index.d.ts +3 -3
- package/components/basic/search/bundles/index.umd.js +40 -42
- package/components/basic/search/fesm2022/index.mjs +40 -42
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/types/index.d.ts +13 -13
- package/components/basic/spinner/bundles/index.umd.js +3 -3
- package/components/basic/spinner/fesm2022/index.mjs +3 -3
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
- package/components/basic/spinner/types/index.d.ts +3 -3
- package/components/basic/tree/bundles/index.umd.js +9 -9
- package/components/basic/tree/fesm2022/index.mjs +9 -9
- package/components/basic/tree/fesm2022/index.mjs.map +1 -1
- package/components/basic/tree/types/index.d.ts +7 -7
- package/components/basic/video/bundles/index.umd.js +3 -3
- package/components/basic/video/fesm2022/index.mjs +3 -3
- package/components/basic/video/fesm2022/index.mjs.map +1 -1
- package/components/basic/video/types/index.d.ts +2 -2
- package/components/chart/bundles/index.umd.js +19 -22
- package/components/chart/fesm2022/index.mjs +20 -23
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/chart/types/index.d.ts +9 -9
- package/components/containers/accordion/bundles/index.umd.js +10 -12
- package/components/containers/accordion/fesm2022/index.mjs +10 -12
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/types/index.d.ts +9 -9
- package/components/containers/layout-grid/bundles/index.umd.js +9 -9
- package/components/containers/layout-grid/fesm2022/index.mjs +9 -9
- package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- package/components/containers/layout-grid/types/index.d.ts +4 -4
- package/components/containers/linear-layout/bundles/index.umd.js +6 -6
- package/components/containers/linear-layout/fesm2022/index.mjs +6 -6
- package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- package/components/containers/linear-layout/types/index.d.ts +2 -2
- package/components/containers/panel/bundles/index.umd.js +3 -3
- package/components/containers/panel/fesm2022/index.mjs +3 -3
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/types/index.d.ts +3 -3
- package/components/containers/tabs/bundles/index.umd.js +9 -9
- package/components/containers/tabs/fesm2022/index.mjs +9 -9
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/types/index.d.ts +8 -8
- package/components/containers/tile/bundles/index.umd.js +3 -3
- package/components/containers/tile/fesm2022/index.mjs +3 -3
- package/components/containers/tile/fesm2022/index.mjs.map +1 -1
- package/components/containers/tile/types/index.d.ts +1 -1
- package/components/containers/wizard/bundles/index.umd.js +18 -18
- package/components/containers/wizard/fesm2022/index.mjs +18 -18
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/types/index.d.ts +8 -8
- package/components/data/card/bundles/index.umd.js +12 -12
- package/components/data/card/fesm2022/index.mjs +12 -12
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/card/types/index.d.ts +6 -6
- package/components/data/form/bundles/index.umd.js +72 -75
- package/components/data/form/fesm2022/index.mjs +72 -77
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/types/index.d.ts +29 -29
- package/components/data/list/bundles/index.umd.js +22 -27
- package/components/data/list/fesm2022/index.mjs +22 -27
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/types/index.d.ts +23 -23
- package/components/data/live-table/bundles/index.umd.js +3 -3
- package/components/data/live-table/fesm2022/index.mjs +3 -3
- package/components/data/live-table/fesm2022/index.mjs.map +1 -1
- package/components/data/live-table/types/index.d.ts +5 -5
- package/components/data/pagination/bundles/index.umd.js +27 -28
- package/components/data/pagination/fesm2022/index.mjs +27 -28
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/types/index.d.ts +1 -1
- package/components/data/table/bundles/index.umd.js +131 -142
- package/components/data/table/fesm2022/index.mjs +131 -143
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/types/index.d.ts +20 -20
- package/components/dialogs/alert-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/types/index.d.ts +1 -1
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/confirm-dialog/types/index.d.ts +1 -1
- package/components/dialogs/default/bundles/index.umd.js +12 -12
- package/components/dialogs/default/fesm2022/index.mjs +12 -12
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/default/types/index.d.ts +3 -3
- package/components/dialogs/design-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/design-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/types/index.d.ts +1 -1
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/types/index.d.ts +1 -1
- package/components/dialogs/login-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/login-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/login-dialog/types/index.d.ts +2 -2
- package/components/dialogs/partial-dialog/bundles/index.umd.js +3 -3
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -3
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/types/index.d.ts +1 -1
- package/components/input/base-form/bundles/index.umd.js +4 -4
- package/components/input/base-form/fesm2022/index.mjs +4 -4
- package/components/input/base-form/fesm2022/index.mjs.map +1 -1
- package/components/input/base-form-custom/bundles/index.umd.js +3 -3
- package/components/input/base-form-custom/fesm2022/index.mjs +3 -3
- package/components/input/button/bundles/index.umd.js +3 -3
- package/components/input/button/fesm2022/index.mjs +3 -3
- package/components/input/button/fesm2022/index.mjs.map +1 -1
- package/components/input/button/types/index.d.ts +1 -1
- package/components/input/button-group/bundles/index.umd.js +3 -3
- package/components/input/button-group/fesm2022/index.mjs +3 -3
- package/components/input/button-group/fesm2022/index.mjs.map +1 -1
- package/components/input/button-group/types/index.d.ts +1 -1
- package/components/input/calendar/bundles/index.umd.js +4 -4
- package/components/input/calendar/fesm2022/index.mjs +4 -5
- package/components/input/calendar/fesm2022/index.mjs.map +1 -1
- package/components/input/calendar/types/index.d.ts +9 -9
- package/components/input/caption-position/bundles/index.umd.js +5 -5
- package/components/input/caption-position/fesm2022/index.mjs +5 -5
- package/components/input/caption-position/fesm2022/index.mjs.map +1 -1
- package/components/input/caption-position/types/index.d.ts +4 -4
- package/components/input/checkbox/bundles/index.umd.js +3 -3
- package/components/input/checkbox/fesm2022/index.mjs +3 -3
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/types/index.d.ts +2 -2
- package/components/input/checkboxset/bundles/index.umd.js +4 -4
- package/components/input/checkboxset/fesm2022/index.mjs +4 -4
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
- package/components/input/checkboxset/types/index.d.ts +2 -2
- package/components/input/chips/bundles/index.umd.js +5 -5
- package/components/input/chips/fesm2022/index.mjs +5 -5
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/types/index.d.ts +14 -14
- package/components/input/color-picker/bundles/index.umd.js +3 -3
- package/components/input/color-picker/fesm2022/index.mjs +3 -3
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/types/index.d.ts +2 -2
- package/components/input/composite/bundles/index.umd.js +3 -3
- package/components/input/composite/fesm2022/index.mjs +3 -3
- package/components/input/composite/fesm2022/index.mjs.map +1 -1
- package/components/input/composite/types/index.d.ts +1 -1
- package/components/input/currency/bundles/index.umd.js +3 -3
- package/components/input/currency/fesm2022/index.mjs +3 -3
- package/components/input/currency/fesm2022/index.mjs.map +1 -1
- package/components/input/currency/types/index.d.ts +3 -3
- package/components/input/dataset-aware-form/bundles/index.umd.js +7 -7
- package/components/input/dataset-aware-form/fesm2022/index.mjs +7 -7
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
- package/components/input/dataset-aware-form/types/index.d.ts +1 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +10 -15
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +10 -15
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/base-date-time/types/index.d.ts +2 -2
- package/components/input/epoch/date/bundles/index.umd.js +5 -5
- package/components/input/epoch/date/fesm2022/index.mjs +5 -5
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date/types/index.d.ts +4 -4
- package/components/input/epoch/date-time/bundles/index.umd.js +3 -3
- package/components/input/epoch/date-time/fesm2022/index.mjs +3 -3
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date-time/types/index.d.ts +8 -8
- package/components/input/epoch/date-time-picker/bundles/index.umd.js +8 -8
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs +8 -8
- package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date-time-picker/types/index.d.ts +6 -7
- package/components/input/epoch/picker/bundles/index.umd.js +6 -6
- package/components/input/epoch/picker/fesm2022/index.mjs +6 -6
- package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/time/bundles/index.umd.js +4 -5
- package/components/input/epoch/time/fesm2022/index.mjs +5 -6
- package/components/input/epoch/time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/time/types/index.d.ts +4 -4
- package/components/input/file-upload/bundles/index.umd.js +4 -4
- package/components/input/file-upload/fesm2022/index.mjs +4 -4
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/types/index.d.ts +5 -5
- package/components/input/number/bundles/index.umd.js +3 -3
- package/components/input/number/fesm2022/index.mjs +3 -3
- package/components/input/number/fesm2022/index.mjs.map +1 -1
- package/components/input/number/types/index.d.ts +1 -1
- package/components/input/radioset/bundles/index.umd.js +4 -4
- package/components/input/radioset/fesm2022/index.mjs +4 -4
- package/components/input/radioset/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/types/index.d.ts +2 -2
- package/components/input/rating/bundles/index.umd.js +9 -11
- package/components/input/rating/fesm2022/index.mjs +9 -11
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/types/index.d.ts +2 -2
- package/components/input/select/bundles/index.umd.js +4 -4
- package/components/input/select/fesm2022/index.mjs +4 -4
- package/components/input/select/fesm2022/index.mjs.map +1 -1
- package/components/input/select/types/index.d.ts +1 -1
- package/components/input/slider/bundles/index.umd.js +3 -3
- package/components/input/slider/fesm2022/index.mjs +3 -3
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/types/index.d.ts +1 -1
- package/components/input/switch/bundles/index.umd.js +3 -3
- package/components/input/switch/fesm2022/index.mjs +3 -3
- package/components/input/switch/fesm2022/index.mjs.map +1 -1
- package/components/input/switch/types/index.d.ts +1 -1
- package/components/input/text/bundles/index.umd.js +31 -35
- package/components/input/text/fesm2022/index.mjs +31 -35
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/types/index.d.ts +12 -12
- package/components/input/textarea/bundles/index.umd.js +3 -3
- package/components/input/textarea/fesm2022/index.mjs +3 -3
- package/components/input/textarea/fesm2022/index.mjs.map +1 -1
- package/components/input/textarea/types/index.d.ts +2 -2
- package/components/navigation/breadcrumb/bundles/index.umd.js +3 -3
- package/components/navigation/breadcrumb/fesm2022/index.mjs +3 -3
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/breadcrumb/types/index.d.ts +4 -4
- package/components/navigation/menu/bundles/index.umd.js +25 -33
- package/components/navigation/menu/fesm2022/index.mjs +25 -33
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/types/index.d.ts +21 -21
- package/components/navigation/navbar/bundles/index.umd.js +3 -3
- package/components/navigation/navbar/fesm2022/index.mjs +3 -3
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/types/index.d.ts +1 -1
- package/components/navigation/popover/bundles/index.umd.js +4 -4
- package/components/navigation/popover/fesm2022/index.mjs +4 -4
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/types/index.d.ts +4 -4
- package/components/page/default/bundles/index.umd.js +23 -23
- package/components/page/default/fesm2022/index.mjs +23 -23
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/default/types/index.d.ts +14 -14
- package/components/page/footer/bundles/index.umd.js +3 -3
- package/components/page/footer/fesm2022/index.mjs +3 -3
- package/components/page/footer/fesm2022/index.mjs.map +1 -1
- package/components/page/footer/types/index.d.ts +1 -1
- package/components/page/header/bundles/index.umd.js +3 -3
- package/components/page/header/fesm2022/index.mjs +3 -3
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/types/index.d.ts +1 -1
- package/components/page/left-panel/bundles/index.umd.js +5 -5
- package/components/page/left-panel/fesm2022/index.mjs +5 -5
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/left-panel/types/index.d.ts +3 -3
- package/components/page/right-panel/bundles/index.umd.js +3 -3
- package/components/page/right-panel/fesm2022/index.mjs +3 -3
- package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/right-panel/types/index.d.ts +1 -1
- package/components/page/top-nav/bundles/index.umd.js +3 -3
- package/components/page/top-nav/fesm2022/index.mjs +3 -3
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- package/components/page/top-nav/types/index.d.ts +1 -1
- package/components/prefab/bundles/index.umd.js +7 -7
- package/components/prefab/fesm2022/index.mjs +7 -7
- package/components/prefab/fesm2022/index.mjs.map +1 -1
- package/components/prefab/types/index.d.ts +3 -3
- package/core/bundles/index.umd.js +84 -89
- package/core/fesm2022/index.mjs +84 -89
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/types/index.d.ts +11 -11
- package/http/bundles/index.umd.js +6 -6
- package/http/fesm2022/index.mjs +6 -6
- package/http/fesm2022/index.mjs.map +1 -1
- package/http/types/index.d.ts +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/bundles/index.umd.js +17 -21
- package/oAuth/fesm2022/index.mjs +17 -21
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/types/index.d.ts +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +253 -275
- package/runtime/base/fesm2022/index.mjs +253 -275
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/types/index.d.ts +90 -96
- package/runtime/dynamic/bundles/index.umd.js +28 -28
- package/runtime/dynamic/fesm2022/index.mjs +28 -28
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/runtime/dynamic/types/index.d.ts +22 -22
- package/scripts/datatable/datatable.js +293 -271
- package/scripts/tree-keyboard-navigation/keyboard-navigation.js +68 -56
- package/security/bundles/index.umd.js +6 -6
- package/security/fesm2022/index.mjs +6 -6
- package/security/fesm2022/index.mjs.map +1 -1
- package/security/types/index.d.ts +5 -5
- package/transpiler/bundles/index.umd.js +3 -5
- package/transpiler/fesm2022/index.mjs +3 -5
- package/transpiler/fesm2022/index.mjs.map +1 -1
- package/variables/bundles/index.umd.js +69 -71
- package/variables/fesm2022/index.mjs +69 -72
- package/variables/fesm2022/index.mjs.map +1 -1
- package/variables/types/index.d.ts +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/checkbox/src/checkbox.props.ts","../../../../../projects/components/widgets/input/checkbox/src/checkbox.component.ts","../../../../../projects/components/widgets/input/checkbox/src/checkbox.component.html","../../../../../projects/components/widgets/input/checkbox/src/index.ts"],"sourcesContent":["import {FormWidgetType} from '@wm/core';\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const checkboxProps = new Map(\n [\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['conditionalclass', PROP_ANY],\n ['conditionalstyle', PROP_ANY],\n ['checkedvalue', {value: true, ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['name', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['uncheckedvalue', {value: false, ...PROP_STRING}],\n ['unselectedicon', PROP_STRING],\n ['selectedicon', PROP_STRING],\n ['unselectediconurl', PROP_STRING],\n ['selectediconurl', PROP_STRING]\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-checkbox',\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.CHECKBOX,\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.TOGGLE,\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.ICONBUTTONTOGGLE,\n checkboxProps\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport {\n AfterViewInit,\n Attribute,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport {NG_VALIDATORS, NG_VALUE_ACCESSOR, NgModel} from '@angular/forms';\n\nimport {isDefined, toggleClass} from '@wm/core';\nimport {IWidgetConfig, provideAs, provideAsWidgetRef, styler, WmAppIconComponent} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input/base-form-custom';\n\nimport {registerProps} from './checkbox.props';\n\nconst DEFAULT_CLS = 'app-checkbox checkbox';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-checkbox',\n hostClass: DEFAULT_CLS\n};\n\n/*\n * try to convert the chekedvalue and unchecked values to boolean/number\n */\nexport const unStringify = (val, defaultVal?) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, WmAppIconComponent],\n selector: '[wmCheckbox]',\n templateUrl: './checkbox.component.html',\n providers: [\n provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),\n provideAs(CheckboxComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(CheckboxComponent)\n ]\n})\nexport class CheckboxComponent extends BaseFormCustomComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public proxyModel: boolean;\n public disabled: boolean;\n public readonly: boolean;\n public required: boolean;\n public name: string;\n public hint: string;\n public arialabel: string;\n public shortcutkey: string;\n public tabindex: any;\n public _caption = ' ';\n private _checkedvalue;\n private _uncheckedvalue;\n public unselectedicon;\n public selectedicon;\n public unselectediconurl;\n public selectediconurl;\n\n\n @ViewChild(NgModel) ngModel: NgModel;\n @ViewChild('checkbox', { static: true, read: ElementRef }) checkboxEl: ElementRef;\n\n // if the checkbox is checked, return checkedvalue else return uncheckedvalue\n // @ts-ignore\n public get datavalue() {\n return isDefined(this.proxyModel) ? (this.proxyModel ? this._checkedvalue : this._uncheckedvalue) : undefined;\n }\n // when the datavalue is set, update the checked state\n // @ts-ignore\n public set datavalue(v) {\n this.proxyModel = (isDefined(v) && v !== '') ? v === this._checkedvalue : undefined;\n this.updatePrevDatavalue(this.datavalue);\n }\n\n constructor(\n inj: Injector,\n @Attribute('checkedvalue') checkedVal,\n @Attribute('uncheckedvalue') uncheckedVal,\n @Attribute('type') public type,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n if(type === 'button'){\n WIDGET_CONFIG.hostClass = 'app-iconbutton-toggle'\n }else{\n WIDGET_CONFIG.hostClass = DEFAULT_CLS\n }\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this._checkedvalue = unStringify(checkedVal, true);\n this._uncheckedvalue = unStringify(uncheckedVal, false);\n\n // if the type of the checkbox is toggle update the related classes on the host node\n toggleClass(this.nativeElement, 'app-toggle', type === 'toggle');\n }\n\n onPropertyChange(key, nv, ov) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n\n if (key === 'caption') {\n if (!isDefined(nv) || nv === '') {\n this._caption = ' ';\n } else {\n this._caption = nv;\n }\n } else if (key === 'checkedvalue') {\n this._checkedvalue = unStringify(nv, true);\n } else if (key === 'uncheckedvalue') {\n this._uncheckedvalue = unStringify(nv, false);\n } else if (key === 'datavalue') {\n this.datavalue = unStringify(nv);\n this._onChange(this.datavalue);\n }else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n // change and blur events are handled from template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n // applying tap (Hammer event) on the label as the event handler is not getting triggered on the input.\n const $el = eventName === 'tap' ? this.nativeElement.querySelector('label') : this.checkboxEl.nativeElement;\n super.handleEvent($el, eventName, callback, locals);\n }\n }\n\n handleChange(newVal: boolean) {\n this.invokeOnChange(this.datavalue, {type: 'change'}, this.ngModel.valid);\n }\n\n @HostListener('keydown.enter', ['$event'])\n onKeyDown($event: KeyboardEvent) {\n $event.preventDefault();\n this.checkboxEl.nativeElement.click();\n }\n\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement.querySelector('label'), this);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild references\n this.ngModel = null;\n this.checkboxEl = null;\n\n // Call parent ngOnDestroy\n super.ngOnDestroy();\n }\n}\n","<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption), 'icon-button-toggle': type === 'button'}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\" *ngIf=\"type != 'button' && type != 'toggle'\"></span>\n <!-- Icon toggle button -->\n <span class=\"caption fa-xs text-center\" *ngIf=\"type == 'toggle'\">\n <wm-app-icon [iconclass]=\"unselectedicon\" [iconurl]=\"unselectediconurl\" [defaulticonclass]=\"'start-icon'\" *ngIf=\"!proxyModel\"></wm-app-icon> \n <wm-app-icon [iconclass]=\"selectedicon\" [iconurl]=\"selectediconurl\" [defaulticonclass]=\"'end-icon'\" *ngIf=\"proxyModel\"></wm-app-icon> \n </span>\n <wm-app-icon [iconclass]=\"unselectedicon\" [iconurl]=\"unselectediconurl\" [defaultIconClass]=\"'toggle-icon'\" [alt]=\"'Unselected icon'\" *ngIf=\"type === 'button' && !proxyModel\"></wm-app-icon>\n <wm-app-icon [iconclass]=\"selectedicon\" [iconurl]=\"selectediconurl\" [defaultIconClass]=\"'toggle-icon'\" [alt]=\"'Selected icon'\" *ngIf=\"proxyModel && type === 'button'\"></wm-app-icon>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\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/checkbox/src/checkbox.props.ts","../../../../../projects/components/widgets/input/checkbox/src/checkbox.component.ts","../../../../../projects/components/widgets/input/checkbox/src/checkbox.component.html","../../../../../projects/components/widgets/input/checkbox/src/index.ts"],"sourcesContent":["import {FormWidgetType} from '@wm/core';\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const checkboxProps = new Map(\n [\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['conditionalclass', PROP_ANY],\n ['conditionalstyle', PROP_ANY],\n ['checkedvalue', {value: true, ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['name', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['uncheckedvalue', {value: false, ...PROP_STRING}],\n ['unselectedicon', PROP_STRING],\n ['selectedicon', PROP_STRING],\n ['unselectediconurl', PROP_STRING],\n ['selectediconurl', PROP_STRING]\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-checkbox',\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.CHECKBOX,\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.TOGGLE,\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.ICONBUTTONTOGGLE,\n checkboxProps\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgModel } from '@angular/forms';\nimport {\n AfterViewInit,\n Attribute,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\n\nimport {isDefined, toggleClass} from '@wm/core';\nimport {IWidgetConfig, provideAs, provideAsWidgetRef, styler, WmAppIconComponent} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input/base-form-custom';\n\nimport {registerProps} from './checkbox.props';\n\nconst DEFAULT_CLS = 'app-checkbox checkbox';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-checkbox',\n hostClass: DEFAULT_CLS\n};\n\n/*\n * try to convert the chekedvalue and unchecked values to boolean/number\n */\nexport const unStringify = (val, defaultVal?) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, WmAppIconComponent],\n selector: '[wmCheckbox]',\n templateUrl: './checkbox.component.html',\n providers: [\n provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),\n provideAs(CheckboxComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(CheckboxComponent)\n ]\n})\nexport class CheckboxComponent extends BaseFormCustomComponent implements OnInit, AfterViewInit, OnDestroy {\n static readonly initializeProps = registerProps();\n\n public proxyModel: boolean;\n public disabled: boolean;\n public readonly: boolean;\n public required: boolean;\n public name: string;\n public hint: string;\n public arialabel: string;\n public shortcutkey: string;\n public tabindex: any;\n public _caption = ' ';\n private _checkedvalue;\n private _uncheckedvalue;\n public unselectedicon;\n public selectedicon;\n public unselectediconurl;\n public selectediconurl;\n\n @ViewChild(NgModel) ngModel: NgModel;\n @ViewChild('checkbox', { static: true, read: ElementRef }) checkboxEl: ElementRef;\n\n // if the checkbox is checked, return checkedvalue else return uncheckedvalue\n // @ts-ignore\n public get datavalue() {\n return isDefined(this.proxyModel) ? (this.proxyModel ? this._checkedvalue : this._uncheckedvalue) : undefined;\n }\n // when the datavalue is set, update the checked state\n // @ts-ignore\n public set datavalue(v) {\n this.proxyModel = (isDefined(v) && v !== '') ? v === this._checkedvalue : undefined;\n this.updatePrevDatavalue(this.datavalue);\n }\n\n constructor(\n inj: Injector,\n @Attribute('checkedvalue') checkedVal,\n @Attribute('uncheckedvalue') uncheckedVal,\n @Attribute('type') public type,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n if(type === 'button'){\n WIDGET_CONFIG.hostClass = 'app-iconbutton-toggle'\n }else{\n WIDGET_CONFIG.hostClass = DEFAULT_CLS\n }\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this._checkedvalue = unStringify(checkedVal, true);\n this._uncheckedvalue = unStringify(uncheckedVal, false);\n\n // if the type of the checkbox is toggle update the related classes on the host node\n toggleClass(this.nativeElement, 'app-toggle', type === 'toggle');\n }\n\n onPropertyChange(key, nv, ov) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n\n if (key === 'caption') {\n if (!isDefined(nv) || nv === '') {\n this._caption = ' ';\n } else {\n this._caption = nv;\n }\n } else if (key === 'checkedvalue') {\n this._checkedvalue = unStringify(nv, true);\n } else if (key === 'uncheckedvalue') {\n this._uncheckedvalue = unStringify(nv, false);\n } else if (key === 'datavalue') {\n this.datavalue = unStringify(nv);\n this._onChange(this.datavalue);\n }else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n // change and blur events are handled from template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n // applying tap (Hammer event) on the label as the event handler is not getting triggered on the input.\n const $el = eventName === 'tap' ? this.nativeElement.querySelector('label') : this.checkboxEl.nativeElement;\n super.handleEvent($el, eventName, callback, locals);\n }\n }\n\n handleChange(newVal: boolean) {\n this.invokeOnChange(this.datavalue, {type: 'change'}, this.ngModel.valid);\n }\n\n @HostListener('keydown.enter', ['$event'])\n onKeyDown($event: KeyboardEvent) {\n $event.preventDefault();\n this.checkboxEl.nativeElement.click();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement.querySelector('label'), this);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild references\n this.ngModel = null;\n this.checkboxEl = null;\n\n // Call parent ngOnDestroy\n super.ngOnDestroy();\n }\n}\n","<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption), 'icon-button-toggle': type === 'button'}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\" *ngIf=\"type != 'button' && type != 'toggle'\"></span>\n <!-- Icon toggle button -->\n <span class=\"caption fa-xs text-center\" *ngIf=\"type == 'toggle'\">\n <wm-app-icon [iconclass]=\"unselectedicon\" [iconurl]=\"unselectediconurl\" [defaulticonclass]=\"'start-icon'\" *ngIf=\"!proxyModel\"></wm-app-icon> \n <wm-app-icon [iconclass]=\"selectedicon\" [iconurl]=\"selectediconurl\" [defaulticonclass]=\"'end-icon'\" *ngIf=\"proxyModel\"></wm-app-icon> \n </span>\n <wm-app-icon [iconclass]=\"unselectedicon\" [iconurl]=\"unselectediconurl\" [defaultIconClass]=\"'toggle-icon'\" [alt]=\"'Unselected icon'\" *ngIf=\"type === 'button' && !proxyModel\"></wm-app-icon>\n <wm-app-icon [iconclass]=\"selectedicon\" [iconurl]=\"selectediconurl\" [defaultIconClass]=\"'toggle-icon'\" [alt]=\"'Selected icon'\" *ngIf=\"proxyModel && type === 'button'\"></wm-app-icon>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import { NgModel } from '@angular/forms';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
3
|
import { OnInit, AfterViewInit, OnDestroy, ElementRef, Injector } from '@angular/core';
|
|
3
|
-
import { NgModel } from '@angular/forms';
|
|
4
4
|
import { BaseFormCustomComponent } from '@wm/components/input/base-form-custom';
|
|
5
5
|
|
|
6
6
|
declare const unStringify: (val: any, defaultVal?: any) => any;
|
|
7
7
|
declare class CheckboxComponent extends BaseFormCustomComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
8
8
|
type: any;
|
|
9
|
-
static initializeProps: void;
|
|
9
|
+
static readonly initializeProps: void;
|
|
10
10
|
proxyModel: boolean;
|
|
11
11
|
disabled: boolean;
|
|
12
12
|
readonly: boolean;
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
}
|
|
72
72
|
triggerInvokeOnChange(keys, $event) {
|
|
73
73
|
this.modelByKey = keys;
|
|
74
|
-
if (this.viewParent.containerWidget
|
|
74
|
+
if (this.viewParent.containerWidget?.updateDataValue)
|
|
75
75
|
this.viewParent.containerWidget.updateDataValue(this.datavalue);
|
|
76
76
|
this.invokeOnTouched();
|
|
77
77
|
// invoke on datavalue change.
|
|
@@ -149,14 +149,14 @@
|
|
|
149
149
|
}
|
|
150
150
|
super.ngOnDestroy();
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
153
|
-
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
152
|
+
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: CheckboxsetComponent, deps: [{ token: i0__namespace.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: CheckboxsetComponent, isStandalone: true, selector: "[wmCheckboxset]", host: { listeners: { "keydown.enter": "onKeyDown($event)" } }, providers: [
|
|
154
154
|
base.provideAs(CheckboxsetComponent, forms.NG_VALUE_ACCESSOR, true),
|
|
155
155
|
base.provideAs(CheckboxsetComponent, forms.NG_VALIDATORS, true),
|
|
156
156
|
base.provideAsWidgetRef(CheckboxsetComponent)
|
|
157
157
|
], exportAs: ["wmCheckboxset"], usesInheritance: true, ngImport: i0__namespace, template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "directive", type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: base.TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "directive", type: base.ItemTemplateDirective, selector: "[wmItemTemplate]", inputs: ["userComponentParams", "wmItemTemplate"], exportAs: ["itemTemplateRef"] }, { kind: "directive", type: base.PartialParamHandlerDirective, selector: "[partialContainer]" }, { kind: "directive", type: base.PartialContainerDirective, selector: "[partialContainer]" }] }); }
|
|
158
158
|
}
|
|
159
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
159
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: CheckboxsetComponent, decorators: [{
|
|
160
160
|
type: i0.Component,
|
|
161
161
|
args: [{ standalone: true, imports: [i1.CommonModule, base.TextContentDirective, base.ItemTemplateDirective, base.PartialParamHandlerDirective, base.PartialContainerDirective], selector: '[wmCheckboxset]', exportAs: 'wmCheckboxset', providers: [
|
|
162
162
|
base.provideAs(CheckboxsetComponent, forms.NG_VALUE_ACCESSOR, true),
|
|
@@ -55,7 +55,7 @@ class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
|
55
55
|
}
|
|
56
56
|
triggerInvokeOnChange(keys, $event) {
|
|
57
57
|
this.modelByKey = keys;
|
|
58
|
-
if (this.viewParent.containerWidget
|
|
58
|
+
if (this.viewParent.containerWidget?.updateDataValue)
|
|
59
59
|
this.viewParent.containerWidget.updateDataValue(this.datavalue);
|
|
60
60
|
this.invokeOnTouched();
|
|
61
61
|
// invoke on datavalue change.
|
|
@@ -133,14 +133,14 @@ class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
|
133
133
|
}
|
|
134
134
|
super.ngOnDestroy();
|
|
135
135
|
}
|
|
136
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
136
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: CheckboxsetComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: CheckboxsetComponent, isStandalone: true, selector: "[wmCheckboxset]", host: { listeners: { "keydown.enter": "onKeyDown($event)" } }, providers: [
|
|
138
138
|
provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
|
|
139
139
|
provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
|
|
140
140
|
provideAsWidgetRef(CheckboxsetComponent)
|
|
141
141
|
], exportAs: ["wmCheckboxset"], usesInheritance: true, ngImport: i0, template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "directive", type: ItemTemplateDirective, selector: "[wmItemTemplate]", inputs: ["userComponentParams", "wmItemTemplate"], exportAs: ["itemTemplateRef"] }, { kind: "directive", type: PartialParamHandlerDirective, selector: "[partialContainer]" }, { kind: "directive", type: PartialContainerDirective, selector: "[partialContainer]" }] }); }
|
|
142
142
|
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: CheckboxsetComponent, decorators: [{
|
|
144
144
|
type: Component,
|
|
145
145
|
args: [{ standalone: true, imports: [CommonModule, TextContentDirective, ItemTemplateDirective, PartialParamHandlerDirective, PartialContainerDirective], selector: '[wmCheckboxset]', exportAs: 'wmCheckboxset', providers: [
|
|
146
146
|
provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.props.ts","../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.component.ts","../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.component.html","../../../../../projects/components/widgets/input/checkboxset/src/index.ts"],"sourcesContent":["import { FormWidgetType } from '@wm/core';\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const checkboxsetProps = new Map(\n [\n ['class', PROP_STRING],\n ['collapsible', PROP_BOOLEAN],\n ['compareby', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', {value: 'Option 1, Option 2, Option 3', ...PROP_ANY}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['dateformat', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['displayValue', PROP_STRING],\n ['groupby', PROP_STRING],\n ['itemclass', {value: '', ...PROP_STRING}],\n ['itemsperrow', {value: 'xs-1 sm-1 md-1 lg-1', ...PROP_STRING}],\n ['listclass', {value: '', ...PROP_STRING}],\n ['match', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcount', PROP_BOOLEAN],\n ['showindevice', {displayType: 'inline-block', value: 'all', ...PROP_STRING}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['usekeys', PROP_BOOLEAN],\n ['layout', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-checkboxset',\n checkboxsetProps\n );\n registerFormWidget(\n FormWidgetType.CHECKBOXSET,\n new Map(checkboxsetProps)\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {Component, HostListener, Inject, Injector, OnDestroy, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {setListClass} from '@wm/core';\nimport { ItemTemplateDirective, IWidgetConfig, PartialContainerDirective, PartialParamHandlerDirective, provideAs, provideAsWidgetRef, styler, TextContentDirective } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input/dataset-aware-form';\n\nimport { registerProps } from './checkboxset.props';\nimport {forEach, includes} from \"lodash-es\";\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-checkboxset list-group inline';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-checkboxset', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, ItemTemplateDirective, PartialParamHandlerDirective, PartialContainerDirective],\n selector: '[wmCheckboxset]',\n exportAs: 'wmCheckboxset',\n templateUrl: 'checkboxset.component.html',\n providers: [\n provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),\n provideAs(CheckboxsetComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(CheckboxsetComponent)\n ]\n})\n\nexport class CheckboxsetComponent extends DatasetAwareFormComponent implements OnDestroy {\n static initializeProps = registerProps();\n\n public layout = '';\n public collapsible: boolean;\n\n protected match: string;\n protected dateformat: string;\n\n public disabled: boolean;\n public itemsperrow: string;\n private itemsPerRowClass: string;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n this.multiple = true;\n }\n\n triggerInvokeOnChange(keys, $event) {\n this.modelByKey = keys;\n\n if(this.viewParent.containerWidget && this.viewParent.containerWidget.updateDataValue)\n this.viewParent.containerWidget.updateDataValue(this.datavalue);\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n onCheckboxLabelClick($event, key) {\n if (!$($event.target).is('input')) {\n return;\n }\n\n // construct the _model from the checked elements.\n const inputElements = this.nativeElement.querySelectorAll('input:checked');\n const keys = [];\n forEach(inputElements, ($el) => {\n // @ts-ignore\n keys.push($el.value);\n });\n\n this.triggerInvokeOnChange(keys, $event);\n }\n\n private eventListeners: Map<HTMLElement, Function> = new Map();\n\n // change and blur events are added from the template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (eventName === 'click') {\n const handler = (e) => {\n if (!$(e.target).is('input')) {\n return;\n }\n locals.$event = e;\n return callback();\n };\n \n const deregister = this.eventManager.addEventListener(node, eventName, handler);\n this.eventListeners.set(node, deregister);\n } else if (!includes(['change'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n @HostListener('keydown.enter', ['$event'])\n onKeyDown($event: KeyboardEvent) {\n $event.preventDefault();\n ($event.target as HTMLElement).click();\n }\n\n onPropertyChange(key, nv, ov?) {\n\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }else if(key === 'layout'){\n this.handleLayout(nv)\n }\n if (key === 'itemsperrow') {\n setListClass(this);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n handleLayout(layout: string) {\n const direction = layout === 'vertical' ? 'column' : 'row';\n this.$element.css({\n display: 'flex',\n flexDirection: direction\n });\n }\n\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove all event listeners\n if (this.eventListeners && this.eventListeners.size > 0) {\n this.eventListeners.forEach((deregister) => {\n if (deregister && typeof deregister === 'function') {\n deregister();\n }\n });\n this.eventListeners.clear();\n this.eventListeners = null;\n }\n\n super.ngOnDestroy();\n }\n}\n","@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\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/checkboxset/src/checkboxset.props.ts","../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.component.ts","../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.component.html","../../../../../projects/components/widgets/input/checkboxset/src/index.ts"],"sourcesContent":["import { FormWidgetType } from '@wm/core';\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const checkboxsetProps = new Map(\n [\n ['class', PROP_STRING],\n ['collapsible', PROP_BOOLEAN],\n ['compareby', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', {value: 'Option 1, Option 2, Option 3', ...PROP_ANY}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['dateformat', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['displayValue', PROP_STRING],\n ['groupby', PROP_STRING],\n ['itemclass', {value: '', ...PROP_STRING}],\n ['itemsperrow', {value: 'xs-1 sm-1 md-1 lg-1', ...PROP_STRING}],\n ['listclass', {value: '', ...PROP_STRING}],\n ['match', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcount', PROP_BOOLEAN],\n ['showindevice', {displayType: 'inline-block', value: 'all', ...PROP_STRING}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['usekeys', PROP_BOOLEAN],\n ['layout', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-checkboxset',\n checkboxsetProps\n );\n registerFormWidget(\n FormWidgetType.CHECKBOXSET,\n new Map(checkboxsetProps)\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {Component, HostListener, Inject, Injector, OnDestroy, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {setListClass} from '@wm/core';\nimport { ItemTemplateDirective, IWidgetConfig, PartialContainerDirective, PartialParamHandlerDirective, provideAs, provideAsWidgetRef, styler, TextContentDirective } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input/dataset-aware-form';\n\nimport { registerProps } from './checkboxset.props';\nimport {forEach, includes} from \"lodash-es\";\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-checkboxset list-group inline';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-checkboxset', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, ItemTemplateDirective, PartialParamHandlerDirective, PartialContainerDirective],\n selector: '[wmCheckboxset]',\n exportAs: 'wmCheckboxset',\n templateUrl: 'checkboxset.component.html',\n providers: [\n provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),\n provideAs(CheckboxsetComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(CheckboxsetComponent)\n ]\n})\n\nexport class CheckboxsetComponent extends DatasetAwareFormComponent implements OnDestroy {\n static readonly initializeProps = registerProps();\n\n public layout = '';\n public collapsible: boolean;\n\n protected match: string;\n protected dateformat: string;\n\n public disabled: boolean;\n public itemsperrow: string;\n private readonly itemsPerRowClass: string;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n this.multiple = true;\n }\n\n triggerInvokeOnChange(keys, $event) {\n this.modelByKey = keys;\n\n if(this.viewParent.containerWidget?.updateDataValue)\n this.viewParent.containerWidget.updateDataValue(this.datavalue);\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n onCheckboxLabelClick($event, key) {\n if (!$($event.target).is('input')) {\n return;\n }\n\n // construct the _model from the checked elements.\n const inputElements = this.nativeElement.querySelectorAll('input:checked');\n const keys = [];\n forEach(inputElements, ($el) => {\n // @ts-ignore\n keys.push($el.value);\n });\n\n this.triggerInvokeOnChange(keys, $event);\n }\n\n private eventListeners: Map<HTMLElement, Function> = new Map();\n\n // change and blur events are added from the template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (eventName === 'click') {\n const handler = (e) => {\n if (!$(e.target).is('input')) {\n return;\n }\n locals.$event = e;\n return callback();\n };\n \n const deregister = this.eventManager.addEventListener(node, eventName, handler);\n this.eventListeners.set(node, deregister);\n } else if (!includes(['change'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n @HostListener('keydown.enter', ['$event'])\n onKeyDown($event: KeyboardEvent) {\n $event.preventDefault();\n ($event.target as HTMLElement).click();\n }\n\n onPropertyChange(key, nv, ov?) {\n\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }else if(key === 'layout'){\n this.handleLayout(nv)\n }\n if (key === 'itemsperrow') {\n setListClass(this);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n handleLayout(layout: string) {\n const direction = layout === 'vertical' ? 'column' : 'row';\n this.$element.css({\n display: 'flex',\n flexDirection: direction\n });\n }\n\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove all event listeners\n if (this.eventListeners && this.eventListeners.size > 0) {\n this.eventListeners.forEach((deregister) => {\n if (deregister && typeof deregister === 'function') {\n deregister();\n }\n });\n this.eventListeners.clear();\n this.eventListeners = null;\n }\n\n super.ngOnDestroy();\n }\n}\n","@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,14 @@ import { OnDestroy, Injector } from '@angular/core';
|
|
|
3
3
|
import { DatasetAwareFormComponent } from '@wm/components/input/dataset-aware-form';
|
|
4
4
|
|
|
5
5
|
declare class CheckboxsetComponent extends DatasetAwareFormComponent implements OnDestroy {
|
|
6
|
-
static initializeProps: void;
|
|
6
|
+
static readonly initializeProps: void;
|
|
7
7
|
layout: string;
|
|
8
8
|
collapsible: boolean;
|
|
9
9
|
protected match: string;
|
|
10
10
|
protected dateformat: string;
|
|
11
11
|
disabled: boolean;
|
|
12
12
|
itemsperrow: string;
|
|
13
|
-
private itemsPerRowClass;
|
|
13
|
+
private readonly itemsPerRowClass;
|
|
14
14
|
constructor(inj: Injector, explicitContext: any);
|
|
15
15
|
triggerInvokeOnChange(keys: any, $event: any): void;
|
|
16
16
|
onCheckboxLabelClick($event: any, key: any): void;
|
|
@@ -425,7 +425,7 @@
|
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
427
|
onInputClear($event) {
|
|
428
|
-
if (!this.chipsList
|
|
428
|
+
if (!this.chipsList?.length || this.searchComponent.query) {
|
|
429
429
|
return;
|
|
430
430
|
}
|
|
431
431
|
this.$element.find('li.chip-item > a.app-chip').last().focus();
|
|
@@ -666,7 +666,7 @@
|
|
|
666
666
|
// setting the autofocus on the input once after dom is updated
|
|
667
667
|
setTimeout(() => {
|
|
668
668
|
const $chipsList = this.$element.find('.app-chip-input > input.app-textbox');
|
|
669
|
-
if ($chipsList
|
|
669
|
+
if ($chipsList?.length) {
|
|
670
670
|
this.focusSearchBox();
|
|
671
671
|
}
|
|
672
672
|
});
|
|
@@ -696,13 +696,13 @@
|
|
|
696
696
|
// Call parent ngOnDestroy (DatasetAwareFormComponent has cleanup)
|
|
697
697
|
super.ngOnDestroy();
|
|
698
698
|
}
|
|
699
|
-
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
700
|
-
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
699
|
+
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: ChipsComponent, deps: [{ token: i0__namespace.Injector }, { token: 'displayfield.bind', attribute: true }, { token: 'displayexpression.bind', attribute: true }, { token: 'displayimagesrc.bind', attribute: true }, { token: 'datafield.bind', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'chipclass.bind', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
700
|
+
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: ChipsComponent, isStandalone: true, selector: "[wmChips]", providers: [
|
|
701
701
|
base.provideAs(ChipsComponent, forms.NG_VALUE_ACCESSOR, true),
|
|
702
702
|
base.provideAsWidgetRef(ChipsComponent)
|
|
703
703
|
], viewQueries: [{ propertyName: "searchComponent", first: true, predicate: search.SearchComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "@for (item of chipsList; track item) {\n <li class=\"chip-item {{chipclass && !bindChipclass ? chipclass : ''}}\"\n [ngClass]=\"{'active': item.active, 'disabled': disabled}\">\n <a href=\"javascript:void(0)\" class=\"app-chip\"\n (click)=\"handleChipClick($event, item)\"\n (keydown.delete)=\"onDelete($event, item, $index)\"\n (keydown.backspace)=\"onBackspace($event, item, $index)\"\n (keydown.arrowleft)=\"onArrowLeft(item, $index)\"\n (keydown.arrowright)=\"onArrowRight(item, $index)\"\n (focus)=\"handleChipFocus($event, item)\"\n (blur)=\"readonly ? 0 : item.active = false\"\n [ngClass]=\"{'no-drag': !enablereorder,'chip-duplicate bg-danger': item.isDuplicate, 'chip-picture': item.imgSrc}\">\n @if (item.imgSrc) {\n <img data-identifier=\"img\" alt=\"Chip Image\" class=\"button-image-icon\" [src]=\"item.imgSrc\"/>\n }\n <span class=\"app-chip-title\" [textContent]=\"item.label\" [title]=\"item.label\"></span>\n @if (!readonly) {\n <button type=\"button\" [attr.aria-label]=\"'Clear ' + item.label\" class=\"btn btn-transparent\"\n (click)=\"removeItem($event, item, $index);\">\n <i class=\"app-icon wi wi-close\"></i>\n </button>\n }\n </a>\n </li>\n}\n<li class=\"app-chip-search\" [ngClass]=\"{'full-width': inputwidth === 'full'}\">\n <div #search wmSearch class=\"app-chip-input\"\n name=\"app-chip-search\"\n submit.event=\"addItem($event, widget)\"\n beforeservicecall.event=\"invokeOnBeforeServiceCall(inputData)\"\n disabled.bind=\"disabled || readonly || saturate\"\n datafield.bind=\"datafield\"\n allowonlyselect.bind=\"allowonlyselect\"\n searchkey.bind=\"searchkey\"\n orderby.bind=\"orderby\"\n placeholder.bind=\"saturate ? maxSizeReached : placeholder\"\n showsearchicon.bind=\"showsearchicon\"\n tabindex.bind=\"tabindex\"\n minchars.bind=\"minchars\"\n debouncetime.bind=\"debouncetime\"\n matchmode.bind=\"matchmode\"\n datacompletemsg.bind = \"datacompletemsg\"\n groupby.bind=\"groupby\"\n match.bind=\"match\"\n dateformat.bind=\"dateformat\"\n (keydown.enter)=\"stopEvent($event)\"\n (keydown.delete)=\"onTextDelete($event)\"\n (keydown.backspace)=\"onInputClear($event)\"\n (keydown.arrowleft)=\"onArrowLeft()\"\n (keydown.arrowright)=\"onArrowRight()\">\n </div>\n</li>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "directive", type: i1__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: base.TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: search.SearchComponent, selector: "[wmSearch]" }] }); }
|
|
704
704
|
}
|
|
705
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
705
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: ChipsComponent, decorators: [{
|
|
706
706
|
type: i0.Component,
|
|
707
707
|
args: [{ standalone: true, imports: [i1.CommonModule, base.TextContentDirective, search.SearchComponent], selector: '[wmChips]', providers: [
|
|
708
708
|
base.provideAs(ChipsComponent, forms.NG_VALUE_ACCESSOR, true),
|
|
@@ -410,7 +410,7 @@ class ChipsComponent extends DatasetAwareFormComponent {
|
|
|
410
410
|
}
|
|
411
411
|
}
|
|
412
412
|
onInputClear($event) {
|
|
413
|
-
if (!this.chipsList
|
|
413
|
+
if (!this.chipsList?.length || this.searchComponent.query) {
|
|
414
414
|
return;
|
|
415
415
|
}
|
|
416
416
|
this.$element.find('li.chip-item > a.app-chip').last().focus();
|
|
@@ -651,7 +651,7 @@ class ChipsComponent extends DatasetAwareFormComponent {
|
|
|
651
651
|
// setting the autofocus on the input once after dom is updated
|
|
652
652
|
setTimeout(() => {
|
|
653
653
|
const $chipsList = this.$element.find('.app-chip-input > input.app-textbox');
|
|
654
|
-
if ($chipsList
|
|
654
|
+
if ($chipsList?.length) {
|
|
655
655
|
this.focusSearchBox();
|
|
656
656
|
}
|
|
657
657
|
});
|
|
@@ -681,13 +681,13 @@ class ChipsComponent extends DatasetAwareFormComponent {
|
|
|
681
681
|
// Call parent ngOnDestroy (DatasetAwareFormComponent has cleanup)
|
|
682
682
|
super.ngOnDestroy();
|
|
683
683
|
}
|
|
684
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
685
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
684
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: ChipsComponent, deps: [{ token: i0.Injector }, { token: 'displayfield.bind', attribute: true }, { token: 'displayexpression.bind', attribute: true }, { token: 'displayimagesrc.bind', attribute: true }, { token: 'datafield.bind', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'chipclass.bind', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
685
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: ChipsComponent, isStandalone: true, selector: "[wmChips]", providers: [
|
|
686
686
|
provideAs(ChipsComponent, NG_VALUE_ACCESSOR, true),
|
|
687
687
|
provideAsWidgetRef(ChipsComponent)
|
|
688
688
|
], viewQueries: [{ propertyName: "searchComponent", first: true, predicate: SearchComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@for (item of chipsList; track item) {\n <li class=\"chip-item {{chipclass && !bindChipclass ? chipclass : ''}}\"\n [ngClass]=\"{'active': item.active, 'disabled': disabled}\">\n <a href=\"javascript:void(0)\" class=\"app-chip\"\n (click)=\"handleChipClick($event, item)\"\n (keydown.delete)=\"onDelete($event, item, $index)\"\n (keydown.backspace)=\"onBackspace($event, item, $index)\"\n (keydown.arrowleft)=\"onArrowLeft(item, $index)\"\n (keydown.arrowright)=\"onArrowRight(item, $index)\"\n (focus)=\"handleChipFocus($event, item)\"\n (blur)=\"readonly ? 0 : item.active = false\"\n [ngClass]=\"{'no-drag': !enablereorder,'chip-duplicate bg-danger': item.isDuplicate, 'chip-picture': item.imgSrc}\">\n @if (item.imgSrc) {\n <img data-identifier=\"img\" alt=\"Chip Image\" class=\"button-image-icon\" [src]=\"item.imgSrc\"/>\n }\n <span class=\"app-chip-title\" [textContent]=\"item.label\" [title]=\"item.label\"></span>\n @if (!readonly) {\n <button type=\"button\" [attr.aria-label]=\"'Clear ' + item.label\" class=\"btn btn-transparent\"\n (click)=\"removeItem($event, item, $index);\">\n <i class=\"app-icon wi wi-close\"></i>\n </button>\n }\n </a>\n </li>\n}\n<li class=\"app-chip-search\" [ngClass]=\"{'full-width': inputwidth === 'full'}\">\n <div #search wmSearch class=\"app-chip-input\"\n name=\"app-chip-search\"\n submit.event=\"addItem($event, widget)\"\n beforeservicecall.event=\"invokeOnBeforeServiceCall(inputData)\"\n disabled.bind=\"disabled || readonly || saturate\"\n datafield.bind=\"datafield\"\n allowonlyselect.bind=\"allowonlyselect\"\n searchkey.bind=\"searchkey\"\n orderby.bind=\"orderby\"\n placeholder.bind=\"saturate ? maxSizeReached : placeholder\"\n showsearchicon.bind=\"showsearchicon\"\n tabindex.bind=\"tabindex\"\n minchars.bind=\"minchars\"\n debouncetime.bind=\"debouncetime\"\n matchmode.bind=\"matchmode\"\n datacompletemsg.bind = \"datacompletemsg\"\n groupby.bind=\"groupby\"\n match.bind=\"match\"\n dateformat.bind=\"dateformat\"\n (keydown.enter)=\"stopEvent($event)\"\n (keydown.delete)=\"onTextDelete($event)\"\n (keydown.backspace)=\"onInputClear($event)\"\n (keydown.arrowleft)=\"onArrowLeft()\"\n (keydown.arrowright)=\"onArrowRight()\">\n </div>\n</li>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "component", type: SearchComponent, selector: "[wmSearch]" }] }); }
|
|
689
689
|
}
|
|
690
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
690
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: ChipsComponent, decorators: [{
|
|
691
691
|
type: Component,
|
|
692
692
|
args: [{ standalone: true, imports: [CommonModule, TextContentDirective, SearchComponent], selector: '[wmChips]', providers: [
|
|
693
693
|
provideAs(ChipsComponent, NG_VALUE_ACCESSOR, true),
|