@wavemaker/app-ng-runtime 11.4.1-next.141653 → 11.4.1-next.141654
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.
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +12 -23
- app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +2 -4
- app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -4
- app-ng-runtime/components/advanced/carousel/esm2020/carousel-template/carousel-template.directive.mjs +6 -11
- app-ng-runtime/components/advanced/carousel/esm2020/carousel.directive.mjs +6 -11
- app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs +9 -20
- app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs +9 -16
- app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/bundles/index.umd.js +21 -27
- app-ng-runtime/components/advanced/login/esm2020/login.component.mjs +8 -13
- app-ng-runtime/components/advanced/login/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/advanced/login/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/fesm2020/index.mjs +7 -11
- app-ng-runtime/components/advanced/login/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/login.component.d.ts +2 -4
- app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +8 -14
- app-ng-runtime/components/advanced/marquee/esm2020/marquee.directive.mjs +6 -11
- app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -4
- app-ng-runtime/components/base/bundles/index.umd.js +31 -61
- app-ng-runtime/components/base/esm2020/widgets/common/base/base-container.component.mjs +4 -6
- app-ng-runtime/components/base/esm2020/widgets/common/base/base.component.mjs +5 -6
- app-ng-runtime/components/base/esm2020/widgets/common/base/dataset-aware-nav.component.mjs +3 -3
- app-ng-runtime/components/base/esm2020/widgets/common/container/container.directive.mjs +7 -11
- app-ng-runtime/components/base/esm2020/widgets/common/item-template/item-template.directive.mjs +7 -10
- app-ng-runtime/components/base/esm2020/widgets/common/lazy-load/lazy-load.directive.mjs +6 -10
- app-ng-runtime/components/base/esm2020/widgets/common/message/message.component.mjs +7 -11
- app-ng-runtime/components/base/esm2020/widgets/common/partial/partial.directive.mjs +7 -10
- app-ng-runtime/components/base/esm2020/widgets/common/repeat-template/repeat-template.directive.mjs +6 -11
- app-ng-runtime/components/base/fesm2015/index.mjs +32 -62
- app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/base/fesm2020/index.mjs +32 -50
- app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -2
- app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +2 -3
- app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -2
- app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -4
- app-ng-runtime/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +3 -4
- app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +3 -4
- app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/bundles/index.umd.js +247 -290
- app-ng-runtime/components/basic/default/esm2020/anchor/anchor.component.mjs +7 -10
- app-ng-runtime/components/basic/default/esm2020/audio/audio.component.mjs +8 -13
- app-ng-runtime/components/basic/default/esm2020/html/html.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/icon/icon.component.mjs +9 -14
- app-ng-runtime/components/basic/default/esm2020/iframe/iframe.component.mjs +9 -13
- app-ng-runtime/components/basic/default/esm2020/label/label.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/picture/picture.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/spinner/spinner.component.mjs +9 -13
- app-ng-runtime/components/basic/default/esm2020/video/video.component.mjs +9 -13
- app-ng-runtime/components/basic/default/fesm2015/index.mjs +46 -89
- app-ng-runtime/components/basic/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/fesm2020/index.mjs +46 -73
- app-ng-runtime/components/basic/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -4
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +23 -32
- app-ng-runtime/components/basic/progress/esm2020/progress-bar/progress-bar.component.mjs +8 -12
- app-ng-runtime/components/basic/progress/esm2020/progress-circle/progress-circle.component.mjs +8 -13
- app-ng-runtime/components/basic/progress/fesm2015/index.mjs +12 -21
- app-ng-runtime/components/basic/progress/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/fesm2020/index.mjs +12 -19
- app-ng-runtime/components/basic/progress/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -4
- app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -4
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +14 -20
- app-ng-runtime/components/basic/rich-text-editor/esm2020/rich-text-editor.component.mjs +9 -13
- app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs +7 -11
- app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -4
- app-ng-runtime/components/basic/search/bundles/index.umd.js +3 -6
- app-ng-runtime/components/basic/search/esm2020/search.component.mjs +6 -9
- app-ng-runtime/components/basic/search/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/basic/search/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/basic/search/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/search.component.d.ts +3 -4
- app-ng-runtime/components/chart/bundles/index.umd.js +4 -9
- app-ng-runtime/components/chart/chart.component.d.ts +3 -4
- app-ng-runtime/components/chart/esm2020/chart.component.mjs +7 -10
- app-ng-runtime/components/chart/fesm2015/index.mjs +5 -10
- app-ng-runtime/components/chart/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/chart/fesm2020/index.mjs +5 -8
- app-ng-runtime/components/chart/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -4
- app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +3 -4
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +56 -66
- app-ng-runtime/components/containers/accordion/esm2020/accordion-pane/accordion-pane.component.mjs +10 -14
- app-ng-runtime/components/containers/accordion/esm2020/accordion.directive.mjs +7 -10
- app-ng-runtime/components/containers/accordion/fesm2015/index.mjs +12 -22
- app-ng-runtime/components/containers/accordion/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/fesm2020/index.mjs +12 -18
- app-ng-runtime/components/containers/accordion/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +12 -25
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-column/layout-grid-column.directive.mjs +7 -10
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-row/layout-grid-row.directive.mjs +6 -11
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid.directive.mjs +6 -11
- app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs +13 -26
- app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs +13 -22
- app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +3 -4
- app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -4
- app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -4
- app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +12 -23
- app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout-item/linear-layout-item.directive.mjs +6 -11
- app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout.directive.mjs +6 -11
- app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs +9 -20
- app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs +9 -16
- app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -4
- app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -4
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +65 -71
- app-ng-runtime/components/containers/panel/esm2020/panel.component.mjs +12 -16
- app-ng-runtime/components/containers/panel/fesm2015/index.mjs +10 -16
- app-ng-runtime/components/containers/panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/fesm2020/index.mjs +10 -14
- app-ng-runtime/components/containers/panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/panel.component.d.ts +2 -4
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +57 -63
- app-ng-runtime/components/containers/tabs/esm2020/tab-pane/tab-pane.component.mjs +8 -12
- app-ng-runtime/components/containers/tabs/esm2020/tabs.component.mjs +7 -10
- app-ng-runtime/components/containers/tabs/fesm2015/index.mjs +12 -18
- app-ng-runtime/components/containers/tabs/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/fesm2020/index.mjs +12 -18
- app-ng-runtime/components/containers/tabs/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -4
- app-ng-runtime/components/containers/tabs/tabs.component.d.ts +3 -4
- app-ng-runtime/components/containers/tile/bundles/index.umd.js +8 -14
- app-ng-runtime/components/containers/tile/esm2020/tile.directive.mjs +6 -11
- app-ng-runtime/components/containers/tile/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/containers/tile/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/containers/tile/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -4
- app-ng-runtime/components/containers/wizard/bundles/index.umd.js +48 -57
- app-ng-runtime/components/containers/wizard/esm2020/wizard-step/wizard-step.directive.mjs +5 -10
- app-ng-runtime/components/containers/wizard/esm2020/wizard.component.mjs +10 -14
- app-ng-runtime/components/containers/wizard/fesm2015/index.mjs +11 -20
- app-ng-runtime/components/containers/wizard/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/fesm2020/index.mjs +11 -18
- app-ng-runtime/components/containers/wizard/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -4
- app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -4
- app-ng-runtime/components/data/card/bundles/index.umd.js +83 -106
- app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -4
- app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -4
- app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -4
- app-ng-runtime/components/data/card/card.component.d.ts +2 -4
- app-ng-runtime/components/data/card/esm2020/card-actions/card-actions.directive.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card-content/card-content.component.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card-footer/card-footer.directive.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card.component.mjs +12 -18
- app-ng-runtime/components/data/card/fesm2015/index.mjs +23 -46
- app-ng-runtime/components/data/card/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/card/fesm2020/index.mjs +23 -38
- app-ng-runtime/components/data/card/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/bundles/index.umd.js +128 -137
- app-ng-runtime/components/data/form/esm2020/form-action/form-action.directive.mjs +4 -9
- app-ng-runtime/components/data/form/esm2020/form-field/form-field.directive.mjs +5 -8
- app-ng-runtime/components/data/form/esm2020/form.component.mjs +5 -8
- app-ng-runtime/components/data/form/fesm2015/index.mjs +20 -29
- app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/fesm2020/index.mjs +20 -29
- app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +3 -4
- app-ng-runtime/components/data/form/form.component.d.ts +3 -4
- app-ng-runtime/components/data/list/bundles/index.umd.js +4 -7
- app-ng-runtime/components/data/list/esm2020/list.component.mjs +7 -10
- app-ng-runtime/components/data/list/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/data/list/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/data/list/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/list.component.d.ts +3 -4
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +3 -6
- app-ng-runtime/components/data/live-table/esm2020/live-table.component.mjs +6 -9
- app-ng-runtime/components/data/live-table/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/data/live-table/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/data/live-table/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/live-table.component.d.ts +3 -4
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +30 -34
- app-ng-runtime/components/data/pagination/esm2020/pagination.component.mjs +10 -14
- app-ng-runtime/components/data/pagination/fesm2015/index.mjs +8 -12
- app-ng-runtime/components/data/pagination/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/data/pagination/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -4
- app-ng-runtime/components/data/table/bundles/index.umd.js +19 -37
- app-ng-runtime/components/data/table/esm2020/table-action/table-action.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-column/table-column.directive.mjs +5 -8
- app-ng-runtime/components/data/table/esm2020/table-column-group/table-column-group.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-row/table-row.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-row-action/table-row-action.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table.component.mjs +6 -9
- app-ng-runtime/components/data/table/fesm2015/index.mjs +19 -37
- app-ng-runtime/components/data/table/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/fesm2020/index.mjs +19 -37
- app-ng-runtime/components/data/table/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +3 -4
- app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table.component.d.ts +3 -4
- app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +40 -46
- app-ng-runtime/components/dialogs/alert-dialog/esm2020/alert-dialog.component.mjs +9 -15
- app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +16 -22
- app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/confirm-dialog/esm2020/confirm-dialog.component.mjs +8 -14
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs +7 -13
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -2
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +25 -31
- app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -4
- app-ng-runtime/components/dialogs/default/esm2020/base-dialog.mjs +7 -8
- app-ng-runtime/components/dialogs/default/esm2020/dialog-footer/dialog-footer.directive.mjs +6 -11
- app-ng-runtime/components/dialogs/default/fesm2015/index.mjs +11 -17
- app-ng-runtime/components/dialogs/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/fesm2020/index.mjs +11 -15
- app-ng-runtime/components/dialogs/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +17 -23
- app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/design-dialog/esm2020/dialog.component.mjs +8 -14
- app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs +7 -13
- app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +24 -30
- app-ng-runtime/components/dialogs/iframe-dialog/esm2020/iframe-dialog.component.mjs +10 -16
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs +9 -15
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +3 -8
- app-ng-runtime/components/dialogs/partial-dialog/esm2020/partial-dialog.component.mjs +5 -10
- app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs +4 -9
- app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs +4 -9
- app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +3 -4
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +5 -10
- app-ng-runtime/components/input/calendar/calendar.component.d.ts +3 -4
- app-ng-runtime/components/input/calendar/esm2020/calendar.component.mjs +8 -11
- app-ng-runtime/components/input/calendar/fesm2015/index.mjs +6 -11
- app-ng-runtime/components/input/calendar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/calendar/fesm2020/index.mjs +6 -9
- app-ng-runtime/components/input/calendar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +87 -93
- app-ng-runtime/components/input/chips/chips.component.d.ts +2 -4
- app-ng-runtime/components/input/chips/esm2020/chips.component.mjs +9 -15
- app-ng-runtime/components/input/chips/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/input/chips/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/input/chips/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/bundles/index.umd.js +22 -28
- app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -4
- app-ng-runtime/components/input/color-picker/esm2020/color-picker.component.mjs +10 -14
- app-ng-runtime/components/input/color-picker/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/input/color-picker/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/input/color-picker/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -9
- app-ng-runtime/components/input/currency/currency.component.d.ts +3 -4
- app-ng-runtime/components/input/currency/esm2020/currency.component.mjs +7 -10
- app-ng-runtime/components/input/currency/fesm2015/index.mjs +5 -10
- app-ng-runtime/components/input/currency/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/fesm2020/index.mjs +5 -8
- app-ng-runtime/components/input/currency/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/base-form.component.d.ts +1 -2
- app-ng-runtime/components/input/default/bundles/index.umd.js +575 -648
- app-ng-runtime/components/input/default/button/button.component.d.ts +2 -4
- app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -4
- app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +2 -4
- app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -4
- app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -4
- app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +2 -3
- app-ng-runtime/components/input/default/esm2020/base-form.component.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/button/button.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/button-group/button-group.directive.mjs +6 -11
- app-ng-runtime/components/input/default/esm2020/checkbox/checkbox.component.mjs +9 -13
- app-ng-runtime/components/input/default/esm2020/checkboxset/checkboxset.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/composite/composite.directive.mjs +7 -11
- app-ng-runtime/components/input/default/esm2020/dataset-aware-form.component.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/number/number.component.mjs +7 -10
- app-ng-runtime/components/input/default/esm2020/radioset/radioset.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +11 -15
- app-ng-runtime/components/input/default/esm2020/switch/switch.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/text/base/base-input.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/color/input-color.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/email/input-email.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/locale/number-locale.mjs +3 -3
- app-ng-runtime/components/input/default/esm2020/text/number/input-number.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/text/text/input-text.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/textarea/textarea.component.mjs +9 -14
- app-ng-runtime/components/input/default/fesm2015/index.mjs +94 -167
- app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/fesm2020/index.mjs +94 -139
- app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/number/number.component.d.ts +3 -4
- app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -4
- app-ng-runtime/components/input/default/select/select.component.d.ts +2 -4
- app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/base/base-input.d.ts +1 -2
- app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +2 -2
- app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -4
- app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -4
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -2
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +12 -21
- app-ng-runtime/components/input/epoch/date/date.component.d.ts +3 -4
- app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +3 -4
- app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +5 -6
- app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/esm2020/date-time/date-time.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/esm2020/time/time.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/fesm2015/index.mjs +13 -22
- app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/fesm2020/index.mjs +13 -22
- app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/time/time.component.d.ts +3 -4
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +3 -6
- app-ng-runtime/components/input/file-upload/esm2020/file-upload.component.mjs +6 -9
- app-ng-runtime/components/input/file-upload/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/input/file-upload/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/input/file-upload/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +3 -4
- app-ng-runtime/components/input/rating/bundles/index.umd.js +45 -51
- app-ng-runtime/components/input/rating/esm2020/rating.component.mjs +11 -15
- app-ng-runtime/components/input/rating/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/input/rating/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/fesm2020/index.mjs +9 -13
- app-ng-runtime/components/input/rating/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/rating.component.d.ts +2 -4
- app-ng-runtime/components/input/slider/bundles/index.umd.js +37 -43
- app-ng-runtime/components/input/slider/esm2020/slider.component.mjs +10 -15
- app-ng-runtime/components/input/slider/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/input/slider/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/fesm2020/index.mjs +9 -13
- app-ng-runtime/components/input/slider/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/slider.component.d.ts +2 -4
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +13 -25
- app-ng-runtime/components/navigation/menu/esm2020/menu-adapator.component.mjs +4 -6
- app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +4 -7
- app-ng-runtime/components/navigation/menu/esm2020/nav/nav-item/nav-item.directive.mjs +7 -11
- app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +5 -9
- app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +14 -26
- app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +14 -24
- app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -2
- app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -3
- app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -4
- app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +3 -3
- app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +28 -34
- app-ng-runtime/components/navigation/navbar/esm2020/navbar.component.mjs +9 -14
- app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -4
- app-ng-runtime/components/page/default/bundles/index.umd.js +32 -66
- app-ng-runtime/components/page/default/content/content.component.d.ts +2 -4
- app-ng-runtime/components/page/default/esm2020/content/content.component.mjs +6 -11
- app-ng-runtime/components/page/default/esm2020/layout.directive.mjs +7 -11
- app-ng-runtime/components/page/default/esm2020/page-content/page-content.component.mjs +7 -10
- app-ng-runtime/components/page/default/esm2020/page.directive.mjs +7 -12
- app-ng-runtime/components/page/default/esm2020/router-outlet.directive.mjs +7 -11
- app-ng-runtime/components/page/default/esm2020/spa-page.directive.mjs +7 -12
- app-ng-runtime/components/page/default/fesm2015/index.mjs +26 -60
- app-ng-runtime/components/page/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/fesm2020/index.mjs +26 -48
- app-ng-runtime/components/page/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/layout.directive.d.ts +2 -4
- app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +3 -4
- app-ng-runtime/components/page/default/page.directive.d.ts +3 -4
- app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -4
- app-ng-runtime/components/page/default/spa-page.directive.d.ts +3 -4
- app-ng-runtime/components/page/footer/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/footer/esm2020/footer.directive.mjs +6 -11
- app-ng-runtime/components/page/footer/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/footer/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/footer/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -4
- app-ng-runtime/components/page/header/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/header/esm2020/header.component.mjs +6 -11
- app-ng-runtime/components/page/header/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/header/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/header/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/header.component.d.ts +2 -4
- app-ng-runtime/components/page/left-panel/bundles/index.umd.js +4 -7
- app-ng-runtime/components/page/left-panel/esm2020/left-panel.directive.mjs +6 -9
- app-ng-runtime/components/page/left-panel/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/page/left-panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/page/left-panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +3 -4
- app-ng-runtime/components/page/right-panel/bundles/index.umd.js +6 -12
- app-ng-runtime/components/page/right-panel/esm2020/right-panel.directive.mjs +7 -11
- app-ng-runtime/components/page/right-panel/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/right-panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/right-panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -4
- app-ng-runtime/components/page/top-nav/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/top-nav/esm2020/top-nav.directive.mjs +6 -11
- app-ng-runtime/components/page/top-nav/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/top-nav/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/top-nav/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -4
- app-ng-runtime/components/prefab/bundles/index.umd.js +7 -15
- app-ng-runtime/components/prefab/esm2020/prefab-container/prefab-container.directive.mjs +7 -10
- app-ng-runtime/components/prefab/esm2020/prefab.directive.mjs +6 -10
- app-ng-runtime/components/prefab/fesm2015/index.mjs +8 -16
- app-ng-runtime/components/prefab/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/prefab/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +3 -4
- app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -4
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +32 -37
- app-ng-runtime/mobile/components/basic/default/esm2020/network-info-toaster/network-info-toaster.component.mjs +7 -10
- app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs +10 -15
- app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs +10 -13
- app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +3 -4
- app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +18 -29
- app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segment-content/segment-content.component.mjs +8 -13
- app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segmented-control.component.mjs +9 -13
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs +12 -23
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs +12 -19
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -4
- app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -4
- app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +30 -36
- app-ng-runtime/mobile/components/data/media-list/esm2020/media-list.component.mjs +14 -18
- app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs +11 -17
- app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs +11 -15
- app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +28 -34
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2020/barcode-scanner.component.mjs +10 -14
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs +8 -14
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs +8 -12
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +12 -18
- app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/camera/esm2020/camera.component.mjs +9 -13
- app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs +7 -13
- app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs +7 -11
- app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +3 -6
- app-ng-runtime/mobile/components/page/mobile-navbar/esm2020/mobile-navbar.component.mjs +6 -9
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs +4 -7
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs +4 -7
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +3 -4
- app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +32 -36
- app-ng-runtime/mobile/components/page/tab-bar/esm2020/tabbar.component.mjs +8 -13
- app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs +7 -11
- app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs +7 -11
- app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -4
- app-ng-runtime/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/default/src/button/button.props.ts","../../../../../projects/components/widgets/input/default/src/button/button.component.html","../../../../../projects/components/widgets/input/default/src/button/button.component.ts","../../../../../projects/components/widgets/input/default/src/button-group/button-group.props.ts","../../../../../projects/components/widgets/input/default/src/button-group/button-group.directive.ts","../../../../../projects/components/widgets/input/default/src/base-form.component.ts","../../../../../projects/components/widgets/input/default/src/base-form-custom.component.ts","../../../../../projects/components/widgets/input/default/src/checkbox/checkbox.props.ts","../../../../../projects/components/widgets/input/default/src/checkbox/checkbox.component.ts","../../../../../projects/components/widgets/input/default/src/checkbox/checkbox.component.html","../../../../../projects/components/widgets/input/default/src/dataset-aware-form.component.ts","../../../../../projects/components/widgets/input/default/src/checkboxset/checkboxset.props.ts","../../../../../projects/components/widgets/input/default/src/checkboxset/checkboxset.component.html","../../../../../projects/components/widgets/input/default/src/checkboxset/checkboxset.component.ts","../../../../../projects/components/widgets/input/default/src/composite/composite.props.ts","../../../../../projects/components/widgets/input/default/src/composite/composite.directive.ts","../../../../../projects/components/widgets/input/default/src/number/number.props.ts","../../../../../projects/components/widgets/input/default/src/text/base/base-input.ts","../../../../../projects/components/widgets/input/default/src/text/locale/number-locale.ts","../../../../../projects/components/widgets/input/default/src/number/number.component.ts","../../../../../projects/components/widgets/input/default/src/number/number.component.html","../../../../../projects/components/widgets/input/default/src/radioset/radioset.props.ts","../../../../../projects/components/widgets/input/default/src/radioset/radioset.component.html","../../../../../projects/components/widgets/input/default/src/radioset/radioset.component.ts","../../../../../projects/components/widgets/input/default/src/select/select.props.ts","../../../../../projects/components/widgets/input/default/src/select/select.component.html","../../../../../projects/components/widgets/input/default/src/select/select.component.ts","../../../../../projects/components/widgets/input/default/src/switch/switch.props.ts","../../../../../projects/components/widgets/input/default/src/switch/switch.component.html","../../../../../projects/components/widgets/input/default/src/switch/switch.component.ts","../../../../../projects/components/widgets/input/default/src/text/calendar/input-calendar.props.ts","../../../../../projects/components/widgets/input/default/src/text/calendar/input-calendar.component.ts","../../../../../projects/components/widgets/input/default/src/text/calendar/input-calendar.component.html","../../../../../projects/components/widgets/input/default/src/text/color/input-color.props.ts","../../../../../projects/components/widgets/input/default/src/text/color/input-color.component.ts","../../../../../projects/components/widgets/input/default/src/text/color/input-color.component.html","../../../../../projects/components/widgets/input/default/src/text/email/input-email.props.ts","../../../../../projects/components/widgets/input/default/src/text/email/input-email.component.ts","../../../../../projects/components/widgets/input/default/src/text/email/input-email.component.html","../../../../../projects/components/widgets/input/default/src/text/number/input-number.props.ts","../../../../../projects/components/widgets/input/default/src/text/number/input-number.component.ts","../../../../../projects/components/widgets/input/default/src/text/number/input-number.component.html","../../../../../projects/components/widgets/input/default/src/text/text/input-text.props.ts","../../../../../projects/components/widgets/input/default/src/text/text/input-text.component.ts","../../../../../projects/components/widgets/input/default/src/text/text/input-text.component.html","../../../../../projects/components/widgets/input/default/src/textarea/textarea.props.ts","../../../../../projects/components/widgets/input/default/src/textarea/textarea.component.html","../../../../../projects/components/widgets/input/default/src/textarea/textarea.component.ts","../../../../../projects/components/widgets/input/default/src/caption-position.directive.ts","../../../../../projects/components/widgets/input/default/src/input.module.ts","../../../../../projects/components/widgets/input/default/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-button',\n new Map(\n [\n ['animation', PROP_STRING],\n ['badgevalue', PROP_STRING],\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['conditionalclass', PROP_ANY],\n ['conditionalstyle', PROP_ANY],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconheight', PROP_STRING],\n ['iconmargin', PROP_STRING],\n ['iconposition', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['iconwidth', PROP_STRING],\n ['name', PROP_STRING],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","<img data-identifier=\"img\" alt=\"button image\" class=\"button-image-icon\" [src]=\"iconurl | image\" *ngIf=\"iconurl\" [ngStyle]=\"{width:iconwidth, height:iconheight, margin:iconmargin}\"/>\n<i class=\"app-icon {{iconclass}}\" aria-hidden=\"true\" [ngStyle]=\"{width:iconwidth, height:iconheight, margin:iconmargin, fontSize:iconwidth}\" *ngIf=\"iconclass\"></i>\n<span class=\"sr-only\" *ngIf=\"iconclass\">{{caption}} {{appLocale.LABEL_ICON}}</span>\n<span class=\"btn-caption\" [innerHTML]=\"caption\"></span>\n<ng-content select=\".caret\"></ng-content>\n<span *ngIf=\"badgevalue\" class=\"badge pull-right\" [textContent]=\"badgevalue\"></span>\n","import {Component, HostBinding, Injector, Optional} from '@angular/core';\n\nimport { DISPLAY_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './button.props';\nimport { UserDefinedExecutionContext } from '@wm/core';\n\nconst DEFAULT_CLS = 'btn app-button';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-button',\n hostClass: DEFAULT_CLS,\n displayType: DISPLAY_TYPE.INLINE_BLOCK\n};\n\n@Component({\n selector: 'button[wmButton]',\n templateUrl: './button.component.html',\n providers: [\n provideAsWidgetRef(ButtonComponent)\n ],\n exportAs: 'wmButton'\n})\nexport class ButtonComponent extends StylableComponent {\n static initializeProps = registerProps();\n\n public iconurl: string;\n public iconclass: string;\n public caption: string;\n public badgevalue: string;\n @HostBinding('type') type: string;\n @HostBinding('tabIndex') tabindex: number;\n @HostBinding('disabled') disabled: boolean;\n @HostBinding('attr.accesskey') shortcutkey: string;\n @HostBinding('attr.icon-position') iconposition: string;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n styler(this.nativeElement, this);\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-buttongroup',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['vertical', PROP_BOOLEAN]\n ]\n )\n );\n};\n","import {Directive, HostBinding, HostListener, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './button-group.props';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst DEFAULT_CLS = 'btn-group app-button-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-buttongroup',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n selector: '[wmButtonGroup]',\n providers: [\n provideAsWidgetRef(ButtonGroupDirective)\n ]\n})\nexport class ButtonGroupDirective extends StylableComponent {\n static initializeProps = registerProps();\n @HostBinding('class.btn-group-vertical') vertical: boolean;\n @HostListener('click', ['$event']) handleClick(event) {\n const $target = $(event.target).closest('.app-button');\n this.$element.find('.app-button').removeClass('selected');\n $target.addClass('selected');\n }\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","import { Injector, AfterViewInit, Injectable, Inject } from '@angular/core';\n\nimport {DataSource, UserDefinedExecutionContext} from '@wm/core';\n\nimport { IWidgetConfig, StylableComponent, WidgetConfig } from '@wm/components/base';\n\ndeclare const _;\n\n@Injectable()\nexport abstract class BaseFormComponent extends StylableComponent implements AfterViewInit{\n\n private dataval;\n private prevDatavalue;\n protected binddatavalue: string;\n private datavaluesource: any;\n\n protected constructor(\n protected inj: Injector,\n @Inject(WidgetConfig) config: IWidgetConfig,\n _viewParent: UserDefinedExecutionContext,\n initPromise?: Promise<any>\n ) {\n super(inj, config, _viewParent, initPromise);\n this.binddatavalue = this.$element.attr('datavalue.bind');\n }\n\n set datavalue(datavalue) {\n this.dataval = datavalue;\n }\n\n get datavalue() {\n return this.dataval;\n }\n\n /**\n * Responsible for updating the variable bound to the widget's datavalue property.\n * @param value\n */\n updateBoundVariable(value) {\n let binddatavalue = this.binddatavalue;\n\n // return if the variable bound is not static.\n if (this.datavaluesource && this.datavaluesource.execute(DataSource.Operation.IS_API_AWARE)) {\n return;\n } else if (this.datavaluesource && !this.datavaluesource.twoWayBinding) {\n return;\n }\n\n // return if widget is bound.\n if (!binddatavalue || binddatavalue.startsWith('Widgets.') || binddatavalue.startsWith('itemRef.currentItemWidgets')) {\n return;\n }\n\n binddatavalue = binddatavalue.replace(/\\[\\$i\\]/g, '[0]');\n\n // In case of list widget context will be the listItem.\n if (_.has(this.context, binddatavalue.split('.')[0])) {\n _.set(this.context, binddatavalue, value);\n } else {\n _.set(this.viewParent, binddatavalue, value);\n }\n }\n\n protected invokeOnChange(value, $event?: Event) {\n // invoke the event callback\n if ($event) {\n if (this.datavalue !== this.prevDatavalue) {\n this.updateBoundVariable(value);\n this.invokeEventCallback('change', {\n $event,\n newVal: value,\n oldVal: this.prevDatavalue\n });\n }\n }\n // update the previous value\n this.prevDatavalue = value;\n }\n\n protected updatePrevDatavalue(val: any) {\n this.prevDatavalue = val;\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n\n// [WMS-18892]- stopping event propagation [for ArrowLeft, ArrowUp, ArrowRight, ArrowDown actions] when form widgets or form is inside list widget\n let parentElemList = $(this.nativeElement).parents();\n if (parentElemList.closest('[wmList]').length) {\n this.$element.keydown(function($event) {\n if ($event.keyCode === 37 || $event.keyCode === 38 || $event.keyCode === 39 || $event.keyCode === 40) {\n $event.stopPropagation();\n }\n });\n }\n }\n}\n","import { ControlValueAccessor, FormControlName, Validator, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { Injectable, OnInit } from '@angular/core';\n\nimport { BaseFormComponent } from './base-form.component';\n\n/*\n * WMS-18269\n * custom 'required' validator for components,\n * as the bound values are resolved at runtime\n * Called on 'required' property change\n *\n * Note: Component needs NG_VALIDATOR provider for this to work\n */\nfunction isValidValue(val): Boolean {\n switch(typeof val) {\n case 'object': return (!!val && (!!val.length || !!Object.keys(val).length));\n case 'number': return (!!val || val === 0);\n default: return !(val === undefined || val === null || val === '');\n }\n}\nfunction validateRequiredBind(required: boolean): ValidatorFn {\n return (control: AbstractControl) =>\n required\n ? (isValidValue(control.value)\n ? null\n : { required: true })\n : null;\n}\n\n@Injectable()\nexport abstract class BaseFormCustomComponent extends BaseFormComponent implements ControlValueAccessor, OnInit, Validator {\n\n private _formControl: FormControlName;\n protected _onChange: any = () => {};\n private _onTouched: any = () => {};\n\n ngOnInit() {\n super.ngOnInit();\n this._formControl = this.inj.get(FormControlName, null);\n }\n\n public registerOnChange(fn) {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn) {\n this._onTouched = fn;\n }\n\n public writeValue(value) {\n if (this.isDestroyed) {\n return;\n }\n if (this._formControl) {\n this.datavalue = value;\n this.onPropertyChange('datavalue', value);\n this.updatePrevDatavalue(value);\n }\n /*\n * WMS:18246\n * Call onChange on default value, so that the Component Model is updated\n * Do only When the Model Value is different from datavalue\n */\n (value!==this.datavalue) && this._onChange(this.datavalue);\n }\n\n public invokeOnChange(value, $event?: Event | any, valid?: boolean) {\n // let the angular know about the change\n this._onChange(value);\n\n if (valid) {\n super.invokeOnChange(value, $event);\n }\n }\n\n public invokeOnTouched($event?: Event) {\n this._onTouched();\n\n if ($event) {\n this.invokeEventCallback('blur', {$event});\n }\n }\n\n public invokeOnFocus($event: Event) {\n this.invokeEventCallback('focus', {$event});\n }\n /* WMS-18269 */\n validate(control: AbstractControl):{[key: string]:any} {\n return this['show'] ? validateRequiredBind(this['required'])(control) : null;\n }\n}\n","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 ['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 ]\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};\n","import {\n AfterViewInit,\n Attribute,\n Component,\n ElementRef,\n HostListener,\n Injector,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {isDefined, toggleClass, UserDefinedExecutionContext} from '@wm/core';\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { BaseFormCustomComponent } from '../base-form-custom.component';\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 */\nconst 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 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 {\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 shortcutkey: string;\n public tabindex: any;\n public _caption = ' ';\n private _checkedvalue;\n private _uncheckedvalue;\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, @Optional() public _viewParent: UserDefinedExecutionContext\n ) {\n super(inj, WIDGET_CONFIG, _viewParent);\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', '\"ENTER\"'])\n onKeyDown($event) {\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","<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n role=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-checked]=\"!!proxyModel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\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\"></span>\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","import {Injector, Attribute, OnInit, Injectable, Inject, Optional} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport {\n AppDefaults,\n $appDigest,\n debounce,\n isDefined,\n isEqualWithFields,\n noop,\n toBoolean,\n UserDefinedExecutionContext\n} from '@wm/core';\n\nimport { ALLFIELDS, convertDataToObject, DataSetItem, extractDataAsArray, getOrderedDataset, getUniqObjsByDataField, handleHeaderClick, toggleAllHeaders, transformFormData, transformDataWithKeys, groupData, ToDatePipe, IWidgetConfig, WidgetConfig } from '@wm/components/base';\nimport { BaseFormCustomComponent } from './base-form-custom.component';\n\ndeclare const _;\n\n@Injectable()\nexport abstract class DatasetAwareFormComponent extends BaseFormCustomComponent implements OnInit {\n public dataset: any;\n public datafield: string;\n public displayfield: string;\n public displaylabel: string;\n public displayimagesrc: string;\n public displayexpression: string;\n public usekeys: boolean;\n public orderby: string;\n public multiple: boolean;\n public readonly: boolean;\n public content: string;\n public collapsible: boolean;\n public datePipe;\n\n public handleHeaderClick: ($event) => void;\n private toggleAllHeaders: void;\n public appDefaults;\n\n public binddisplayexpression: string;\n public binddisplayimagesrc: string;\n public binddisplaylabel: string;\n\n public displayValue: Array<string> | string;\n\n public datasetItems: DataSetItem[] = [];\n public acceptsArray = false; // set to true if proxyModel on widget accepts array type.\n protected dataset$ = new Subject();\n protected datavalue$ = new Subject();\n\n protected match: string;\n protected dateformat: string;\n public groupedData: any[];\n\n protected _modelByKey: any;\n public _modelByValue: any;\n public _defaultQueryInvoked: boolean; // for search/chips if datavalue is obtained from the default n/w call then set to true and do not update the modelByKeys.\n\n // this field contains the initial datavalue which needs to be processed once the dataset is available\n public toBeProcessedDatavalue: any;\n private readonly _debouncedInitDatasetItems: Function;\n protected allowempty = true;\n public compareby: any;\n\n public get modelByKey() {\n return this._modelByKey;\n }\n\n // triggers on ngModel change. This function extracts the datavalue value.\n public set modelByKey(val: any) {\n this.selectByKey(val);\n\n // invoke on datavalue change.\n this.invokeOnChange(this._modelByValue);\n }\n\n // @ts-ignore\n public get datavalue() {\n return this._modelByValue;\n }\n\n // triggers on setting the datavalue. This function extracts the model value.\n // @ts-ignore\n public set datavalue(val: any) {\n if (this.multiple) {\n val = extractDataAsArray(val);\n }\n this._modelByValue = val;\n\n this.selectByValue(val);\n\n // changes on the datavalue can be subscribed using listenToDatavalue\n this.datavalue$.next(val);\n\n // invoke on datavalue change.\n this.invokeOnChange(val, undefined, true);\n }\n\n protected constructor(inj: Injector, @Inject(WidgetConfig) config: IWidgetConfig, _viewParent: UserDefinedExecutionContext,\n @Attribute('groupby') public groupby?: string) {\n super(inj, config, _viewParent);\n this.datePipe = this.inj.get(ToDatePipe);\n this.appDefaults = this.inj.get(AppDefaults);\n this.binddisplayexpression = this.nativeElement.getAttribute('displayexpression.bind');\n this.binddisplayimagesrc = this.nativeElement.getAttribute('displayimagesrc.bind');\n this.binddisplaylabel = this.nativeElement.getAttribute('displaylabel.bind');\n\n this._debouncedInitDatasetItems = debounce(() => {\n this.initDatasetItems();\n $appDigest();\n }, 150);\n this.handleHeaderClick = noop;\n }\n\n /**\n * This function sets the _datavalue value from the model and sets the selected flag when item is found.\n * Here model is the value obtained from ngModel.\n * @param keys represent the model.\n */\n protected selectByKey(keys) {\n this.resetDatasetItems();\n\n if (!this.datasetItems.length) {\n return;\n }\n\n if (this.multiple && !_.isArray(keys)) {\n keys = [keys];\n }\n\n // Set the _modelByKey to the modified keys.\n this._modelByKey = keys;\n\n if (this.multiple) {\n this._modelByValue = [];\n keys.forEach(key => {\n const itemByKey = _.find(this.datasetItems, item => {\n // not triple equal, as the instance type can be different.\n // only value comparison should be done.\n return _.toString(item.key) === _.toString(key);\n });\n if (itemByKey) {\n itemByKey.selected = true;\n this._modelByValue = [...this._modelByValue, itemByKey.value];\n }\n });\n } else {\n this._modelByValue = '';\n const itemByKey = _.find(this.datasetItems, item => {\n // not triple equal, as the instance type can be different.\n // only value comparison should be done.\n return _.toString(item.key) === _.toString(keys);\n });\n if (itemByKey) {\n itemByKey.selected = true;\n this._modelByValue = itemByKey.value;\n }\n }\n this.initDisplayValues();\n }\n\n /**\n * This function sets the _model value from the datavalue (selectedvalues) and sets the selected flag when item is found.\n * datavalue is the default value or a value representing the displayField (for suppose: object in case of ALLFIELDS).\n * If acceptsArray is true, the model always accepts an array.\n * For example, select always accepts model as array whether multiple select is true or false.\n * @param values represent the datavalue.\n */\n protected selectByValue(values: Array<any> | any) {\n this.resetDatasetItems();\n\n // if datavalue is not defined or empty then set the model as undefined.\n if (!isDefined(values) || values === '' || _.isNull(values) || (values instanceof Array && !values.length)) {\n this._modelByKey = undefined;\n // do not return when allowempty is set to true.\n if (!this.allowempty || !isDefined(values)) {\n return;\n }\n }\n\n if (this.acceptsArray && !_.isArray(values)) {\n values = this.allowempty ? [values] : extractDataAsArray(values);\n }\n\n // preserve the datavalue if datasetItems are empty.\n if (!this.datasetItems.length && isDefined(values)) {\n this.toBeProcessedDatavalue = values;\n return;\n }\n\n const filterField = this.datafield === ALLFIELDS ? 'dataObject' : 'key';\n\n if (_.isArray(values)) {\n this._modelByKey = [];\n values.forEach(val => {\n const itemByValue = _.find(this.datasetItems, item => {\n if (filterField === 'dataObject') {\n if (this.compareby && this.compareby.length) {\n return isEqualWithFields(item[filterField], val, this.compareby);\n }\n }\n return (_.isObject(item.value) ? _.isEqual(item.value, val) : (_.toString(item.value)).toLowerCase() === (_.toString(val)).toLowerCase());\n });\n if (itemByValue) {\n itemByValue.selected = true;\n this._modelByKey.push(itemByValue.key);\n }\n });\n } else {\n this._modelByKey = undefined;\n const itemByValue = _.find(this.datasetItems, item => {\n if (filterField === 'dataObject') {\n if (this.compareby && this.compareby.length) {\n return isEqualWithFields(item[filterField], values, this.compareby);\n }\n }\n return (_.isObject(item.value) ? _.isEqual(item.value, values) : (_.toString(item.value)).toLowerCase() === (_.toString(values)).toLowerCase());\n });\n if (itemByValue) {\n itemByValue.selected = true;\n this._modelByKey = itemByValue.key;\n }\n }\n // delaying the datavalue update as the widgets in liveform are having datavalue as undefined and not the default provided value\n // because datavalue is updated later when new dataset is available.\n this._debounceDatavalueUpdation(values);\n }\n\n protected readonly _debounceDatavalueUpdation = _.debounce((values) => {\n // if no item is found in datasetItems, wait untill the dataset updates by preserving the datavalue in toBeProcessedDatavalue.\n if (!isDefined(this._modelByKey) || (_.isArray(this._modelByKey) && !this._modelByKey.length)) {\n this.toBeProcessedDatavalue = values;\n this._modelByValue = '';\n } else if (isDefined(this.toBeProcessedDatavalue)) {\n // obtain the first array value when multiple is set to false.\n // set the modelByValue only when undefined.\n if (!isDefined(this._modelByValue)) {\n this._modelByValue = (!this.multiple && _.isArray(this.toBeProcessedDatavalue)) ? this.toBeProcessedDatavalue[0] : this.toBeProcessedDatavalue;\n }\n this.toBeProcessedDatavalue = undefined;\n }\n\n this.initDisplayValues();\n }, 150);\n\n // Updates the displayValue property.\n protected initDisplayValues() {\n const displayValues = [];\n this.datasetItems.forEach(item => {\n if (item.selected) {\n displayValues.push(item.label);\n }\n });\n\n this.displayValue = this.multiple ? displayValues : displayValues[0] || '';\n }\n\n // This function parses the dataset and extracts the displayOptions from parsed dataset.\n protected initDatasetItems() {\n if (!this.dataset || _.isEmpty(this.dataset)) {\n this.datasetItems = [];\n // notify the dataset listeners\n this.dataset$.next(this.datasetItems);\n return;\n }\n\n // convert any dataset to the object format.\n const orderedDataset = getOrderedDataset(convertDataToObject(this.dataset), this.orderby);\n\n if (this.usekeys) {\n this.datasetItems = transformDataWithKeys(orderedDataset);\n } else {\n const displayOptions = transformFormData(this.viewParent, orderedDataset, this.datafield, {\n displayField: this.displayfield || this.displaylabel,\n displayExpr: this.displayexpression,\n bindDisplayExpr: this.binddisplayexpression || this.binddisplaylabel,\n bindDisplayImgSrc: this.binddisplayimagesrc,\n displayImgSrc: this.displayimagesrc\n });\n // get the unique objects out of the extracted data. Notify change in datasetItems using [...datasetItems] notation\n this.datasetItems = [...getUniqObjsByDataField(displayOptions, this.datafield, this.displayfield || this.displaylabel, toBoolean(this.allowempty))];\n }\n\n this.postDatasetItemsInit();\n }\n\n // Once the datasetItems are ready, set the proxyModel by using datavalue.\n protected postDatasetItemsInit() {\n if (this.datasetItems.length && !this._defaultQueryInvoked) {\n // use the latest of toBeProcessedDatavalue, datavalue\n const _datavalue = _.isEmpty(this.toBeProcessedDatavalue) ? this.datavalue : this.toBeProcessedDatavalue;\n this.selectByValue(_datavalue);\n }\n // notify the dataset listeners\n this.dataset$.next(this.datasetItems);\n }\n\n // Reset the selected flag on datasetItems to false.\n protected resetDatasetItems() {\n this.datasetItems.forEach(item => item.selected = false);\n }\n\n protected setTemplate(partialName) {\n this.content = partialName;\n if (this.viewParent && this.viewParent.prefabName) {\n this['prefabName'] = this.viewParent.prefabName;\n }\n }\n\n\n private getGroupedData() {\n return this.datasetItems.length ? groupData(this, convertDataToObject(this.datasetItems), this.groupby, this.match, this.orderby, this.dateformat, this.datePipe, 'dataObject', this.appDefaults) : [];\n }\n\n private datasetSubscription() {\n const datasetSubscription = this.dataset$.subscribe(() => {\n this.groupedData = this.getGroupedData();\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n }\n\n protected setGroupData() {\n this.datasetSubscription();\n // If groupby is set, get the groupedData from the datasetItems.\n this.groupedData = this.getGroupedData();\n }\n\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n super.onPropertyChange(key, nv, ov);\n switch (key) {\n case 'dataset':\n case 'datafield':\n case 'displayfield':\n case 'displaylabel':\n case 'displayexpression':\n case 'orderby':\n case 'usekeys':\n this._debouncedInitDatasetItems();\n break;\n case 'required':\n case 'datavalue':\n this._onChange(this.datavalue);\n break;\n case 'groupby':\n case 'match':\n if (this.widgetType !== 'wm-search' && this.widgetType !== 'wm-chips') {\n this.setGroupData();\n }\n break;\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.groupby && (this.widgetType !== 'wm-search' && this.widgetType !== 'wm-chips')) {\n this.setGroupData();\n }\n // adding the handler for header click and toggle headers.\n if (this.groupby && this.collapsible) {\n this.handleHeaderClick = handleHeaderClick;\n this.toggleAllHeaders = toggleAllHeaders.bind(undefined, this);\n }\n }\n}\n","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 ]\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","<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\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 <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\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 </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\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 <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\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 <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\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 </li>\n </ul>\n </li>\n</ng-template>\n","import {Attribute, Component, HostListener, Injector, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {AppDefaults, noop, setListClass, switchClass, UserDefinedExecutionContext} from '@wm/core';\nimport { convertDataToObject, IWidgetConfig, groupData, handleHeaderClick, provideAs, provideAsWidgetRef, styler, toggleAllHeaders } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '../dataset-aware-form.component';\n\nimport { registerProps } from '../checkboxset/checkboxset.props';\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 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 {\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, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n styler(this.nativeElement, this);\n this.multiple = 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 keys.push($el.value);\n });\n\n this.modelByKey = keys;\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\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 this.eventManager.addEventListener(\n node,\n eventName,\n e => {\n if (!$(e.target).is('input')) {\n return;\n }\n locals.$event = e;\n return callback();\n }\n );\n } else if (!_.includes(['change'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n onKeyDown($event) {\n $event.preventDefault();\n $event.target.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 }\n if (key === 'itemsperrow') {\n setListClass(this);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-form-group',\n new Map(\n [\n ['captionposition', PROP_STRING],\n ['name', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {AfterViewInit, ContentChildren, Directive, Injector, Optional} from '@angular/core';\n\nimport {addForIdAttributes, switchClass, UserDefinedExecutionContext} from '@wm/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler, WidgetRef } from '@wm/components/base';\n\nimport { registerProps } from './composite.props';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'form-group app-composite-widget clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-form-group',\n hostClass: DEFAULT_CLS\n};\n\nconst CAPTION_POSITION = {\n left: 'caption-left',\n right: 'caption-right',\n top: 'caption-top',\n floating: 'caption-floating'\n};\n\n@Directive({\n selector: 'div[wmComposite]',\n providers: [\n provideAsWidgetRef(CompositeDirective)\n ]\n})\nexport class CompositeDirective extends StylableComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n // this is the reference to the component refs inside the form-group\n @ContentChildren(WidgetRef, {descendants: true}) componentRefs;\n\n public required: boolean;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n /**\n * this is onPropertyChange handler for the form-group component\n * @param key\n * @param nv\n * @param ov\n */\n onPropertyChange(key, nv, ov) {\n if (key === 'captionposition') {\n switchClass(this.nativeElement, CAPTION_POSITION[nv], CAPTION_POSITION[ov]);\n } else if (key === 'required') {\n this.required = nv;\n this.assignRequiredToSubComponents();\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n /**\n * this method assigns the required on the component/directive based on the required attribute of the form-group\n */\n protected assignRequiredToSubComponents() {\n if (this.required && this.componentRefs) {\n setTimeout(() => {\n this.componentRefs.forEach(componentRef => componentRef.widget.required = true);\n }, 50);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n addForIdAttributes(this.nativeElement);\n\n this.assignRequiredToSubComponents();\n }\n}\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const numberProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['localefilter', PROP_STRING],\n ['minvalue', PROP_NUMBER],\n ['maxvalue', PROP_NUMBER],\n ['name', PROP_STRING],\n ['numberfilter', PROP_STRING],\n ['placeholder', {value: 'Enter number', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['regexp', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['step', {value: 1, ...PROP_NUMBER}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['trailingzero', {value: false, ...PROP_BOOLEAN}],\n ['updateon', PROP_STRING],\n ['inputmode', {value: 'natural', ...PROP_STRING}]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-number',\n numberProps\n );\n registerFormWidget(\n FormWidgetType.NUMBER,\n new Map(numberProps)\n );\n};\n","import { AfterViewInit, ElementRef, Inject, Injectable, Injector } from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\nimport {$appDigest, addClass, switchClass, UserDefinedExecutionContext} from '@wm/core';\nimport { IWidgetConfig, styler, WidgetConfig } from '@wm/components/base';\nimport { BaseFormCustomComponent } from '../../base-form-custom.component';\ndeclare const _;\n\n@Injectable()\nexport abstract class BaseInput extends BaseFormCustomComponent implements AfterViewInit {\n public class: string;\n public autotrim: boolean;\n public imask;\n\n // possible values for ngModelOptions are 'blur' and 'change'\n // default is 'blur'\n public ngModelOptions = {\n updateOn: ''\n };\n\n /**\n * Reference to the input element. All the styles and classes will be applied on this node.\n * Input components must override this\n */\n protected abstract inputEl: ElementRef;\n\n /**\n * Reference to the ngModel directive instance.\n * Used to check the validity of the input\n */\n protected abstract ngModel: NgModel;\n\n protected onPropertyChange(key: string, nv: any, ov: any) {\n // set the class on the input element\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n /* WMS-18269 | Update Angular about the required attr value change */\n this._onChange(this.datavalue);\n }\n\n if (key === 'class') {\n if (this.inputEl.nativeElement) {\n switchClass(this.inputEl.nativeElement, nv, ov);\n }\n } else if (key === 'datavalue') {\n // update the oldDataValue when the datavalue is modified programmatically\n this.updatePrevDatavalue(nv);\n this._onChange(this.datavalue);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n // invoke the change callback\n handleChange(newValue: any) {\n if (this.autotrim && this.datavalue && _.isString(this.datavalue)) {\n this.datavalue = this.datavalue.trim();\n }\n\n this.invokeOnChange(this.datavalue, {type: 'change'}, this.ngModel.valid);\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n super.handleEvent(this.inputEl.nativeElement, eventName, eventCallback, locals);\n }\n }\n\n // invoke the blur callback\n handleBlur($event) {\n this.invokeOnTouched($event);\n }\n\n // Update the model on enter key press\n flushViewChanges(val) {\n // when val contains masked value, update the model with unmasked value\n const unMaskedVal = _.get(this.imask, 'maskRef.unmaskedValue');\n val = unMaskedVal ? unMaskedVal : val;\n this.ngModel.update.next(val);\n $appDigest();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n\n // add the class on the input element\n if (this.class) {\n addClass(this.inputEl.nativeElement, this.class);\n }\n styler(this.inputEl.nativeElement, this);\n }\n\n protected constructor(\n inj: Injector,\n @Inject(WidgetConfig) config: IWidgetConfig,\n _viewParent: UserDefinedExecutionContext\n ) {\n super(inj, config, _viewParent);\n let updateOn = this.nativeElement.getAttribute('updateon') || 'blur';\n updateOn = updateOn === 'default' ? 'change' : updateOn;\n this.ngModelOptions.updateOn = updateOn;\n }\n}\n","import { Injector } from '@angular/core';\nimport { AbstractControl, Validator } from '@angular/forms';\nimport { getLocaleNumberSymbol, NumberSymbol } from '@angular/common';\n\nimport {AbstractI18nService, isDefined, UserDefinedExecutionContext} from '@wm/core';\nimport { IWidgetConfig, TrailingZeroDecimalPipe, INPUTMODE } from '@wm/components/base';\n\nimport { BaseInput } from '../base/base-input';\n\ndeclare const _;\n\nexport abstract class NumberLocale extends BaseInput implements Validator {\n private DECIMAL: string;\n private GROUP: string;\n private selectedLocale: string;\n private proxyModel: number;\n private numberNotInRange: boolean;\n private isInvalidNumber: boolean;\n private isDefaultQuery: boolean = true;\n private decimalValue: string = '';\n public displayValue: string;\n private numberfilter: string;\n private localefilter: string;\n public readonly: boolean;\n\n public placeholder: string;\n public minvalue: number;\n public maxvalue: number;\n public updateon: string;\n public step: number;\n public trailingzero: boolean;\n private validateType: string;\n public inputmode: string;\n private lastValIsDecimal: boolean;\n\n constructor(\n inj: Injector,\n config: IWidgetConfig,\n _viewParent: UserDefinedExecutionContext,\n private i18nService: AbstractI18nService,\n private trailingZeroDecimalPipe: TrailingZeroDecimalPipe\n ) {\n super(inj, config, _viewParent);\n this.selectedLocale = i18nService.getSelectedLocale();\n this.DECIMAL = getLocaleNumberSymbol(this.localefilter || this.selectedLocale, NumberSymbol.Decimal);\n this.GROUP = getLocaleNumberSymbol(this.localefilter || this.selectedLocale, NumberSymbol.Group);\n this.numberfilter = '1.0-16';\n this.resetValidations();\n }\n\n // Setter for the datavalue.\n // @ts-ignore\n set datavalue(value: number) {\n this.lastValIsDecimal = false;\n\n // set text value to null if data value is empty.\n if (_.includes([null, undefined, ''], value)) {\n const input = this.inputEl.nativeElement;\n const prevDataValue = (this as any).prevDatavalue;\n this.displayValue = input.value = this.proxyModel = null;\n this.resetValidations();\n if (prevDataValue && !this.isDefaultQuery) {\n this.handleChange(value);\n this._onChange();\n }\n return;\n }\n // if the widget has default value and if we change the locale, the value should be in selected locale format.\n if (this.isDefaultQuery) {\n const isLocalizedNumber = _.isString(value) && _.includes(value, this.DECIMAL);\n const parts = isLocalizedNumber ? (value as any).split(this.DECIMAL) : _.isString(value) && (value as any).split('.');\n this.decimalValue = parts[1] || '';\n (value as any) = isLocalizedNumber ? value : this.transformNumber(value);\n }\n\n const numberReg = /\\d/;\n const strVal = value.toString();\n let model;\n // When the input value only contains seperator, do not convert the sepertaor into 0\n if (numberReg.test(strVal)) {\n model = this.parseNumber(strVal);\n } else {\n model = NaN;\n }\n\n // On keypress, if the user types a decimal and is still active on the input do not throw error.\n if (_.isNaN(model) && strVal[strVal.length - 1] === this.DECIMAL && this.ngModelOptions.updateOn === 'change' && this.$element.find('input:focus').length) {\n this.lastValIsDecimal = true;\n }\n // get a valid number form the text.\n // if the number is valid or if number is not in range update the model value.\n if (!this.lastValIsDecimal && this.isValid(model)) {\n this.proxyModel = model;\n // update the display value in the text box.\n this.updateDisplayText();\n // Do not trigger onchange event for default value\n if (!this.isDefaultQuery) {\n this.handleChange(model);\n }\n } else {\n this.displayValue = value.toString();\n this.proxyModel = null;\n this.handleChange(null);\n }\n }\n\n // returns the actual model value of the widget.\n get datavalue(): number {\n return this.proxyModel;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.isInvalidNumber = false;\n this.numberNotInRange = false;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValid(val: number): boolean {\n // id number is infinite then consider it as invalid value\n if (_.isNaN(val) || !_.isFinite(val) || (!Number.isInteger(this.step) &&\n this.countDecimals(val) > this.countDecimals(this.step))) {\n this.isInvalidNumber = true;\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.numberNotInRange = true;\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n if (!_.isNaN(this.minvalue) && value < this.minvalue) {\n this.validateType = 'minvalue';\n return this.minvalue;\n\n }\n if (!_.isNaN(this.maxvalue) && value > this.maxvalue) {\n this.validateType = 'maxvalue';\n return this.maxvalue;\n }\n return value;\n }\n\n /**\n * convert number to localized number using angular decimal pipe. eg 10,00,000 or 1,000,000\n * @param number\n * @returns {string}\n */\n private transformNumber(number, numberfilter?): string {\n const filterVal = numberfilter ? numberfilter : this.numberfilter;\n return this.trailingZeroDecimalPipe.transform(number, this.selectedLocale, filterVal, this.localefilter, this.trailingzero, this.decimalValue, !!numberfilter, this.i18nService?.getwidgetLocale());\n }\n\n /**\n * resets the cursor position in the text box.\n * @param {number} value cursor position index form left to right.\n */\n private resetCursorPosition(value: number) {\n const input = this.inputEl.nativeElement;\n // position of the cursor should be given form right to left.\n let position = input.value.length - value;\n position = position < 0 ? 0 : position;\n // set the cursor position in the text box.\n input.setSelectionRange(position, position);\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): number {\n // WMS-22179: split number based on the decimal seperator in the val\n let seperator;\n if (val.indexOf(this.DECIMAL) > -1) {\n seperator = this.DECIMAL;\n } else {\n seperator = '.';\n }\n // splits string into two parts. decimal and number.\n const parts = val.split(seperator);\n if (!parts.length) {\n return null;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n // updates the widgets text value.\n private updateDisplayText() {\n const input = this.inputEl.nativeElement;\n const position: number = input.selectionStart;\n const preValue: string = input.value;\n if (!this.isDefaultQuery) {\n const parts = preValue.split(this.DECIMAL);\n this.decimalValue = parts[1] || '';\n }\n const stepVal = this.stepLength();\n if (this.inputmode === INPUTMODE.FINANCIAL && stepVal) {\n this.displayValue = input.value = this.transformNumber(this.proxyModel, `1.${stepVal}-${stepVal}`);\n this.decimalValue = this.decimalValue.replace(/\\D/g,'');\n } else {\n this.displayValue = input.value = this.transformNumber(this.proxyModel);\n }\n // in safari browser, setSelectionRange will focus the input by default, which may invoke the focus event on widget.\n // Hence preventing the setSelectionRange when default value is set i.e. widget is not focused.\n if (this.updateon === 'default' && !this.isDefaultQuery) {\n this.resetCursorPosition(preValue.length - position);\n }\n }\n\n // This function returns the step length set in the studio\n private stepLength() {\n const stepLen = this.step.toString().split('.');\n if (stepLen.length === 1 ) {\n return;\n } else {\n return stepLen[1].length;\n }\n }\n\n // This function checks if the currency widget has input mode as natural and trailing zero is defined or not\n public isNaturalCurrency() {\n return this.inputmode === INPUTMODE.NATURAL && this.widgetType === 'wm-currency' && !!this.trailingzero;\n }\n\n /**\n * @param value contains the value entered in the input box\n * This function modifies the user input value, into financial mode.\n * Number starts from highest precesion decimal, on typing number shifts to the left\n */\n public onInputChange(value: any) {\n const stepVal = this.stepLength();\n // WMS-22355, Trigger change cb if value exists or value is empty but datavalue exists (when value is selected and deleted).\n if (isDefined(value) && (value !== '' || this.datavalue)) {\n this.handleChange(value);\n } else {\n return;\n }\n\n if (!stepVal || this.inputmode !== INPUTMODE.FINANCIAL) {\n return;\n }\n\n let financialVal;\n\n /**\n * If the value is entered by the user, format the input\n * If the value is provided as default value, skip formatting\n */\n if (this.isDefaultQuery) {\n financialVal = parseFloat(value);\n } else {\n const valInWholeNum = parseInt(value.toString().replace(/\\D/g,''));\n financialVal = valInWholeNum * this.step;\n }\n\n if (!_.isNaN(financialVal)) {\n // When update on key is set keypress, update the datavalue else update only the display value\n if (this.ngModelOptions.updateOn === 'change') {\n this.datavalue = parseFloat(financialVal.toFixed(stepVal));\n this.handleChange(this.datavalue);\n } else {\n this.displayValue = financialVal.toFixed(stepVal);\n }\n } else if (this.ngModelOptions.updateOn !== 'blur') {\n this.datavalue = undefined;\n this.handleChange(null);\n }\n }\n\n // Input mode is financial and trailing zero is set to false, On focus set display val to fixed point notation and On blur strip trailing zeros\n // In currency, inputmode is natural and trailing zero and step are defined, on blur display val to fixed point notation and on focus strip the zeros\n public checkForTrailingZeros($event) {\n const stepVal = this.stepLength();\n const financialMode = !this.trailingzero && this.inputmode === INPUTMODE.FINANCIAL;\n\n // If the user's last input is a decimal and not active on input field, throw error\n if (this.lastValIsDecimal) {\n this.onModelChange(this.displayValue);\n }\n if (!financialMode && !this.isNaturalCurrency()) {\n return;\n }\n if (stepVal && this.datavalue) {\n let numberfilter;\n if ((financialMode && $event.type === 'focus') || (this.isNaturalCurrency() && $event.type === 'blur')) {\n numberfilter = `1.${stepVal}-${stepVal}`;\n }\n this.displayValue = this.transformNumber(this.datavalue, numberfilter);\n }\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value) {\n if ((value % 1) !== 0) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n /**\n * handles the arrow press event. Increases or decreases the number. triggered fom the template\n * @param $event keyboard event.\n * @param key identifier to increase or decrease the number.\n */\n public onArrowPress($event, key) {\n $event.preventDefault();\n if (this.readonly || this.step === 0) {\n return;\n }\n const targetVal = $event.target.value.replace(/,/g, '');\n\n // proxyModel to be updated from $event.target.value if present to support arrow keys when input changes else pick up from this.proxymodel\n let proxyModel;\n if (targetVal && !_.isNaN(parseFloat(targetVal))) {\n proxyModel = parseFloat(targetVal);\n } else {\n proxyModel = this.proxyModel;\n }\n\n let value;\n\n // if the number is not in range and when arrow buttons are pressed need to get appropriate number value.\n if (this.numberNotInRange) {\n const inputValue = this.parseNumber(this.inputEl.nativeElement.value);\n // take the textbox value as current model if the value is valid.\n if (!_.isNaN(inputValue)) {\n value = this.getValueInRange(inputValue);\n proxyModel = inputValue;\n this.resetValidations();\n }\n } else {\n if (_.isUndefined(proxyModel) || _.isNull(proxyModel)) {\n proxyModel = value = this.getValueInRange((this.minvalue || 0));\n this.resetValidations();\n } else {\n value = this.getValueInRange(proxyModel + (key === 'UP' ? this.step : -this.step));\n }\n }\n if ((key === 'UP' && proxyModel <= value) || (key === 'DOWN' && proxyModel >= value)) {\n const decimalRoundValue = Math.max(this.countDecimals(proxyModel), this.countDecimals(this.step));\n\n // update the modelProxy.\n this.proxyModel = _.round(value, decimalRoundValue);\n this.updateDisplayText();\n this.handleChange(this.proxyModel);\n }\n }\n\n /**\n * method is called from the from widget. to check whether the value entered is valid or not.\n * @returns {object}\n */\n public validate(c: AbstractControl) {\n if (this.isInvalidNumber) {\n this.validateType = '';\n return {\n invalidNumber: {\n valid: false\n },\n };\n }\n if (this.numberNotInRange) {\n return {\n numberNotInRange: {\n valid: false\n },\n };\n }\n this.validateType = '';\n /* WMS-18269 | Extending the existing validation for 'required' */\n if (this['show'] && this['required']) {\n return (!!c.value || c.value === 0) ? null : { required: true };\n }\n return null;\n }\n\n public validateInputEntry($event) {\n\n this.isDefaultQuery = false;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || _.includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n\n // when input mode is financial, do not restrict user on entering the value when step value limit is reached.\n const skipStepValidation = this.inputmode === INPUTMODE.FINANCIAL;\n\n // Validates if user eneters more than 16 digits\n if (inputValue) {\n const parsedVal = parseInt(inputValue.toString().replace(/\\D/g,''));\n if (parsedVal.toString().length > 15) {\n // WMS-22321: If the number is greater than MAX_SAFE_INTEGER (more than 15 numbers).\n // user selects a range of digits and presses a key.\n // Do not throw validation of exceeded number as selected range value will be deleted.\n const selectedVal = window.getSelection();\n if (selectedVal && selectedVal.toString() && selectedVal.focusNode === this.nativeElement) {\n return true;\n }\n return false;\n }\n }\n\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n // Restrict user from entering only if the decimal limit is reached and the new digit is entered in decimal place\n if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {\n return false;\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n return false;\n }\n // comma cannot be entered consecutively\n if (_.includes(inputValue, ',') && inputValue[inputValue.length - 1] === ',' && $event.key === ',') {\n return false;\n }\n\n // a decimal value can be entered only once in the input.\n if (_.includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n return false;\n }\n // 'e' can be entered only once in the input.\n if (_.intersection(_.toArray(inputValue), ['e', 'E']).length && _.includes('eE', $event.key)) {\n return false;\n }\n if ((_.includes(inputValue, '+') || _.includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n return false;\n }\n // Do not allow user to enter only space without any input value\n if (!inputValue && $event.code === 'Space') {\n return false;\n }\n }\n\n onBackspace($event) {\n this.isDefaultQuery = false;\n }\n\n onEnter($event) {\n this.datavalue = $event.target.value;\n }\n\n onModelChange($event) {\n if (this.inputmode === INPUTMODE.NATURAL || (this.inputmode === INPUTMODE.FINANCIAL && this.ngModelOptions.updateOn === 'blur')) {\n this.datavalue = $event;\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n if (key === 'minvalue' || key === 'maxvalue') {\n this.isValid(nv);\n } else if (key === 'datavalue' && !ov) {\n if (this.isNaturalCurrency()) {\n this.checkForTrailingZeros({type: 'blur'});\n } else {\n this.onInputChange(nv);\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\nimport {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\n\nimport {AbstractI18nService, UserDefinedExecutionContext} from '@wm/core';\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, TrailingZeroDecimalPipe } from '@wm/components/base';\n\nimport { registerProps } from './number.props';\nimport { NumberLocale } from '../text/locale/number-locale';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-number',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: '[wmNumber]',\n templateUrl: './number.component.html',\n providers: [\n provideAs(NumberComponent, NG_VALUE_ACCESSOR, true),\n provideAs(NumberComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(NumberComponent)\n ]\n})\nexport class NumberComponent extends NumberLocale {\n static initializeProps = registerProps();\n\n public required: boolean;\n public regexp: string;\n public disabled: boolean;\n public name: string;\n public hint: string;\n public tabindex: any;\n public shortcutkey: string;\n public autofocus: boolean;\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel, {static: true}) ngModel: NgModel;\n\n constructor(inj: Injector, i18nService: AbstractI18nService, trailingZeroDecimalPipe: TrailingZeroDecimalPipe, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent, i18nService, trailingZeroDecimalPipe);\n }\n}\n","<input class=\"form-control app-textbox app-number-input\"\n inputmode=\"decimal\"\n focus-target\n [attr.name]=\"name\"\n role=\"textbox\"\n type=\"text\"\n [ngModel]=\"displayValue\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"handleBlur($event); checkForTrailingZeros($event);\"\n (focus)=\"checkForTrailingZeros($event)\"\n (input)=\"onInputChange($event.target.value)\"\n [ngModelOptions]=\"ngModelOptions\"\n [required]=\"required\"\n (keypress)=\"validateInputEntry($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.ArrowUp)=\"onArrowPress($event, 'UP')\"\n (keydown.ArrowDown)=\"onArrowPress($event, 'DOWN')\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const radiosetProps = 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_ANY],\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 ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-radioset',\n radiosetProps\n );\n registerFormWidget(\n FormWidgetType.RADIOSET,\n new Map(radiosetProps)\n );\n};\n","<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems;let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n","import {Component, Injector, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {setListClass, UserDefinedExecutionContext} from '@wm/core';\n\nimport { provideAsWidgetRef, styler, provideAs } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '../dataset-aware-form.component';\nimport { registerProps } from './radioset.props';\n\ndeclare const $, _;\n\nconst DEFAULT_CLS = 'app-radioset list-group inline';\nconst WIDGET_CONFIG = {widgetType: 'wm-radioset', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: '[wmRadioset]',\n exportAs: 'wmRadioset',\n templateUrl: './radioset.component.html',\n providers: [\n provideAs(RadiosetComponent, NG_VALUE_ACCESSOR, true),\n provideAs(RadiosetComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(RadiosetComponent)\n ]\n})\nexport class RadiosetComponent extends DatasetAwareFormComponent {\n static initializeProps = registerProps();\n\n public layout = '';\n public disabled: boolean;\n public itemsperrow: string;\n private itemsPerRowClass: string;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n styler(this.nativeElement, this);\n this.multiple = false;\n }\n\n /**\n * On click of the option, update the datavalue\n */\n onRadioLabelClick($event, key) {\n if (!$($event.target).is('input')) {\n return;\n }\n\n this.modelByKey = key;\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\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 this.eventManager.addEventListener(\n node,\n eventName,\n e => {\n if (!$(e.target).is('input')) {\n return;\n }\n locals.$event = e;\n return callback();\n }\n );\n } else if (!_.includes(['change'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'itemsperrow') {\n setListClass(this);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { FormWidgetType } from '@wm/core';\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const selectProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', {value: '', ...PROP_STRING}],\n ['compareby', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', 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 ['hint', PROP_STRING],\n ['match', PROP_STRING],\n ['multiple', {value: false, ...PROP_BOOLEAN}],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['placeholder', 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 ['usekeys', PROP_BOOLEAN]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-select',\n selectProps\n );\n registerFormWidget(\n FormWidgetType.SELECT,\n new Map(selectProps)\n );\n registerFormWidget(\n FormWidgetType.TYPEAHEAD,\n new Map(selectProps)\n );\n};\n","<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (focus)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-multiselectable]=\"multiple\"\n [autofocus]=\"autofocus\"\n>\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </ng-container>\n</select>\n","import {AfterViewInit, Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {DataSource, removeAttr, setAttr, UserDefinedExecutionContext} from '@wm/core';\nimport { provideAsWidgetRef, provideAs, styler } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '../dataset-aware-form.component';\n\nimport { registerProps } from './select.props';\n\ndeclare const _;\n\nconst WIDGET_CONFIG = {widgetType: 'wm-select', hostClass: 'app-select-wrapper'};\n\n@Component({\n selector: 'wm-select',\n templateUrl: './select.component.html',\n providers: [\n provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),\n provideAs(SelectComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(SelectComponent)\n ]\n})\nexport class SelectComponent extends DatasetAwareFormComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n public readonly: boolean;\n public placeholder: string;\n public navsearchbar: any;\n public class: any;\n public required: boolean;\n public disabled: boolean;\n public tabindex: any;\n public name: string;\n public autofocus: boolean;\n public hint: string;\n\n @ViewChild('select', { static: true, read: ElementRef }) selectEl: ElementRef;\n\n set datasource(ds) {\n if (ds && ds.execute && ds.execute(DataSource.Operation.IS_BOUND_TO_LOCALE)) {\n this.datavalue = ds.execute(DataSource.Operation.GET_DEFAULT_LOCALE);\n }\n }\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n this.acceptsArray = true;\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.selectEl.nativeElement as HTMLElement, this);\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (!_.includes(['blur', 'change'], eventName)) {\n super.handleEvent(this.selectEl.nativeElement, eventName, eventCallback, locals);\n }\n }\n\n onSelectValueChange($event) {\n if (this.readonly) {\n if (this.placeholder) {\n this.selectEl.nativeElement.value = this.placeholder;\n } else {\n this.selectEl.nativeElement.value = '';\n }\n this.datavalue = (this as any).prevDatavalue;\n return;\n }\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n if (key === 'class' || key === 'tabindex') {\n return;\n } else if (key === 'readonly') {\n (nv === true) ? setAttr(this.selectEl.nativeElement, 'readonly', 'readonly') : removeAttr(this.selectEl.nativeElement, 'readonly') ;\n }\n super.onPropertyChange(key, nv, ov);\n }\n\n /**\n * When caption floating is enabled and placeholder is given, do not show placeholder until user focuses on the field\n * When focused add the placeholder to the option which is selected\n * On blur, remove the placeholder and do not animate the label\n * @param $event event received will be either a blur or focus event\n */\n checkForFloatingLabel($event) {\n const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');\n if (captionEl.length > 0) {\n if ($event.type === 'focus' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {\n $(this.selectEl.nativeElement).find('option:first').text(this.placeholder);\n } else if (!this.datavalue) {\n $(this.selectEl.nativeElement).find('option:selected').text('');\n captionEl.removeClass('float-active');\n }\n }\n }\n}\n","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_STRING],\n ['iconclass', 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","<div role=\"group\" class=\"btn-group btn-group-justified\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass]\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\">\n <i *ngIf=\"iconclass\"\n class=\"app-icon {{(selectedItem && selectedItem.dataObject) && selectedItem.dataObject[iconclass]}}\"></i>\n {{selectedItem ? selectedItem.label : modelByKey}}\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n","import {AfterViewInit, Component, Injector, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {$appDigest, debounce, isDefined, setCSS, toBoolean, UserDefinedExecutionContext} from '@wm/core';\nimport { DataSetItem, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '../dataset-aware-form.component';\n\nimport { registerProps } from './switch.props';\n\ndeclare const _, $;\n\nconst DEFAULT_CLS = 'app-switch';\nconst WIDGET_CONFIG = {widgetType: 'wm-switch', hostClass: DEFAULT_CLS};\n\n@Component({\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 private btnwidth;\n public disabled: boolean;\n public required: boolean;\n private _debounceSetSelectedValue: Function;\n public name: string;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\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) {\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 this.modelByKey = option.key;\n this.invokeOnTouched();\n\n if (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 // 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 super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const inputCalendarTypeProps = new Map(\n [\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['datasource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['maxvalue', PROP_NUMBER],\n ['minvalue', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['step', PROP_NUMBER],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', PROP_STRING],\n ['updateon', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-input-calendar',\n inputCalendarTypeProps\n );\n};\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { registerProps } from './input-calendar.props';\nimport { BaseInput } from '../base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-calendar',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-input[type=\"date\"], wm-input[type=\"datetime-local\"], wm-input[type=\"month\"], wm-input[type=\"time\"], wm-input[type=\"week\"]',\n templateUrl: './input-calendar.component.html',\n providers: [\n provideAs(InputCalendarComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputCalendarComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputCalendarComponent)\n ]\n})\nexport class InputCalendarComponent extends BaseInput {\n static initializeProps = registerProps();\n\n public required: boolean;\n public disabled: boolean;\n public type: string;\n public name: string;\n public readonly: string;\n public minvalue: any;\n public maxvalue: any;\n public step: number;\n public tabindex: any;\n public placeholder: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public autocomplete: any;\n public hint: string;\n\n @ViewChild('input',{static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n }\n}\n","<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint || type + ' field'\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const inputColorTypeProps = new Map([\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...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 ['type', {value: 'color', ...PROP_STRING}],\n ['updateon', PROP_STRING]\n]);\n\nexport const registerProps = () => {\n register(\n 'wm-input-color',\n inputColorTypeProps\n );\n};\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { IWidgetConfig, provideAs, provideAsWidgetRef } from '@wm/components/base';\n\nimport { registerProps } from './input-color.props';\nimport { BaseInput } from '../base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-color',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-input[type=\"color\"]',\n templateUrl: './input-color.component.html',\n providers: [\n provideAs(InputColorComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputColorComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputColorComponent)\n ]\n})\nexport class InputColorComponent extends BaseInput {\n static initializeProps = registerProps();\n\n public required: boolean;\n public maxchars: number;\n public name: string;\n public readonly: boolean;\n public tabindex: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public disabled: boolean;\n public placeholder: any;\n public type: string;\n public hint: string;\n\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n }\n}\n","<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n role=\"textbox\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const inputEmailTypeProps = new Map(\n [\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['maxchars', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['regexp', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'email', ...PROP_STRING}],\n ['updateon', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-input-email',\n inputEmailTypeProps\n );\n};\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\n\nimport { registerProps } from './input-email.props';\nimport { BaseInput } from '../base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-email',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-input[type=\"email\"]',\n templateUrl: './input-email.component.html',\n providers: [\n provideAs(InputEmailComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputEmailComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputEmailComponent)\n ]\n})\nexport class InputEmailComponent extends BaseInput {\n static initializeProps = registerProps();\n\n public required: boolean;\n public maxchars: number;\n public disabled: boolean;\n public name: string;\n public readonly: boolean;\n public tabindex: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public autocomplete: any;\n public regexp: string;\n public placeholder: any;\n public type: string;\n public hint: string;\n\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n }\n}\n","<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n email\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const inputNumberTypeProps = new Map(\n [\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['maxchars', PROP_NUMBER],\n ['maxvalue', PROP_NUMBER],\n ['minvalue', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['regexp', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['step', PROP_NUMBER],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'number', ...PROP_STRING}],\n ['updateon', PROP_STRING]\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-input-number',\n inputNumberTypeProps\n );\n};\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { IWidgetConfig, provideAs, provideAsWidgetRef } from '@wm/components/base';\nimport { registerProps } from './input-number.props';\nimport { BaseInput } from '../base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-number',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-input[type=\"number\"]',\n templateUrl: './input-number.component.html',\n providers: [\n provideAs(InputNumberComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputNumberComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputNumberComponent)\n ]\n})\nexport class InputNumberComponent extends BaseInput {\n static initializeProps = registerProps();\n\n public required: boolean;\n public maxchars: number;\n public disabled: boolean;\n public name: string;\n public readonly: boolean;\n public minvalue: number;\n public maxvalue: number;\n public tabindex: any;\n public placeholder: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public autocomplete: any;\n public type: string;\n public hint: string;\n\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n public step;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n }\n\n onArrowPress($event) {\n if (this.step === 0) {\n $event.preventDefault();\n }\n }\n\n public validateInputEntry($event) {\n if ($event.key === 'e' && $event.target.value.indexOf($event.key) !== -1) {\n return false;\n }\n }\n}\n","<input class=\"form-control app-textbox\"\n [ngClass]=\"{'step-hidden': step === 0}\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n (keydown.ArrowUp)=\"onArrowPress($event)\"\n (keydown.ArrowDown)=\"onArrowPress($event)\"\n (keypress)=\"validateInputEntry($event)\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\n\nimport { inputNumberTypeProps } from '../number/input-number.props';\nimport { inputCalendarTypeProps } from '../calendar/input-calendar.props';\nimport { inputColorTypeProps } from '../color/input-color.props';\nimport { inputEmailTypeProps } from '../email/input-email.props';\n\nexport const inputTextTypeProps = new Map(\n [\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayformat', PROP_STRING],\n ['hint', PROP_STRING],\n ['maxchars', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['regexp', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showdisplayformaton', {value: 'always', ...PROP_ANY}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'text', ...PROP_STRING}],\n ['updateon', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-input-text',\n inputTextTypeProps\n );\n registerFormWidget(\n FormWidgetType.PASSWORD,\n new Map(inputTextTypeProps)\n );\n const formTextProps = new Map(inputTextTypeProps);\n\n const mergeTextProps = (typeProps) => {\n typeProps.forEach((v: any, k) => formTextProps.set(k, v));\n };\n mergeTextProps(inputCalendarTypeProps);\n mergeTextProps(inputColorTypeProps);\n mergeTextProps(inputEmailTypeProps);\n mergeTextProps(inputNumberTypeProps);\n registerFormWidget(\n FormWidgetType.TEXT,\n new Map(formTextProps)\n );\n};\n","import {Component, ElementRef, Injector, OnInit, Optional, ViewChild} from '@angular/core';\nimport {NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS} from '@angular/forms';\n\nimport {IWidgetConfig, provideAs, provideAsWidgetRef} from '@wm/components/base';\nimport {registerProps} from './input-text.props';\nimport {BaseInput} from '../base/base-input';\nimport { IMaskDirective } from 'angular-imask';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\ndeclare const _;\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-text',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n 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\"]',\n templateUrl: './input-text.component.html',\n providers: [\n provideAs(InputTextComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputTextComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputTextComponent)\n ]\n})\nexport class InputTextComponent extends BaseInput implements OnInit{\n static initializeProps = registerProps();\n\n public required: boolean;\n public maxchars: number;\n public regexp: string;\n public displayformat: string;\n public disabled: boolean;\n public type: any;\n public name: string;\n public readonly: boolean;\n public tabindex: any;\n public placeholder: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public autocomplete: any;\n public maskVal: any;\n public isFocused: boolean;\n private lazy: boolean = false;\n public hint: string;\n\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n @ViewChild('input', {read: IMaskDirective}) imask: IMaskDirective<any>;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n }\n\n /* Define the property change handler. This function will be triggered when there is a change in the widget property */\n onPropertyChange(key, nv, ov) {\n /*Monitoring changes for styles or properties and accordingly handling respective changes.*/\n switch (key) {\n case 'displayformat':\n this.maskVal = this.displayformat;\n this.checkForDisplayFormat();\n break;\n case 'showdisplayformaton':\n this.lazy = nv === 'keypress' ? true : false;\n break;\n default:\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n get mask() {\n if (this.displayformat && (!this.placeholder || (this.placeholder && this.isFocused))) {\n return {\n mask: this.maskVal,\n lazy: this.lazy,\n definitions: {\n '9': /\\d/,\n 'A': /[a-zA-Z]/,\n 'a': /[a-z]/,\n '*': /\\w/\n }\n };\n } else {\n return false;\n }\n }\n\n // show display format on focus or when it has a data value present. Else show the placeholder\n public checkForDisplayFormat($event?) {\n if (this.displayformat) {\n this.isFocused = (($event && $event.type === 'focus') || this.datavalue) ? true : false;\n // Do not show format placeholder when no value is present on blur\n if (!this.isFocused && this.imask && this.imask.maskRef) {\n this.imask.maskRef.updateOptions({ lazy: true });\n // on blur, when no value is present assign maskref to null, as in some cases (where format palceholder starts with pranthesis) the format placeholder is still shown. WMS-20124\n if (!this.datavalue && this.imask.maskRef.value) {\n this.imask.maskRef.value = this.datavalue;\n }\n } else {\n // when display format is dynamically populated, cursor position is at the end of the format, readjusting the cursor position based on masked input value\n // Adding timeout, as the below code should be on hold until imask model is generated\n setTimeout(() => {\n if (this.imask && this.imask.maskRef && this.imask.maskRef.value) {\n const maskValIndex = this.imask.maskRef.value.indexOf('_');\n const enteredMaskVal = maskValIndex >= 0 ? this.imask.maskRef.value.slice(0, maskValIndex).length : this.imask.maskRef.value.length;\n if (enteredMaskVal !== this.imask.maskRef.cursorPos) {\n this.imask.maskRef.updateCursor(enteredMaskVal);\n }\n }\n }, 50);\n }\n } else if (this.imask && this.imask.maskRef) { // When display format is bound via condition, remove the placeholder when the format is not applicable\n this.imask.maskRef.updateOptions({ lazy: true });\n // when display format is removed assign input value to the datavalue attr. WMS-20124\n this.inputEl.nativeElement.value = this.datavalue;\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.isFocused = !!this.datavalue;\n }\n}\n","<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const textareaProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['maxchars', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Place your text', ...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 ['updateon', PROP_STRING],\n ['limitdisplaytext', PROP_STRING],\n ['charlength', PROP_NUMBER],\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-textarea',\n textareaProps\n );\n registerFormWidget(\n FormWidgetType.TEXTAREA,\n new Map(textareaProps)\n );\n};\n","<textarea class=\"form-control app-textarea\"\n focus-target\n role=\"textbox\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n aria-multiline=\"true\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (input)=\"onInputChange()\"\n (ngModelChange)=\"handleChange($event); onInputChange();\"\n #textarea\n></textarea>\n\n<div *ngIf=\"maxchars\" class=\"textarea-count\" >{{limitdisplaytext}}</div>\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { provideAs, provideAsWidgetRef } from '@wm/components/base';\n\nimport { registerProps } from './textarea.props';\nimport { BaseInput } from '../text/base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\nconst WIDGET_CONFIG = {\n widgetType: 'wm-textarea',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-textarea',\n templateUrl: './textarea.component.html',\n providers: [\n provideAs(TextareaComponent, NG_VALUE_ACCESSOR, true),\n provideAs(TextareaComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(TextareaComponent)\n ]\n})\nexport class TextareaComponent extends BaseInput {\n static initializeProps = registerProps();\n public required: boolean;\n public maxchars: number;\n public disabled: boolean;\n public name: string;\n public readonly: boolean;\n public tabindex: any;\n public placeholder: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public hint: string;\n public limitdisplaytext: string;\n public charlength: number = 0;\n\n @ViewChild('textarea', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n }\n\n public onInputChange() {\n this.charlength = this.inputEl.nativeElement.value.length;\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Injector, OnInit, OnDestroy } from '@angular/core';\nimport { App } from '@wm/core';\n\ndeclare const _, $;\n@Directive({\n selector: '[captionPosition]'\n})\nexport class CaptionPositionDirective implements AfterViewInit, OnInit, OnDestroy {\n private elementRef: ElementRef;\n private inputEl;\n private nativeEl;\n private compositeEle;\n private app: App;\n private labelAnimationSubscription;\n private placeholder;\n private _attrObserver;\n private _isPlaceholderBound;\n\n // skip floating caption for the below form fields\n private skipFloatPositionWidgets: string[] = ['radioset', 'checkboxset', 'richtext', 'switch', 'chips', 'checkbox', 'slider', 'rating', 'toggle', 'upload'];\n\n constructor(inj: Injector, app: App) {\n this.elementRef = inj.get(ElementRef);\n this.nativeEl = this.elementRef.nativeElement;\n this.app = app;\n }\n\n private onBlurCb() { // on blur, remove animation and placeholder if there is no value\n let mobileInputVal;\n // In case of mobile date / time picker check for input element's value which has 'mobile-input' class\n if (this.inputEl.length > 1 && this.inputEl.hasClass('mobile-input')) { \n _.forEach(this.inputEl, (el) => {\n if ($(el).hasClass('mobile-input') && el.value) {\n mobileInputVal = el.value;\n }\n });\n }\n if (!this.inputEl.val() && !mobileInputVal) {\n this.compositeEle.classList.remove('float-active');\n this.inputEl.removeAttr('placeholder');\n }\n }\n\n private onFocusCb() { // on focus, add animation class and the place holder\n this.compositeEle.classList.add('float-active');\n this.inputEl.attr('placeholder', this.placeholder);\n }\n\n // For select widget, display placeholder only on focus else remove the text of the option selected.\n private checkForSelectPlaceholder() {\n if ($(this.nativeEl).find('select option:selected').text() && !$(this.nativeEl).find('select').is(':focus') &&\n !$(this.inputEl.closest('[widget-id]')).attr('datavalue')) {\n $(this.nativeEl).find('select option:selected').text('');\n }\n }\n\n private setDefaultValueAnimation() { // set animation when default values are present\n // remove placeholder when the input el has placeholder and the placeholder is not bound to any variable\n if (!this._isPlaceholderBound && this.inputEl.attr('placeholder')) {\n this.placeholder = this.inputEl.attr('placeholder');\n this.inputEl.removeAttr('placeholder');\n }\n \n // Do not show placeholder as selected by default\n this.checkForSelectPlaceholder();\n\n // check for datavalue attribute in composite element and defaultvalue attribute in form field element\n // check for datavalue.bind attribute to see whether default value is binded via expression or a variable\n // check for displayformat attribute, as in form fields user can set display format to the field\n // check for formdata/bindformdata attribute to see if any default value is binded to the form \n // check for select tag with multiple attribute enabled \n\n if ((this.inputEl.val() && !this.inputEl.is('select')) || $(this.inputEl.closest('[widget-id]')).attr('datavalue') || $(this.inputEl.parent('[widget-id]')).attr('datavalue.bind') || this.nativeEl.getAttribute('defaultvalue')\n || this.nativeEl.getAttribute('displayformat') || $(this.nativeEl).find('select option:selected').text() || $(this.nativeEl).find('select').attr('multiple')) {\n this.compositeEle.classList.add('float-active');\n }\n }\n\n /**\n * Observing placeholder attribute change on DOM instead of having a propChangeHandler fn\n * For composite widgets propertychangehandler function is invoked at independent widgets where as the directive is at composite level\n */\n private observeForPlaceholderAttrChange() {\n this._attrObserver = new MutationObserver(mutations => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === 'placeholder' && this.inputEl.attr('placeholder') && !this.compositeEle.classList.contains('float-active')) {\n this.placeholder = this.inputEl.attr('placeholder');\n this.inputEl.removeAttr('placeholder');\n }\n });\n });\n const config = { attributes: true, childList: false, characterData: false };\n this._attrObserver.observe(this.inputEl[0], config); \n }\n\n // when a form is right aligned and have input-group-btn's like date picker, time picker etc. adjust the css to not overlap the label on the icon\n private checkForRightAlignedForm() {\n const $compositeEle = $(this.compositeEle);\n if ($compositeEle.closest('.align-right').length && $compositeEle.find('.input-group-btn').length) {\n const $label = $compositeEle.find('label');\n if ($compositeEle.find('[wmdatetime]').length) { // for datetime picker, as there will be 2 icons css is different\n $label.addClass('input-grp-dt-icon');\n } else {\n $label.addClass('input-grp-icon');\n }\n }\n }\n\n ngAfterViewInit() {\n this.compositeEle = this.nativeEl;\n const widget = this.nativeEl.widget;\n let captionPosition: string = widget.$attrs.get('captionposition');\n if (widget.form) {\n captionPosition = widget.form.$attrs.get('captionposition');\n this.compositeEle = this.nativeEl.querySelector('.app-composite-widget');\n this._isPlaceholderBound = this.nativeEl.getAttribute('placeholder.bind');\n }\n if (captionPosition === 'floating') {\n if (widget.form) { // for form-fields remove caption-floating and replace it with caption-float or caption-top\n const widgetType: string = this.nativeEl.getAttribute('widgettype'); // fetches the form field type\n if (this.skipFloatPositionWidgets.indexOf(widgetType) > -1) {\n this.compositeEle.classList.remove('caption-floating');\n this.compositeEle.classList.add('caption-top');\n }\n this.checkForRightAlignedForm();\n }\n this.inputEl = $(this.nativeEl).find('input, select, textarea');\n if (!this._isPlaceholderBound) {\n this._isPlaceholderBound = this.inputEl.closest('[widget-id]').attr('placeholder.bind');\n }\n // call the below function to apply float-active class when there are default values to the fields\n setTimeout(this.setDefaultValueAnimation.bind(this), 0);\n\n this.inputEl.focus(this.onFocusCb.bind(this));\n this.inputEl.blur(this.onBlurCb.bind(this));\n\n // observe for placeholder attribute change when placeholder is bound via db variable or an expression\n if (this._isPlaceholderBound) {\n this.observeForPlaceholderAttrChange();\n }\n }\n }\n\n // captionPositionAnimate is only notified for date-time, time and search widgets as input el is not updated with value on selection of dropdown/popups\n ngOnInit() {\n this.labelAnimationSubscription = this.app.subscribe('captionPositionAnimate', (data) => {\n // displayVal is true when there is a value entered in the input field\n // In case of form fields, when the field is in focus, isFocused will be set as true\n // isSelectMultiple is set to true when for select widget, multiple option is enabled\n // Checking inputEl focus - when form is represented as dialog and the first field is automatically in focus\n const isInputElFocused = this.inputEl && this.inputEl.is(':focus');\n if (data.displayVal || data.isFocused || data.isSelectMultiple || isInputElFocused) {\n data.nativeEl.addClass('float-active');\n if (!data.displayVal && isInputElFocused) {\n this.inputEl.attr('placeholder', this.placeholder);\n }\n } else {\n data.nativeEl.removeClass('float-active');\n // Remove placeholder on removing float-active, if not the label and placeholder are collided\n // before placeholder is removed assign it to the placeholder variable\n // check for placeholder in inputel and selectel\n if (this.inputEl) {\n const selectEl = this.inputEl.find('option:first');\n if (this.inputEl.attr('placeholder') || selectEl.text()) {\n if (selectEl.length) {\n selectEl.text(''); \n } else {\n this.placeholder = this.inputEl.attr('placeholder');\n this.inputEl.removeAttr('placeholder');\n }\n }\n }\n }\n });\n }\n\n ngOnDestroy() {\n if (this.labelAnimationSubscription) {\n this.labelAnimationSubscription();\n }\n if (this._attrObserver) {\n this._attrObserver.disconnect();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { IMaskModule } from 'angular-imask';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { ButtonComponent } from './button/button.component';\nimport { ButtonGroupDirective } from './button-group/button-group.directive';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { CheckboxsetComponent } from './checkboxset/checkboxset.component';\nimport { CompositeDirective } from './composite/composite.directive';\nimport { NumberComponent } from './number/number.component';\nimport { RadiosetComponent } from './radioset/radioset.component';\nimport { SelectComponent } from './select/select.component';\nimport { SwitchComponent } from './switch/switch.component';\nimport { InputCalendarComponent } from './text/calendar/input-calendar.component';\nimport { InputColorComponent } from './text/color/input-color.component';\nimport { InputEmailComponent } from './text/email/input-email.component';\nimport { InputNumberComponent } from './text/number/input-number.component';\nimport { InputTextComponent } from './text/text/input-text.component';\nimport { TextareaComponent } from './textarea/textarea.component';\nimport { CaptionPositionDirective } from './caption-position.directive';\n\nconst components = [\n ButtonComponent,\n ButtonGroupDirective,\n CaptionPositionDirective,\n CheckboxComponent,\n CheckboxsetComponent,\n CompositeDirective,\n NumberComponent,\n RadiosetComponent,\n SelectComponent,\n SwitchComponent,\n InputCalendarComponent,\n InputColorComponent,\n InputEmailComponent,\n InputNumberComponent,\n InputTextComponent,\n TextareaComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n WmComponentsModule,\n IMaskModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class InputModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","_c1","_c2","DEFAULT_CLS","WIDGET_CONFIG","_c0","_c4","_c3","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/default/src/button/button.props.ts","../../../../../projects/components/widgets/input/default/src/button/button.component.html","../../../../../projects/components/widgets/input/default/src/button/button.component.ts","../../../../../projects/components/widgets/input/default/src/button-group/button-group.props.ts","../../../../../projects/components/widgets/input/default/src/button-group/button-group.directive.ts","../../../../../projects/components/widgets/input/default/src/base-form.component.ts","../../../../../projects/components/widgets/input/default/src/base-form-custom.component.ts","../../../../../projects/components/widgets/input/default/src/checkbox/checkbox.props.ts","../../../../../projects/components/widgets/input/default/src/checkbox/checkbox.component.ts","../../../../../projects/components/widgets/input/default/src/checkbox/checkbox.component.html","../../../../../projects/components/widgets/input/default/src/dataset-aware-form.component.ts","../../../../../projects/components/widgets/input/default/src/checkboxset/checkboxset.props.ts","../../../../../projects/components/widgets/input/default/src/checkboxset/checkboxset.component.html","../../../../../projects/components/widgets/input/default/src/checkboxset/checkboxset.component.ts","../../../../../projects/components/widgets/input/default/src/composite/composite.props.ts","../../../../../projects/components/widgets/input/default/src/composite/composite.directive.ts","../../../../../projects/components/widgets/input/default/src/number/number.props.ts","../../../../../projects/components/widgets/input/default/src/text/base/base-input.ts","../../../../../projects/components/widgets/input/default/src/text/locale/number-locale.ts","../../../../../projects/components/widgets/input/default/src/number/number.component.ts","../../../../../projects/components/widgets/input/default/src/number/number.component.html","../../../../../projects/components/widgets/input/default/src/radioset/radioset.props.ts","../../../../../projects/components/widgets/input/default/src/radioset/radioset.component.html","../../../../../projects/components/widgets/input/default/src/radioset/radioset.component.ts","../../../../../projects/components/widgets/input/default/src/select/select.props.ts","../../../../../projects/components/widgets/input/default/src/select/select.component.html","../../../../../projects/components/widgets/input/default/src/select/select.component.ts","../../../../../projects/components/widgets/input/default/src/switch/switch.props.ts","../../../../../projects/components/widgets/input/default/src/switch/switch.component.html","../../../../../projects/components/widgets/input/default/src/switch/switch.component.ts","../../../../../projects/components/widgets/input/default/src/text/calendar/input-calendar.props.ts","../../../../../projects/components/widgets/input/default/src/text/calendar/input-calendar.component.ts","../../../../../projects/components/widgets/input/default/src/text/calendar/input-calendar.component.html","../../../../../projects/components/widgets/input/default/src/text/color/input-color.props.ts","../../../../../projects/components/widgets/input/default/src/text/color/input-color.component.ts","../../../../../projects/components/widgets/input/default/src/text/color/input-color.component.html","../../../../../projects/components/widgets/input/default/src/text/email/input-email.props.ts","../../../../../projects/components/widgets/input/default/src/text/email/input-email.component.ts","../../../../../projects/components/widgets/input/default/src/text/email/input-email.component.html","../../../../../projects/components/widgets/input/default/src/text/number/input-number.props.ts","../../../../../projects/components/widgets/input/default/src/text/number/input-number.component.ts","../../../../../projects/components/widgets/input/default/src/text/number/input-number.component.html","../../../../../projects/components/widgets/input/default/src/text/text/input-text.props.ts","../../../../../projects/components/widgets/input/default/src/text/text/input-text.component.ts","../../../../../projects/components/widgets/input/default/src/text/text/input-text.component.html","../../../../../projects/components/widgets/input/default/src/textarea/textarea.props.ts","../../../../../projects/components/widgets/input/default/src/textarea/textarea.component.html","../../../../../projects/components/widgets/input/default/src/textarea/textarea.component.ts","../../../../../projects/components/widgets/input/default/src/caption-position.directive.ts","../../../../../projects/components/widgets/input/default/src/input.module.ts","../../../../../projects/components/widgets/input/default/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-button',\n new Map(\n [\n ['animation', PROP_STRING],\n ['badgevalue', PROP_STRING],\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['conditionalclass', PROP_ANY],\n ['conditionalstyle', PROP_ANY],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconheight', PROP_STRING],\n ['iconmargin', PROP_STRING],\n ['iconposition', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['iconwidth', PROP_STRING],\n ['name', PROP_STRING],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', PROP_STRING]\n ]\n )\n );\n};\n","<img data-identifier=\"img\" alt=\"button image\" class=\"button-image-icon\" [src]=\"iconurl | image\" *ngIf=\"iconurl\" [ngStyle]=\"{width:iconwidth, height:iconheight, margin:iconmargin}\"/>\n<i class=\"app-icon {{iconclass}}\" aria-hidden=\"true\" [ngStyle]=\"{width:iconwidth, height:iconheight, margin:iconmargin, fontSize:iconwidth}\" *ngIf=\"iconclass\"></i>\n<span class=\"sr-only\" *ngIf=\"iconclass\">{{caption}} {{appLocale.LABEL_ICON}}</span>\n<span class=\"btn-caption\" [innerHTML]=\"caption\"></span>\n<ng-content select=\".caret\"></ng-content>\n<span *ngIf=\"badgevalue\" class=\"badge pull-right\" [textContent]=\"badgevalue\"></span>\n","import {Component, HostBinding, Injector, Optional} from '@angular/core';\n\nimport { DISPLAY_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './button.props';\nimport { UserDefinedExecutionContext } from '@wm/core';\n\nconst DEFAULT_CLS = 'btn app-button';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-button',\n hostClass: DEFAULT_CLS,\n displayType: DISPLAY_TYPE.INLINE_BLOCK\n};\n\n@Component({\n selector: 'button[wmButton]',\n templateUrl: './button.component.html',\n providers: [\n provideAsWidgetRef(ButtonComponent)\n ],\n exportAs: 'wmButton'\n})\nexport class ButtonComponent extends StylableComponent {\n static initializeProps = registerProps();\n\n public iconurl: string;\n public iconclass: string;\n public caption: string;\n public badgevalue: string;\n @HostBinding('type') type: string;\n @HostBinding('tabIndex') tabindex: number;\n @HostBinding('disabled') disabled: boolean;\n @HostBinding('attr.accesskey') shortcutkey: string;\n @HostBinding('attr.icon-position') iconposition: string;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this);\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-buttongroup',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['vertical', PROP_BOOLEAN]\n ]\n )\n );\n};\n","import {Directive, HostBinding, HostListener, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './button-group.props';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst DEFAULT_CLS = 'btn-group app-button-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-buttongroup',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n selector: '[wmButtonGroup]',\n providers: [\n provideAsWidgetRef(ButtonGroupDirective)\n ]\n})\nexport class ButtonGroupDirective extends StylableComponent {\n static initializeProps = registerProps();\n @HostBinding('class.btn-group-vertical') vertical: boolean;\n @HostListener('click', ['$event']) handleClick(event) {\n const $target = $(event.target).closest('.app-button');\n this.$element.find('.app-button').removeClass('selected');\n $target.addClass('selected');\n }\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","import { Injector, AfterViewInit, Injectable, Inject } from '@angular/core';\n\nimport {DataSource, UserDefinedExecutionContext} from '@wm/core';\n\nimport { IWidgetConfig, StylableComponent, WidgetConfig } from '@wm/components/base';\n\ndeclare const _;\n\n@Injectable()\nexport abstract class BaseFormComponent extends StylableComponent implements AfterViewInit{\n\n private dataval;\n private prevDatavalue;\n protected binddatavalue: string;\n private datavaluesource: any;\n\n protected constructor(\n protected inj: Injector,\n @Inject(WidgetConfig) config: IWidgetConfig,\n initPromise?: Promise<any>\n ) {\n super(inj, config, initPromise);\n this.binddatavalue = this.$element.attr('datavalue.bind');\n }\n\n set datavalue(datavalue) {\n this.dataval = datavalue;\n }\n\n get datavalue() {\n return this.dataval;\n }\n\n /**\n * Responsible for updating the variable bound to the widget's datavalue property.\n * @param value\n */\n updateBoundVariable(value) {\n let binddatavalue = this.binddatavalue;\n\n // return if the variable bound is not static.\n if (this.datavaluesource && this.datavaluesource.execute(DataSource.Operation.IS_API_AWARE)) {\n return;\n } else if (this.datavaluesource && !this.datavaluesource.twoWayBinding) {\n return;\n }\n\n // return if widget is bound.\n if (!binddatavalue || binddatavalue.startsWith('Widgets.') || binddatavalue.startsWith('itemRef.currentItemWidgets')) {\n return;\n }\n\n binddatavalue = binddatavalue.replace(/\\[\\$i\\]/g, '[0]');\n\n // In case of list widget context will be the listItem.\n if (_.has(this.context, binddatavalue.split('.')[0])) {\n _.set(this.context, binddatavalue, value);\n } else {\n _.set(this.viewParent, binddatavalue, value);\n }\n }\n\n protected invokeOnChange(value, $event?: Event) {\n // invoke the event callback\n if ($event) {\n if (this.datavalue !== this.prevDatavalue) {\n this.updateBoundVariable(value);\n this.invokeEventCallback('change', {\n $event,\n newVal: value,\n oldVal: this.prevDatavalue\n });\n }\n }\n // update the previous value\n this.prevDatavalue = value;\n }\n\n protected updatePrevDatavalue(val: any) {\n this.prevDatavalue = val;\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n\n// [WMS-18892]- stopping event propagation [for ArrowLeft, ArrowUp, ArrowRight, ArrowDown actions] when form widgets or form is inside list widget\n let parentElemList = $(this.nativeElement).parents();\n if (parentElemList.closest('[wmList]').length) {\n this.$element.keydown(function($event) {\n if ($event.keyCode === 37 || $event.keyCode === 38 || $event.keyCode === 39 || $event.keyCode === 40) {\n $event.stopPropagation();\n }\n });\n }\n }\n}\n","import { ControlValueAccessor, FormControlName, Validator, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { Injectable, OnInit } from '@angular/core';\n\nimport { BaseFormComponent } from './base-form.component';\n\n/*\n * WMS-18269\n * custom 'required' validator for components,\n * as the bound values are resolved at runtime\n * Called on 'required' property change\n *\n * Note: Component needs NG_VALIDATOR provider for this to work\n */\nfunction isValidValue(val): Boolean {\n switch(typeof val) {\n case 'object': return (!!val && (!!val.length || !!Object.keys(val).length));\n case 'number': return (!!val || val === 0);\n default: return !(val === undefined || val === null || val === '');\n }\n}\nfunction validateRequiredBind(required: boolean): ValidatorFn {\n return (control: AbstractControl) =>\n required\n ? (isValidValue(control.value)\n ? null\n : { required: true })\n : null;\n}\n\n@Injectable()\nexport abstract class BaseFormCustomComponent extends BaseFormComponent implements ControlValueAccessor, OnInit, Validator {\n\n private _formControl: FormControlName;\n protected _onChange: any = () => {};\n private _onTouched: any = () => {};\n\n ngOnInit() {\n super.ngOnInit();\n this._formControl = this.inj.get(FormControlName, null);\n }\n\n public registerOnChange(fn) {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn) {\n this._onTouched = fn;\n }\n\n public writeValue(value) {\n if (this.isDestroyed) {\n return;\n }\n if (this._formControl) {\n this.datavalue = value;\n this.onPropertyChange('datavalue', value);\n this.updatePrevDatavalue(value);\n }\n /*\n * WMS:18246\n * Call onChange on default value, so that the Component Model is updated\n * Do only When the Model Value is different from datavalue\n */\n (value!==this.datavalue) && this._onChange(this.datavalue);\n }\n\n public invokeOnChange(value, $event?: Event | any, valid?: boolean) {\n // let the angular know about the change\n this._onChange(value);\n\n if (valid) {\n super.invokeOnChange(value, $event);\n }\n }\n\n public invokeOnTouched($event?: Event) {\n this._onTouched();\n\n if ($event) {\n this.invokeEventCallback('blur', {$event});\n }\n }\n\n public invokeOnFocus($event: Event) {\n this.invokeEventCallback('focus', {$event});\n }\n /* WMS-18269 */\n validate(control: AbstractControl):{[key: string]:any} {\n return this['show'] ? validateRequiredBind(this['required'])(control) : null;\n }\n}\n","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 ['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 ]\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};\n","import {\n AfterViewInit,\n Attribute,\n Component,\n ElementRef,\n HostListener,\n Injector,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {isDefined, toggleClass, UserDefinedExecutionContext} from '@wm/core';\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { BaseFormCustomComponent } from '../base-form-custom.component';\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 */\nconst 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 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 {\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 shortcutkey: string;\n public tabindex: any;\n public _caption = ' ';\n private _checkedvalue;\n private _uncheckedvalue;\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 ) {\n super(inj, WIDGET_CONFIG);\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', '\"ENTER\"'])\n onKeyDown($event) {\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","<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n role=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-checked]=\"!!proxyModel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\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\"></span>\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","import {Injector, Attribute, OnInit, Injectable, Inject, Optional} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport {\n AppDefaults,\n $appDigest,\n debounce,\n isDefined,\n isEqualWithFields,\n noop,\n toBoolean,\n UserDefinedExecutionContext\n} from '@wm/core';\n\nimport { ALLFIELDS, convertDataToObject, DataSetItem, extractDataAsArray, getOrderedDataset, getUniqObjsByDataField, handleHeaderClick, toggleAllHeaders, transformFormData, transformDataWithKeys, groupData, ToDatePipe, IWidgetConfig, WidgetConfig } from '@wm/components/base';\nimport { BaseFormCustomComponent } from './base-form-custom.component';\n\ndeclare const _;\n\n@Injectable()\nexport abstract class DatasetAwareFormComponent extends BaseFormCustomComponent implements OnInit {\n public dataset: any;\n public datafield: string;\n public displayfield: string;\n public displaylabel: string;\n public displayimagesrc: string;\n public displayexpression: string;\n public usekeys: boolean;\n public orderby: string;\n public multiple: boolean;\n public readonly: boolean;\n public content: string;\n public collapsible: boolean;\n public datePipe;\n\n public handleHeaderClick: ($event) => void;\n private toggleAllHeaders: void;\n public appDefaults;\n\n public binddisplayexpression: string;\n public binddisplayimagesrc: string;\n public binddisplaylabel: string;\n\n public displayValue: Array<string> | string;\n\n public datasetItems: DataSetItem[] = [];\n public acceptsArray = false; // set to true if proxyModel on widget accepts array type.\n protected dataset$ = new Subject();\n protected datavalue$ = new Subject();\n\n protected match: string;\n protected dateformat: string;\n public groupedData: any[];\n\n protected _modelByKey: any;\n public _modelByValue: any;\n public _defaultQueryInvoked: boolean; // for search/chips if datavalue is obtained from the default n/w call then set to true and do not update the modelByKeys.\n\n // this field contains the initial datavalue which needs to be processed once the dataset is available\n public toBeProcessedDatavalue: any;\n private readonly _debouncedInitDatasetItems: Function;\n protected allowempty = true;\n public compareby: any;\n\n public get modelByKey() {\n return this._modelByKey;\n }\n\n // triggers on ngModel change. This function extracts the datavalue value.\n public set modelByKey(val: any) {\n this.selectByKey(val);\n\n // invoke on datavalue change.\n this.invokeOnChange(this._modelByValue);\n }\n\n // @ts-ignore\n public get datavalue() {\n return this._modelByValue;\n }\n\n // triggers on setting the datavalue. This function extracts the model value.\n // @ts-ignore\n public set datavalue(val: any) {\n if (this.multiple) {\n val = extractDataAsArray(val);\n }\n this._modelByValue = val;\n\n this.selectByValue(val);\n\n // changes on the datavalue can be subscribed using listenToDatavalue\n this.datavalue$.next(val);\n\n // invoke on datavalue change.\n this.invokeOnChange(val, undefined, true);\n }\n\n protected constructor(inj: Injector, @Inject(WidgetConfig) config: IWidgetConfig,\n @Attribute('groupby') public groupby?: string) {\n super(inj, config,);\n this.datePipe = this.inj.get(ToDatePipe);\n this.appDefaults = this.inj.get(AppDefaults);\n this.binddisplayexpression = this.nativeElement.getAttribute('displayexpression.bind');\n this.binddisplayimagesrc = this.nativeElement.getAttribute('displayimagesrc.bind');\n this.binddisplaylabel = this.nativeElement.getAttribute('displaylabel.bind');\n\n this._debouncedInitDatasetItems = debounce(() => {\n this.initDatasetItems();\n $appDigest();\n }, 150);\n this.handleHeaderClick = noop;\n }\n\n /**\n * This function sets the _datavalue value from the model and sets the selected flag when item is found.\n * Here model is the value obtained from ngModel.\n * @param keys represent the model.\n */\n protected selectByKey(keys) {\n this.resetDatasetItems();\n\n if (!this.datasetItems.length) {\n return;\n }\n\n if (this.multiple && !_.isArray(keys)) {\n keys = [keys];\n }\n\n // Set the _modelByKey to the modified keys.\n this._modelByKey = keys;\n\n if (this.multiple) {\n this._modelByValue = [];\n keys.forEach(key => {\n const itemByKey = _.find(this.datasetItems, item => {\n // not triple equal, as the instance type can be different.\n // only value comparison should be done.\n return _.toString(item.key) === _.toString(key);\n });\n if (itemByKey) {\n itemByKey.selected = true;\n this._modelByValue = [...this._modelByValue, itemByKey.value];\n }\n });\n } else {\n this._modelByValue = '';\n const itemByKey = _.find(this.datasetItems, item => {\n // not triple equal, as the instance type can be different.\n // only value comparison should be done.\n return _.toString(item.key) === _.toString(keys);\n });\n if (itemByKey) {\n itemByKey.selected = true;\n this._modelByValue = itemByKey.value;\n }\n }\n this.initDisplayValues();\n }\n\n /**\n * This function sets the _model value from the datavalue (selectedvalues) and sets the selected flag when item is found.\n * datavalue is the default value or a value representing the displayField (for suppose: object in case of ALLFIELDS).\n * If acceptsArray is true, the model always accepts an array.\n * For example, select always accepts model as array whether multiple select is true or false.\n * @param values represent the datavalue.\n */\n protected selectByValue(values: Array<any> | any) {\n this.resetDatasetItems();\n\n // if datavalue is not defined or empty then set the model as undefined.\n if (!isDefined(values) || values === '' || _.isNull(values) || (values instanceof Array && !values.length)) {\n this._modelByKey = undefined;\n // do not return when allowempty is set to true.\n if (!this.allowempty || !isDefined(values)) {\n return;\n }\n }\n\n if (this.acceptsArray && !_.isArray(values)) {\n values = this.allowempty ? [values] : extractDataAsArray(values);\n }\n\n // preserve the datavalue if datasetItems are empty.\n if (!this.datasetItems.length && isDefined(values)) {\n this.toBeProcessedDatavalue = values;\n return;\n }\n\n const filterField = this.datafield === ALLFIELDS ? 'dataObject' : 'key';\n\n if (_.isArray(values)) {\n this._modelByKey = [];\n values.forEach(val => {\n const itemByValue = _.find(this.datasetItems, item => {\n if (filterField === 'dataObject') {\n if (this.compareby && this.compareby.length) {\n return isEqualWithFields(item[filterField], val, this.compareby);\n }\n }\n return (_.isObject(item.value) ? _.isEqual(item.value, val) : (_.toString(item.value)).toLowerCase() === (_.toString(val)).toLowerCase());\n });\n if (itemByValue) {\n itemByValue.selected = true;\n this._modelByKey.push(itemByValue.key);\n }\n });\n } else {\n this._modelByKey = undefined;\n const itemByValue = _.find(this.datasetItems, item => {\n if (filterField === 'dataObject') {\n if (this.compareby && this.compareby.length) {\n return isEqualWithFields(item[filterField], values, this.compareby);\n }\n }\n return (_.isObject(item.value) ? _.isEqual(item.value, values) : (_.toString(item.value)).toLowerCase() === (_.toString(values)).toLowerCase());\n });\n if (itemByValue) {\n itemByValue.selected = true;\n this._modelByKey = itemByValue.key;\n }\n }\n // delaying the datavalue update as the widgets in liveform are having datavalue as undefined and not the default provided value\n // because datavalue is updated later when new dataset is available.\n this._debounceDatavalueUpdation(values);\n }\n\n protected readonly _debounceDatavalueUpdation = _.debounce((values) => {\n // if no item is found in datasetItems, wait untill the dataset updates by preserving the datavalue in toBeProcessedDatavalue.\n if (!isDefined(this._modelByKey) || (_.isArray(this._modelByKey) && !this._modelByKey.length)) {\n this.toBeProcessedDatavalue = values;\n this._modelByValue = '';\n } else if (isDefined(this.toBeProcessedDatavalue)) {\n // obtain the first array value when multiple is set to false.\n // set the modelByValue only when undefined.\n if (!isDefined(this._modelByValue)) {\n this._modelByValue = (!this.multiple && _.isArray(this.toBeProcessedDatavalue)) ? this.toBeProcessedDatavalue[0] : this.toBeProcessedDatavalue;\n }\n this.toBeProcessedDatavalue = undefined;\n }\n\n this.initDisplayValues();\n }, 150);\n\n // Updates the displayValue property.\n protected initDisplayValues() {\n const displayValues = [];\n this.datasetItems.forEach(item => {\n if (item.selected) {\n displayValues.push(item.label);\n }\n });\n\n this.displayValue = this.multiple ? displayValues : displayValues[0] || '';\n }\n\n // This function parses the dataset and extracts the displayOptions from parsed dataset.\n protected initDatasetItems() {\n if (!this.dataset || _.isEmpty(this.dataset)) {\n this.datasetItems = [];\n // notify the dataset listeners\n this.dataset$.next(this.datasetItems);\n return;\n }\n\n // convert any dataset to the object format.\n const orderedDataset = getOrderedDataset(convertDataToObject(this.dataset), this.orderby);\n\n if (this.usekeys) {\n this.datasetItems = transformDataWithKeys(orderedDataset);\n } else {\n const displayOptions = transformFormData(this.viewParent, orderedDataset, this.datafield, {\n displayField: this.displayfield || this.displaylabel,\n displayExpr: this.displayexpression,\n bindDisplayExpr: this.binddisplayexpression || this.binddisplaylabel,\n bindDisplayImgSrc: this.binddisplayimagesrc,\n displayImgSrc: this.displayimagesrc\n });\n // get the unique objects out of the extracted data. Notify change in datasetItems using [...datasetItems] notation\n this.datasetItems = [...getUniqObjsByDataField(displayOptions, this.datafield, this.displayfield || this.displaylabel, toBoolean(this.allowempty))];\n }\n\n this.postDatasetItemsInit();\n }\n\n // Once the datasetItems are ready, set the proxyModel by using datavalue.\n protected postDatasetItemsInit() {\n if (this.datasetItems.length && !this._defaultQueryInvoked) {\n // use the latest of toBeProcessedDatavalue, datavalue\n const _datavalue = _.isEmpty(this.toBeProcessedDatavalue) ? this.datavalue : this.toBeProcessedDatavalue;\n this.selectByValue(_datavalue);\n }\n // notify the dataset listeners\n this.dataset$.next(this.datasetItems);\n }\n\n // Reset the selected flag on datasetItems to false.\n protected resetDatasetItems() {\n this.datasetItems.forEach(item => item.selected = false);\n }\n\n protected setTemplate(partialName) {\n this.content = partialName;\n if (this.viewParent && this.viewParent.prefabName) {\n this['prefabName'] = this.viewParent.prefabName;\n }\n }\n\n\n private getGroupedData() {\n return this.datasetItems.length ? groupData(this, convertDataToObject(this.datasetItems), this.groupby, this.match, this.orderby, this.dateformat, this.datePipe, 'dataObject', this.appDefaults) : [];\n }\n\n private datasetSubscription() {\n const datasetSubscription = this.dataset$.subscribe(() => {\n this.groupedData = this.getGroupedData();\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n }\n\n protected setGroupData() {\n this.datasetSubscription();\n // If groupby is set, get the groupedData from the datasetItems.\n this.groupedData = this.getGroupedData();\n }\n\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n super.onPropertyChange(key, nv, ov);\n switch (key) {\n case 'dataset':\n case 'datafield':\n case 'displayfield':\n case 'displaylabel':\n case 'displayexpression':\n case 'orderby':\n case 'usekeys':\n this._debouncedInitDatasetItems();\n break;\n case 'required':\n case 'datavalue':\n this._onChange(this.datavalue);\n break;\n case 'groupby':\n case 'match':\n if (this.widgetType !== 'wm-search' && this.widgetType !== 'wm-chips') {\n this.setGroupData();\n }\n break;\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.groupby && (this.widgetType !== 'wm-search' && this.widgetType !== 'wm-chips')) {\n this.setGroupData();\n }\n // adding the handler for header click and toggle headers.\n if (this.groupby && this.collapsible) {\n this.handleHeaderClick = handleHeaderClick;\n this.toggleAllHeaders = toggleAllHeaders.bind(undefined, this);\n }\n }\n}\n","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 ]\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","<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\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 <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\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 </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\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 <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\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 <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\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 </li>\n </ul>\n </li>\n</ng-template>\n","import {Attribute, Component, HostListener, Injector, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {AppDefaults, noop, setListClass, switchClass, UserDefinedExecutionContext} from '@wm/core';\nimport { convertDataToObject, IWidgetConfig, groupData, handleHeaderClick, provideAs, provideAsWidgetRef, styler, toggleAllHeaders } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '../dataset-aware-form.component';\n\nimport { registerProps } from '../checkboxset/checkboxset.props';\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 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 {\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) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this);\n this.multiple = 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 keys.push($el.value);\n });\n\n this.modelByKey = keys;\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\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 this.eventManager.addEventListener(\n node,\n eventName,\n e => {\n if (!$(e.target).is('input')) {\n return;\n }\n locals.$event = e;\n return callback();\n }\n );\n } else if (!_.includes(['change'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n onKeyDown($event) {\n $event.preventDefault();\n $event.target.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 }\n if (key === 'itemsperrow') {\n setListClass(this);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-form-group',\n new Map(\n [\n ['captionposition', PROP_STRING],\n ['name', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {AfterViewInit, ContentChildren, Directive, Injector, Optional} from '@angular/core';\n\nimport {addForIdAttributes, switchClass, UserDefinedExecutionContext} from '@wm/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler, WidgetRef } from '@wm/components/base';\n\nimport { registerProps } from './composite.props';\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'form-group app-composite-widget clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-form-group',\n hostClass: DEFAULT_CLS\n};\n\nconst CAPTION_POSITION = {\n left: 'caption-left',\n right: 'caption-right',\n top: 'caption-top',\n floating: 'caption-floating'\n};\n\n@Directive({\n selector: 'div[wmComposite]',\n providers: [\n provideAsWidgetRef(CompositeDirective)\n ]\n})\nexport class CompositeDirective extends StylableComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n // this is the reference to the component refs inside the form-group\n @ContentChildren(WidgetRef, {descendants: true}) componentRefs;\n\n public required: boolean;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n /**\n * this is onPropertyChange handler for the form-group component\n * @param key\n * @param nv\n * @param ov\n */\n onPropertyChange(key, nv, ov) {\n if (key === 'captionposition') {\n switchClass(this.nativeElement, CAPTION_POSITION[nv], CAPTION_POSITION[ov]);\n } else if (key === 'required') {\n this.required = nv;\n this.assignRequiredToSubComponents();\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n /**\n * this method assigns the required on the component/directive based on the required attribute of the form-group\n */\n protected assignRequiredToSubComponents() {\n if (this.required && this.componentRefs) {\n setTimeout(() => {\n this.componentRefs.forEach(componentRef => componentRef.widget.required = true);\n }, 50);\n }\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n addForIdAttributes(this.nativeElement);\n\n this.assignRequiredToSubComponents();\n }\n}\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const numberProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['localefilter', PROP_STRING],\n ['minvalue', PROP_NUMBER],\n ['maxvalue', PROP_NUMBER],\n ['name', PROP_STRING],\n ['numberfilter', PROP_STRING],\n ['placeholder', {value: 'Enter number', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['regexp', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['step', {value: 1, ...PROP_NUMBER}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['trailingzero', {value: false, ...PROP_BOOLEAN}],\n ['updateon', PROP_STRING],\n ['inputmode', {value: 'natural', ...PROP_STRING}]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-number',\n numberProps\n );\n registerFormWidget(\n FormWidgetType.NUMBER,\n new Map(numberProps)\n );\n};\n","import { AfterViewInit, ElementRef, Inject, Injectable, Injector } from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\nimport {$appDigest, addClass, switchClass, UserDefinedExecutionContext} from '@wm/core';\nimport { IWidgetConfig, styler, WidgetConfig } from '@wm/components/base';\nimport { BaseFormCustomComponent } from '../../base-form-custom.component';\ndeclare const _;\n\n@Injectable()\nexport abstract class BaseInput extends BaseFormCustomComponent implements AfterViewInit {\n public class: string;\n public autotrim: boolean;\n public imask;\n\n // possible values for ngModelOptions are 'blur' and 'change'\n // default is 'blur'\n public ngModelOptions = {\n updateOn: ''\n };\n\n /**\n * Reference to the input element. All the styles and classes will be applied on this node.\n * Input components must override this\n */\n protected abstract inputEl: ElementRef;\n\n /**\n * Reference to the ngModel directive instance.\n * Used to check the validity of the input\n */\n protected abstract ngModel: NgModel;\n\n protected onPropertyChange(key: string, nv: any, ov: any) {\n // set the class on the input element\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n /* WMS-18269 | Update Angular about the required attr value change */\n this._onChange(this.datavalue);\n }\n\n if (key === 'class') {\n if (this.inputEl.nativeElement) {\n switchClass(this.inputEl.nativeElement, nv, ov);\n }\n } else if (key === 'datavalue') {\n // update the oldDataValue when the datavalue is modified programmatically\n this.updatePrevDatavalue(nv);\n this._onChange(this.datavalue);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n // invoke the change callback\n handleChange(newValue: any) {\n if (this.autotrim && this.datavalue && _.isString(this.datavalue)) {\n this.datavalue = this.datavalue.trim();\n }\n\n this.invokeOnChange(this.datavalue, {type: 'change'}, this.ngModel.valid);\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n super.handleEvent(this.inputEl.nativeElement, eventName, eventCallback, locals);\n }\n }\n\n // invoke the blur callback\n handleBlur($event) {\n this.invokeOnTouched($event);\n }\n\n // Update the model on enter key press\n flushViewChanges(val) {\n // when val contains masked value, update the model with unmasked value\n const unMaskedVal = _.get(this.imask, 'maskRef.unmaskedValue');\n val = unMaskedVal ? unMaskedVal : val;\n this.ngModel.update.next(val);\n $appDigest();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n\n // add the class on the input element\n if (this.class) {\n addClass(this.inputEl.nativeElement, this.class);\n }\n styler(this.inputEl.nativeElement, this);\n }\n\n protected constructor(\n inj: Injector,\n @Inject(WidgetConfig) config: IWidgetConfig\n ) {\n super(inj, config);\n let updateOn = this.nativeElement.getAttribute('updateon') || 'blur';\n updateOn = updateOn === 'default' ? 'change' : updateOn;\n this.ngModelOptions.updateOn = updateOn;\n }\n}\n","import { Injector } from '@angular/core';\nimport { AbstractControl, Validator } from '@angular/forms';\nimport { getLocaleNumberSymbol, NumberSymbol } from '@angular/common';\n\nimport {AbstractI18nService, isDefined, UserDefinedExecutionContext} from '@wm/core';\nimport { IWidgetConfig, TrailingZeroDecimalPipe, INPUTMODE } from '@wm/components/base';\n\nimport { BaseInput } from '../base/base-input';\n\ndeclare const _;\n\nexport abstract class NumberLocale extends BaseInput implements Validator {\n private DECIMAL: string;\n private GROUP: string;\n private selectedLocale: string;\n private proxyModel: number;\n private numberNotInRange: boolean;\n private isInvalidNumber: boolean;\n private isDefaultQuery: boolean = true;\n private decimalValue: string = '';\n public displayValue: string;\n private numberfilter: string;\n private localefilter: string;\n public readonly: boolean;\n\n public placeholder: string;\n public minvalue: number;\n public maxvalue: number;\n public updateon: string;\n public step: number;\n public trailingzero: boolean;\n private validateType: string;\n public inputmode: string;\n private lastValIsDecimal: boolean;\n\n constructor(\n inj: Injector,\n config: IWidgetConfig,\n private i18nService: AbstractI18nService,\n private trailingZeroDecimalPipe: TrailingZeroDecimalPipe\n ) {\n super(inj, config);\n this.selectedLocale = i18nService.getSelectedLocale();\n this.DECIMAL = getLocaleNumberSymbol(this.localefilter || this.selectedLocale, NumberSymbol.Decimal);\n this.GROUP = getLocaleNumberSymbol(this.localefilter || this.selectedLocale, NumberSymbol.Group);\n this.numberfilter = '1.0-16';\n this.resetValidations();\n }\n\n // Setter for the datavalue.\n // @ts-ignore\n set datavalue(value: number) {\n this.lastValIsDecimal = false;\n\n // set text value to null if data value is empty.\n if (_.includes([null, undefined, ''], value)) {\n const input = this.inputEl.nativeElement;\n const prevDataValue = (this as any).prevDatavalue;\n this.displayValue = input.value = this.proxyModel = null;\n this.resetValidations();\n if (prevDataValue && !this.isDefaultQuery) {\n this.handleChange(value);\n this._onChange();\n }\n return;\n }\n // if the widget has default value and if we change the locale, the value should be in selected locale format.\n if (this.isDefaultQuery) {\n const isLocalizedNumber = _.isString(value) && _.includes(value, this.DECIMAL);\n const parts = isLocalizedNumber ? (value as any).split(this.DECIMAL) : _.isString(value) && (value as any).split('.');\n this.decimalValue = parts[1] || '';\n (value as any) = isLocalizedNumber ? value : this.transformNumber(value);\n }\n\n const numberReg = /\\d/;\n const strVal = value.toString();\n let model;\n // When the input value only contains seperator, do not convert the sepertaor into 0\n if (numberReg.test(strVal)) {\n model = this.parseNumber(strVal);\n } else {\n model = NaN;\n }\n\n // On keypress, if the user types a decimal and is still active on the input do not throw error.\n if (_.isNaN(model) && strVal[strVal.length - 1] === this.DECIMAL && this.ngModelOptions.updateOn === 'change' && this.$element.find('input:focus').length) {\n this.lastValIsDecimal = true;\n }\n // get a valid number form the text.\n // if the number is valid or if number is not in range update the model value.\n if (!this.lastValIsDecimal && this.isValid(model)) {\n this.proxyModel = model;\n // update the display value in the text box.\n this.updateDisplayText();\n // Do not trigger onchange event for default value\n if (!this.isDefaultQuery) {\n this.handleChange(model);\n }\n } else {\n this.displayValue = value.toString();\n this.proxyModel = null;\n this.handleChange(null);\n }\n }\n\n // returns the actual model value of the widget.\n get datavalue(): number {\n return this.proxyModel;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.isInvalidNumber = false;\n this.numberNotInRange = false;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValid(val: number): boolean {\n // id number is infinite then consider it as invalid value\n if (_.isNaN(val) || !_.isFinite(val) || (!Number.isInteger(this.step) &&\n this.countDecimals(val) > this.countDecimals(this.step))) {\n this.isInvalidNumber = true;\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.numberNotInRange = true;\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n if (!_.isNaN(this.minvalue) && value < this.minvalue) {\n this.validateType = 'minvalue';\n return this.minvalue;\n\n }\n if (!_.isNaN(this.maxvalue) && value > this.maxvalue) {\n this.validateType = 'maxvalue';\n return this.maxvalue;\n }\n return value;\n }\n\n /**\n * convert number to localized number using angular decimal pipe. eg 10,00,000 or 1,000,000\n * @param number\n * @returns {string}\n */\n private transformNumber(number, numberfilter?): string {\n const filterVal = numberfilter ? numberfilter : this.numberfilter;\n return this.trailingZeroDecimalPipe.transform(number, this.selectedLocale, filterVal, this.localefilter, this.trailingzero, this.decimalValue, !!numberfilter, this.i18nService?.getwidgetLocale());\n }\n\n /**\n * resets the cursor position in the text box.\n * @param {number} value cursor position index form left to right.\n */\n private resetCursorPosition(value: number) {\n const input = this.inputEl.nativeElement;\n // position of the cursor should be given form right to left.\n let position = input.value.length - value;\n position = position < 0 ? 0 : position;\n // set the cursor position in the text box.\n input.setSelectionRange(position, position);\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): number {\n // WMS-22179: split number based on the decimal seperator in the val\n let seperator;\n if (val.indexOf(this.DECIMAL) > -1) {\n seperator = this.DECIMAL;\n } else {\n seperator = '.';\n }\n // splits string into two parts. decimal and number.\n const parts = val.split(seperator);\n if (!parts.length) {\n return null;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n // updates the widgets text value.\n private updateDisplayText() {\n const input = this.inputEl.nativeElement;\n const position: number = input.selectionStart;\n const preValue: string = input.value;\n if (!this.isDefaultQuery) {\n const parts = preValue.split(this.DECIMAL);\n this.decimalValue = parts[1] || '';\n }\n const stepVal = this.stepLength();\n if (this.inputmode === INPUTMODE.FINANCIAL && stepVal) {\n this.displayValue = input.value = this.transformNumber(this.proxyModel, `1.${stepVal}-${stepVal}`);\n this.decimalValue = this.decimalValue.replace(/\\D/g,'');\n } else {\n this.displayValue = input.value = this.transformNumber(this.proxyModel);\n }\n // in safari browser, setSelectionRange will focus the input by default, which may invoke the focus event on widget.\n // Hence preventing the setSelectionRange when default value is set i.e. widget is not focused.\n if (this.updateon === 'default' && !this.isDefaultQuery) {\n this.resetCursorPosition(preValue.length - position);\n }\n }\n\n // This function returns the step length set in the studio\n private stepLength() {\n const stepLen = this.step.toString().split('.');\n if (stepLen.length === 1 ) {\n return;\n } else {\n return stepLen[1].length;\n }\n }\n\n // This function checks if the currency widget has input mode as natural and trailing zero is defined or not\n public isNaturalCurrency() {\n return this.inputmode === INPUTMODE.NATURAL && this.widgetType === 'wm-currency' && !!this.trailingzero;\n }\n\n /**\n * @param value contains the value entered in the input box\n * This function modifies the user input value, into financial mode.\n * Number starts from highest precesion decimal, on typing number shifts to the left\n */\n public onInputChange(value: any) {\n const stepVal = this.stepLength();\n // WMS-22355, Trigger change cb if value exists or value is empty but datavalue exists (when value is selected and deleted).\n if (isDefined(value) && (value !== '' || this.datavalue)) {\n this.handleChange(value);\n } else {\n return;\n }\n\n if (!stepVal || this.inputmode !== INPUTMODE.FINANCIAL) {\n return;\n }\n\n let financialVal;\n\n /**\n * If the value is entered by the user, format the input\n * If the value is provided as default value, skip formatting\n */\n if (this.isDefaultQuery) {\n financialVal = parseFloat(value);\n } else {\n const valInWholeNum = parseInt(value.toString().replace(/\\D/g,''));\n financialVal = valInWholeNum * this.step;\n }\n\n if (!_.isNaN(financialVal)) {\n // When update on key is set keypress, update the datavalue else update only the display value\n if (this.ngModelOptions.updateOn === 'change') {\n this.datavalue = parseFloat(financialVal.toFixed(stepVal));\n this.handleChange(this.datavalue);\n } else {\n this.displayValue = financialVal.toFixed(stepVal);\n }\n } else if (this.ngModelOptions.updateOn !== 'blur') {\n this.datavalue = undefined;\n this.handleChange(null);\n }\n }\n\n // Input mode is financial and trailing zero is set to false, On focus set display val to fixed point notation and On blur strip trailing zeros\n // In currency, inputmode is natural and trailing zero and step are defined, on blur display val to fixed point notation and on focus strip the zeros\n public checkForTrailingZeros($event) {\n const stepVal = this.stepLength();\n const financialMode = !this.trailingzero && this.inputmode === INPUTMODE.FINANCIAL;\n\n // If the user's last input is a decimal and not active on input field, throw error\n if (this.lastValIsDecimal) {\n this.onModelChange(this.displayValue);\n }\n if (!financialMode && !this.isNaturalCurrency()) {\n return;\n }\n if (stepVal && this.datavalue) {\n let numberfilter;\n if ((financialMode && $event.type === 'focus') || (this.isNaturalCurrency() && $event.type === 'blur')) {\n numberfilter = `1.${stepVal}-${stepVal}`;\n }\n this.displayValue = this.transformNumber(this.datavalue, numberfilter);\n }\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value) {\n if ((value % 1) !== 0) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n /**\n * handles the arrow press event. Increases or decreases the number. triggered fom the template\n * @param $event keyboard event.\n * @param key identifier to increase or decrease the number.\n */\n public onArrowPress($event, key) {\n $event.preventDefault();\n if (this.readonly || this.step === 0) {\n return;\n }\n const targetVal = $event.target.value.replace(/,/g, '');\n\n // proxyModel to be updated from $event.target.value if present to support arrow keys when input changes else pick up from this.proxymodel\n let proxyModel;\n if (targetVal && !_.isNaN(parseFloat(targetVal))) {\n proxyModel = parseFloat(targetVal);\n } else {\n proxyModel = this.proxyModel;\n }\n\n let value;\n\n // if the number is not in range and when arrow buttons are pressed need to get appropriate number value.\n if (this.numberNotInRange) {\n const inputValue = this.parseNumber(this.inputEl.nativeElement.value);\n // take the textbox value as current model if the value is valid.\n if (!_.isNaN(inputValue)) {\n value = this.getValueInRange(inputValue);\n proxyModel = inputValue;\n this.resetValidations();\n }\n } else {\n if (_.isUndefined(proxyModel) || _.isNull(proxyModel)) {\n proxyModel = value = this.getValueInRange((this.minvalue || 0));\n this.resetValidations();\n } else {\n value = this.getValueInRange(proxyModel + (key === 'UP' ? this.step : -this.step));\n }\n }\n if ((key === 'UP' && proxyModel <= value) || (key === 'DOWN' && proxyModel >= value)) {\n const decimalRoundValue = Math.max(this.countDecimals(proxyModel), this.countDecimals(this.step));\n\n // update the modelProxy.\n this.proxyModel = _.round(value, decimalRoundValue);\n this.updateDisplayText();\n this.handleChange(this.proxyModel);\n }\n }\n\n /**\n * method is called from the from widget. to check whether the value entered is valid or not.\n * @returns {object}\n */\n public validate(c: AbstractControl) {\n if (this.isInvalidNumber) {\n this.validateType = '';\n return {\n invalidNumber: {\n valid: false\n },\n };\n }\n if (this.numberNotInRange) {\n return {\n numberNotInRange: {\n valid: false\n },\n };\n }\n this.validateType = '';\n /* WMS-18269 | Extending the existing validation for 'required' */\n if (this['show'] && this['required']) {\n return (!!c.value || c.value === 0) ? null : { required: true };\n }\n return null;\n }\n\n public validateInputEntry($event) {\n\n this.isDefaultQuery = false;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || _.includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n\n // when input mode is financial, do not restrict user on entering the value when step value limit is reached.\n const skipStepValidation = this.inputmode === INPUTMODE.FINANCIAL;\n\n // Validates if user eneters more than 16 digits\n if (inputValue) {\n const parsedVal = parseInt(inputValue.toString().replace(/\\D/g,''));\n if (parsedVal.toString().length > 15) {\n // WMS-22321: If the number is greater than MAX_SAFE_INTEGER (more than 15 numbers).\n // user selects a range of digits and presses a key.\n // Do not throw validation of exceeded number as selected range value will be deleted.\n const selectedVal = window.getSelection();\n if (selectedVal && selectedVal.toString() && selectedVal.focusNode === this.nativeElement) {\n return true;\n }\n return false;\n }\n }\n\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n // Restrict user from entering only if the decimal limit is reached and the new digit is entered in decimal place\n if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {\n return false;\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n return false;\n }\n // comma cannot be entered consecutively\n if (_.includes(inputValue, ',') && inputValue[inputValue.length - 1] === ',' && $event.key === ',') {\n return false;\n }\n\n // a decimal value can be entered only once in the input.\n if (_.includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n return false;\n }\n // 'e' can be entered only once in the input.\n if (_.intersection(_.toArray(inputValue), ['e', 'E']).length && _.includes('eE', $event.key)) {\n return false;\n }\n if ((_.includes(inputValue, '+') || _.includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n return false;\n }\n // Do not allow user to enter only space without any input value\n if (!inputValue && $event.code === 'Space') {\n return false;\n }\n }\n\n onBackspace($event) {\n this.isDefaultQuery = false;\n }\n\n onEnter($event) {\n this.datavalue = $event.target.value;\n }\n\n onModelChange($event) {\n if (this.inputmode === INPUTMODE.NATURAL || (this.inputmode === INPUTMODE.FINANCIAL && this.ngModelOptions.updateOn === 'blur')) {\n this.datavalue = $event;\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n if (key === 'minvalue' || key === 'maxvalue') {\n this.isValid(nv);\n } else if (key === 'datavalue' && !ov) {\n if (this.isNaturalCurrency()) {\n this.checkForTrailingZeros({type: 'blur'});\n } else {\n this.onInputChange(nv);\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\nimport {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\n\nimport {AbstractI18nService, UserDefinedExecutionContext} from '@wm/core';\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, TrailingZeroDecimalPipe } from '@wm/components/base';\n\nimport { registerProps } from './number.props';\nimport { NumberLocale } from '../text/locale/number-locale';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-number',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: '[wmNumber]',\n templateUrl: './number.component.html',\n providers: [\n provideAs(NumberComponent, NG_VALUE_ACCESSOR, true),\n provideAs(NumberComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(NumberComponent)\n ]\n})\nexport class NumberComponent extends NumberLocale {\n static initializeProps = registerProps();\n\n public required: boolean;\n public regexp: string;\n public disabled: boolean;\n public name: string;\n public hint: string;\n public tabindex: any;\n public shortcutkey: string;\n public autofocus: boolean;\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel, {static: true}) ngModel: NgModel;\n\n constructor(inj: Injector, i18nService: AbstractI18nService, trailingZeroDecimalPipe: TrailingZeroDecimalPipe) {\n super(inj, WIDGET_CONFIG, i18nService, trailingZeroDecimalPipe);\n }\n}\n","<input class=\"form-control app-textbox app-number-input\"\n inputmode=\"decimal\"\n focus-target\n [attr.name]=\"name\"\n role=\"textbox\"\n type=\"text\"\n [ngModel]=\"displayValue\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"handleBlur($event); checkForTrailingZeros($event);\"\n (focus)=\"checkForTrailingZeros($event)\"\n (input)=\"onInputChange($event.target.value)\"\n [ngModelOptions]=\"ngModelOptions\"\n [required]=\"required\"\n (keypress)=\"validateInputEntry($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.ArrowUp)=\"onArrowPress($event, 'UP')\"\n (keydown.ArrowDown)=\"onArrowPress($event, 'DOWN')\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const radiosetProps = 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_ANY],\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 ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-radioset',\n radiosetProps\n );\n registerFormWidget(\n FormWidgetType.RADIOSET,\n new Map(radiosetProps)\n );\n};\n","<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems;let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n","import {Component, Injector, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {setListClass, UserDefinedExecutionContext} from '@wm/core';\n\nimport { provideAsWidgetRef, styler, provideAs } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '../dataset-aware-form.component';\nimport { registerProps } from './radioset.props';\n\ndeclare const $, _;\n\nconst DEFAULT_CLS = 'app-radioset list-group inline';\nconst WIDGET_CONFIG = {widgetType: 'wm-radioset', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: '[wmRadioset]',\n exportAs: 'wmRadioset',\n templateUrl: './radioset.component.html',\n providers: [\n provideAs(RadiosetComponent, NG_VALUE_ACCESSOR, true),\n provideAs(RadiosetComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(RadiosetComponent)\n ]\n})\nexport class RadiosetComponent extends DatasetAwareFormComponent {\n static initializeProps = registerProps();\n\n public layout = '';\n public disabled: boolean;\n public itemsperrow: string;\n private itemsPerRowClass: string;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this);\n this.multiple = false;\n }\n\n /**\n * On click of the option, update the datavalue\n */\n onRadioLabelClick($event, key) {\n if (!$($event.target).is('input')) {\n return;\n }\n\n this.modelByKey = key;\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\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 this.eventManager.addEventListener(\n node,\n eventName,\n e => {\n if (!$(e.target).is('input')) {\n return;\n }\n locals.$event = e;\n return callback();\n }\n );\n } else if (!_.includes(['change'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'itemsperrow') {\n setListClass(this);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { FormWidgetType } from '@wm/core';\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const selectProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', {value: '', ...PROP_STRING}],\n ['compareby', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', 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 ['hint', PROP_STRING],\n ['match', PROP_STRING],\n ['multiple', {value: false, ...PROP_BOOLEAN}],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['placeholder', 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 ['usekeys', PROP_BOOLEAN]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-select',\n selectProps\n );\n registerFormWidget(\n FormWidgetType.SELECT,\n new Map(selectProps)\n );\n registerFormWidget(\n FormWidgetType.TYPEAHEAD,\n new Map(selectProps)\n );\n};\n","<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (focus)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-multiselectable]=\"multiple\"\n [autofocus]=\"autofocus\"\n>\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </ng-container>\n</select>\n","import {AfterViewInit, Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {DataSource, removeAttr, setAttr, UserDefinedExecutionContext} from '@wm/core';\nimport { provideAsWidgetRef, provideAs, styler } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '../dataset-aware-form.component';\n\nimport { registerProps } from './select.props';\n\ndeclare const _;\n\nconst WIDGET_CONFIG = {widgetType: 'wm-select', hostClass: 'app-select-wrapper'};\n\n@Component({\n selector: 'wm-select',\n templateUrl: './select.component.html',\n providers: [\n provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),\n provideAs(SelectComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(SelectComponent)\n ]\n})\nexport class SelectComponent extends DatasetAwareFormComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n public readonly: boolean;\n public placeholder: string;\n public navsearchbar: any;\n public class: any;\n public required: boolean;\n public disabled: boolean;\n public tabindex: any;\n public name: string;\n public autofocus: boolean;\n public hint: string;\n\n @ViewChild('select', { static: true, read: ElementRef }) selectEl: ElementRef;\n\n set datasource(ds) {\n if (ds && ds.execute && ds.execute(DataSource.Operation.IS_BOUND_TO_LOCALE)) {\n this.datavalue = ds.execute(DataSource.Operation.GET_DEFAULT_LOCALE);\n }\n }\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n this.acceptsArray = true;\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.selectEl.nativeElement as HTMLElement, this);\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (!_.includes(['blur', 'change'], eventName)) {\n super.handleEvent(this.selectEl.nativeElement, eventName, eventCallback, locals);\n }\n }\n\n onSelectValueChange($event) {\n if (this.readonly) {\n if (this.placeholder) {\n this.selectEl.nativeElement.value = this.placeholder;\n } else {\n this.selectEl.nativeElement.value = '';\n }\n this.datavalue = (this as any).prevDatavalue;\n return;\n }\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n if (key === 'class' || key === 'tabindex') {\n return;\n } else if (key === 'readonly') {\n (nv === true) ? setAttr(this.selectEl.nativeElement, 'readonly', 'readonly') : removeAttr(this.selectEl.nativeElement, 'readonly') ;\n }\n super.onPropertyChange(key, nv, ov);\n }\n\n /**\n * When caption floating is enabled and placeholder is given, do not show placeholder until user focuses on the field\n * When focused add the placeholder to the option which is selected\n * On blur, remove the placeholder and do not animate the label\n * @param $event event received will be either a blur or focus event\n */\n checkForFloatingLabel($event) {\n const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');\n if (captionEl.length > 0) {\n if ($event.type === 'focus' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {\n $(this.selectEl.nativeElement).find('option:first').text(this.placeholder);\n } else if (!this.datavalue) {\n $(this.selectEl.nativeElement).find('option:selected').text('');\n captionEl.removeClass('float-active');\n }\n }\n }\n}\n","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_STRING],\n ['iconclass', 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","<div role=\"group\" class=\"btn-group btn-group-justified\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass]\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\">\n <i *ngIf=\"iconclass\"\n class=\"app-icon {{(selectedItem && selectedItem.dataObject) && selectedItem.dataObject[iconclass]}}\"></i>\n {{selectedItem ? selectedItem.label : modelByKey}}\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n","import {AfterViewInit, Component, Injector, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {$appDigest, debounce, isDefined, setCSS, toBoolean, UserDefinedExecutionContext} from '@wm/core';\nimport { DataSetItem, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '../dataset-aware-form.component';\n\nimport { registerProps } from './switch.props';\n\ndeclare const _, $;\n\nconst DEFAULT_CLS = 'app-switch';\nconst WIDGET_CONFIG = {widgetType: 'wm-switch', hostClass: DEFAULT_CLS};\n\n@Component({\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 private btnwidth;\n public disabled: boolean;\n public required: boolean;\n private _debounceSetSelectedValue: Function;\n public name: string;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\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) {\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 this.modelByKey = option.key;\n this.invokeOnTouched();\n\n if (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 // 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 super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const inputCalendarTypeProps = new Map(\n [\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['datasource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['maxvalue', PROP_NUMBER],\n ['minvalue', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['step', PROP_NUMBER],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', PROP_STRING],\n ['updateon', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-input-calendar',\n inputCalendarTypeProps\n );\n};\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { registerProps } from './input-calendar.props';\nimport { BaseInput } from '../base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-calendar',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-input[type=\"date\"], wm-input[type=\"datetime-local\"], wm-input[type=\"month\"], wm-input[type=\"time\"], wm-input[type=\"week\"]',\n templateUrl: './input-calendar.component.html',\n providers: [\n provideAs(InputCalendarComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputCalendarComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputCalendarComponent)\n ]\n})\nexport class InputCalendarComponent extends BaseInput {\n static initializeProps = registerProps();\n\n public required: boolean;\n public disabled: boolean;\n public type: string;\n public name: string;\n public readonly: string;\n public minvalue: any;\n public maxvalue: any;\n public step: number;\n public tabindex: any;\n public placeholder: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public autocomplete: any;\n public hint: string;\n\n @ViewChild('input',{static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n }\n}\n","<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint || type + ' field'\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const inputColorTypeProps = new Map([\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...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 ['type', {value: 'color', ...PROP_STRING}],\n ['updateon', PROP_STRING]\n]);\n\nexport const registerProps = () => {\n register(\n 'wm-input-color',\n inputColorTypeProps\n );\n};\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { IWidgetConfig, provideAs, provideAsWidgetRef } from '@wm/components/base';\n\nimport { registerProps } from './input-color.props';\nimport { BaseInput } from '../base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-color',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-input[type=\"color\"]',\n templateUrl: './input-color.component.html',\n providers: [\n provideAs(InputColorComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputColorComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputColorComponent)\n ]\n})\nexport class InputColorComponent extends BaseInput {\n static initializeProps = registerProps();\n\n public required: boolean;\n public maxchars: number;\n public name: string;\n public readonly: boolean;\n public tabindex: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public disabled: boolean;\n public placeholder: any;\n public type: string;\n public hint: string;\n\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n }\n}\n","<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n role=\"textbox\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const inputEmailTypeProps = new Map(\n [\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['maxchars', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['regexp', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'email', ...PROP_STRING}],\n ['updateon', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-input-email',\n inputEmailTypeProps\n );\n};\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\n\nimport { registerProps } from './input-email.props';\nimport { BaseInput } from '../base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-email',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-input[type=\"email\"]',\n templateUrl: './input-email.component.html',\n providers: [\n provideAs(InputEmailComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputEmailComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputEmailComponent)\n ]\n})\nexport class InputEmailComponent extends BaseInput {\n static initializeProps = registerProps();\n\n public required: boolean;\n public maxchars: number;\n public disabled: boolean;\n public name: string;\n public readonly: boolean;\n public tabindex: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public autocomplete: any;\n public regexp: string;\n public placeholder: any;\n public type: string;\n public hint: string;\n\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n }\n}\n","<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n email\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const inputNumberTypeProps = new Map(\n [\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['maxchars', PROP_NUMBER],\n ['maxvalue', PROP_NUMBER],\n ['minvalue', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['regexp', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['step', PROP_NUMBER],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'number', ...PROP_STRING}],\n ['updateon', PROP_STRING]\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-input-number',\n inputNumberTypeProps\n );\n};\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { IWidgetConfig, provideAs, provideAsWidgetRef } from '@wm/components/base';\nimport { registerProps } from './input-number.props';\nimport { BaseInput } from '../base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-number',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-input[type=\"number\"]',\n templateUrl: './input-number.component.html',\n providers: [\n provideAs(InputNumberComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputNumberComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputNumberComponent)\n ]\n})\nexport class InputNumberComponent extends BaseInput {\n static initializeProps = registerProps();\n\n public required: boolean;\n public maxchars: number;\n public disabled: boolean;\n public name: string;\n public readonly: boolean;\n public minvalue: number;\n public maxvalue: number;\n public tabindex: any;\n public placeholder: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public autocomplete: any;\n public type: string;\n public hint: string;\n\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n public step;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n }\n\n onArrowPress($event) {\n if (this.step === 0) {\n $event.preventDefault();\n }\n }\n\n public validateInputEntry($event) {\n if ($event.key === 'e' && $event.target.value.indexOf($event.key) !== -1) {\n return false;\n }\n }\n}\n","<input class=\"form-control app-textbox\"\n [ngClass]=\"{'step-hidden': step === 0}\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n (keydown.ArrowUp)=\"onArrowPress($event)\"\n (keydown.ArrowDown)=\"onArrowPress($event)\"\n (keypress)=\"validateInputEntry($event)\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\n\nimport { inputNumberTypeProps } from '../number/input-number.props';\nimport { inputCalendarTypeProps } from '../calendar/input-calendar.props';\nimport { inputColorTypeProps } from '../color/input-color.props';\nimport { inputEmailTypeProps } from '../email/input-email.props';\n\nexport const inputTextTypeProps = new Map(\n [\n ['autocomplete', {value: true, ...PROP_BOOLEAN}],\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayformat', PROP_STRING],\n ['hint', PROP_STRING],\n ['maxchars', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Enter text', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['regexp', PROP_STRING],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showdisplayformaton', {value: 'always', ...PROP_ANY}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['type', {value: 'text', ...PROP_STRING}],\n ['updateon', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-input-text',\n inputTextTypeProps\n );\n registerFormWidget(\n FormWidgetType.PASSWORD,\n new Map(inputTextTypeProps)\n );\n const formTextProps = new Map(inputTextTypeProps);\n\n const mergeTextProps = (typeProps) => {\n typeProps.forEach((v: any, k) => formTextProps.set(k, v));\n };\n mergeTextProps(inputCalendarTypeProps);\n mergeTextProps(inputColorTypeProps);\n mergeTextProps(inputEmailTypeProps);\n mergeTextProps(inputNumberTypeProps);\n registerFormWidget(\n FormWidgetType.TEXT,\n new Map(formTextProps)\n );\n};\n","import {Component, ElementRef, Injector, OnInit, Optional, ViewChild} from '@angular/core';\nimport {NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS} from '@angular/forms';\n\nimport {IWidgetConfig, provideAs, provideAsWidgetRef} from '@wm/components/base';\nimport {registerProps} from './input-text.props';\nimport {BaseInput} from '../base/base-input';\nimport { IMaskDirective } from 'angular-imask';\nimport {UserDefinedExecutionContext} from '@wm/core';\n\ndeclare const _;\n\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-input-text',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n 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\"]',\n templateUrl: './input-text.component.html',\n providers: [\n provideAs(InputTextComponent, NG_VALUE_ACCESSOR, true),\n provideAs(InputTextComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(InputTextComponent)\n ]\n})\nexport class InputTextComponent extends BaseInput implements OnInit{\n static initializeProps = registerProps();\n\n public required: boolean;\n public maxchars: number;\n public regexp: string;\n public displayformat: string;\n public disabled: boolean;\n public type: any;\n public name: string;\n public readonly: boolean;\n public tabindex: any;\n public placeholder: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public autocomplete: any;\n public maskVal: any;\n public isFocused: boolean;\n private lazy: boolean = false;\n public hint: string;\n\n @ViewChild('input', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n @ViewChild('input', {read: IMaskDirective}) imask: IMaskDirective<any>;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n }\n\n /* Define the property change handler. This function will be triggered when there is a change in the widget property */\n onPropertyChange(key, nv, ov) {\n /*Monitoring changes for styles or properties and accordingly handling respective changes.*/\n switch (key) {\n case 'displayformat':\n this.maskVal = this.displayformat;\n this.checkForDisplayFormat();\n break;\n case 'showdisplayformaton':\n this.lazy = nv === 'keypress' ? true : false;\n break;\n default:\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n get mask() {\n if (this.displayformat && (!this.placeholder || (this.placeholder && this.isFocused))) {\n return {\n mask: this.maskVal,\n lazy: this.lazy,\n definitions: {\n '9': /\\d/,\n 'A': /[a-zA-Z]/,\n 'a': /[a-z]/,\n '*': /\\w/\n }\n };\n } else {\n return false;\n }\n }\n\n // show display format on focus or when it has a data value present. Else show the placeholder\n public checkForDisplayFormat($event?) {\n if (this.displayformat) {\n this.isFocused = (($event && $event.type === 'focus') || this.datavalue) ? true : false;\n // Do not show format placeholder when no value is present on blur\n if (!this.isFocused && this.imask && this.imask.maskRef) {\n this.imask.maskRef.updateOptions({ lazy: true });\n // on blur, when no value is present assign maskref to null, as in some cases (where format palceholder starts with pranthesis) the format placeholder is still shown. WMS-20124\n if (!this.datavalue && this.imask.maskRef.value) {\n this.imask.maskRef.value = this.datavalue;\n }\n } else {\n // when display format is dynamically populated, cursor position is at the end of the format, readjusting the cursor position based on masked input value\n // Adding timeout, as the below code should be on hold until imask model is generated\n setTimeout(() => {\n if (this.imask && this.imask.maskRef && this.imask.maskRef.value) {\n const maskValIndex = this.imask.maskRef.value.indexOf('_');\n const enteredMaskVal = maskValIndex >= 0 ? this.imask.maskRef.value.slice(0, maskValIndex).length : this.imask.maskRef.value.length;\n if (enteredMaskVal !== this.imask.maskRef.cursorPos) {\n this.imask.maskRef.updateCursor(enteredMaskVal);\n }\n }\n }, 50);\n }\n } else if (this.imask && this.imask.maskRef) { // When display format is bound via condition, remove the placeholder when the format is not applicable\n this.imask.maskRef.updateOptions({ lazy: true });\n // when display format is removed assign input value to the datavalue attr. WMS-20124\n this.inputEl.nativeElement.value = this.datavalue;\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.isFocused = !!this.datavalue;\n }\n}\n","<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const textareaProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['autotrim', {value: true, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['maxchars', PROP_NUMBER],\n ['name', PROP_STRING],\n ['placeholder', {value: 'Place your text', ...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 ['updateon', PROP_STRING],\n ['limitdisplaytext', PROP_STRING],\n ['charlength', PROP_NUMBER],\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-textarea',\n textareaProps\n );\n registerFormWidget(\n FormWidgetType.TEXTAREA,\n new Map(textareaProps)\n );\n};\n","<textarea class=\"form-control app-textarea\"\n focus-target\n role=\"textbox\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n aria-multiline=\"true\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (input)=\"onInputChange()\"\n (ngModelChange)=\"handleChange($event); onInputChange();\"\n #textarea\n></textarea>\n\n<div *ngIf=\"maxchars\" class=\"textarea-count\" >{{limitdisplaytext}}</div>\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NgModel, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { provideAs, provideAsWidgetRef } from '@wm/components/base';\n\nimport { registerProps } from './textarea.props';\nimport { BaseInput } from '../text/base/base-input';\nimport {UserDefinedExecutionContext} from '@wm/core';\nconst WIDGET_CONFIG = {\n widgetType: 'wm-textarea',\n hostClass: 'app-input-wrapper'\n};\n\n@Component({\n selector: 'wm-textarea',\n templateUrl: './textarea.component.html',\n providers: [\n provideAs(TextareaComponent, NG_VALUE_ACCESSOR, true),\n provideAs(TextareaComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(TextareaComponent)\n ]\n})\nexport class TextareaComponent extends BaseInput {\n static initializeProps = registerProps();\n public required: boolean;\n public maxchars: number;\n public disabled: boolean;\n public name: string;\n public readonly: boolean;\n public tabindex: any;\n public placeholder: any;\n public shortcutkey: string;\n public autofocus: boolean;\n public hint: string;\n public limitdisplaytext: string;\n public charlength: number = 0;\n\n @ViewChild('textarea', {static: true}) inputEl: ElementRef;\n @ViewChild(NgModel) ngModel: NgModel;\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n }\n\n public onInputChange() {\n this.charlength = this.inputEl.nativeElement.value.length;\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Injector, OnInit, OnDestroy } from '@angular/core';\nimport { App } from '@wm/core';\n\ndeclare const _, $;\n@Directive({\n selector: '[captionPosition]'\n})\nexport class CaptionPositionDirective implements AfterViewInit, OnInit, OnDestroy {\n private elementRef: ElementRef;\n private inputEl;\n private nativeEl;\n private compositeEle;\n private app: App;\n private labelAnimationSubscription;\n private placeholder;\n private _attrObserver;\n private _isPlaceholderBound;\n\n // skip floating caption for the below form fields\n private skipFloatPositionWidgets: string[] = ['radioset', 'checkboxset', 'richtext', 'switch', 'chips', 'checkbox', 'slider', 'rating', 'toggle', 'upload'];\n\n constructor(inj: Injector, app: App) {\n this.elementRef = inj.get(ElementRef);\n this.nativeEl = this.elementRef.nativeElement;\n this.app = app;\n }\n\n private onBlurCb() { // on blur, remove animation and placeholder if there is no value\n let mobileInputVal;\n // In case of mobile date / time picker check for input element's value which has 'mobile-input' class\n if (this.inputEl.length > 1 && this.inputEl.hasClass('mobile-input')) { \n _.forEach(this.inputEl, (el) => {\n if ($(el).hasClass('mobile-input') && el.value) {\n mobileInputVal = el.value;\n }\n });\n }\n if (!this.inputEl.val() && !mobileInputVal) {\n this.compositeEle.classList.remove('float-active');\n this.inputEl.removeAttr('placeholder');\n }\n }\n\n private onFocusCb() { // on focus, add animation class and the place holder\n this.compositeEle.classList.add('float-active');\n this.inputEl.attr('placeholder', this.placeholder);\n }\n\n // For select widget, display placeholder only on focus else remove the text of the option selected.\n private checkForSelectPlaceholder() {\n if ($(this.nativeEl).find('select option:selected').text() && !$(this.nativeEl).find('select').is(':focus') &&\n !$(this.inputEl.closest('[widget-id]')).attr('datavalue')) {\n $(this.nativeEl).find('select option:selected').text('');\n }\n }\n\n private setDefaultValueAnimation() { // set animation when default values are present\n // remove placeholder when the input el has placeholder and the placeholder is not bound to any variable\n if (!this._isPlaceholderBound && this.inputEl.attr('placeholder')) {\n this.placeholder = this.inputEl.attr('placeholder');\n this.inputEl.removeAttr('placeholder');\n }\n \n // Do not show placeholder as selected by default\n this.checkForSelectPlaceholder();\n\n // check for datavalue attribute in composite element and defaultvalue attribute in form field element\n // check for datavalue.bind attribute to see whether default value is binded via expression or a variable\n // check for displayformat attribute, as in form fields user can set display format to the field\n // check for formdata/bindformdata attribute to see if any default value is binded to the form \n // check for select tag with multiple attribute enabled \n\n if ((this.inputEl.val() && !this.inputEl.is('select')) || $(this.inputEl.closest('[widget-id]')).attr('datavalue') || $(this.inputEl.parent('[widget-id]')).attr('datavalue.bind') || this.nativeEl.getAttribute('defaultvalue')\n || this.nativeEl.getAttribute('displayformat') || $(this.nativeEl).find('select option:selected').text() || $(this.nativeEl).find('select').attr('multiple')) {\n this.compositeEle.classList.add('float-active');\n }\n }\n\n /**\n * Observing placeholder attribute change on DOM instead of having a propChangeHandler fn\n * For composite widgets propertychangehandler function is invoked at independent widgets where as the directive is at composite level\n */\n private observeForPlaceholderAttrChange() {\n this._attrObserver = new MutationObserver(mutations => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === 'placeholder' && this.inputEl.attr('placeholder') && !this.compositeEle.classList.contains('float-active')) {\n this.placeholder = this.inputEl.attr('placeholder');\n this.inputEl.removeAttr('placeholder');\n }\n });\n });\n const config = { attributes: true, childList: false, characterData: false };\n this._attrObserver.observe(this.inputEl[0], config); \n }\n\n // when a form is right aligned and have input-group-btn's like date picker, time picker etc. adjust the css to not overlap the label on the icon\n private checkForRightAlignedForm() {\n const $compositeEle = $(this.compositeEle);\n if ($compositeEle.closest('.align-right').length && $compositeEle.find('.input-group-btn').length) {\n const $label = $compositeEle.find('label');\n if ($compositeEle.find('[wmdatetime]').length) { // for datetime picker, as there will be 2 icons css is different\n $label.addClass('input-grp-dt-icon');\n } else {\n $label.addClass('input-grp-icon');\n }\n }\n }\n\n ngAfterViewInit() {\n this.compositeEle = this.nativeEl;\n const widget = this.nativeEl.widget;\n let captionPosition: string = widget.$attrs.get('captionposition');\n if (widget.form) {\n captionPosition = widget.form.$attrs.get('captionposition');\n this.compositeEle = this.nativeEl.querySelector('.app-composite-widget');\n this._isPlaceholderBound = this.nativeEl.getAttribute('placeholder.bind');\n }\n if (captionPosition === 'floating') {\n if (widget.form) { // for form-fields remove caption-floating and replace it with caption-float or caption-top\n const widgetType: string = this.nativeEl.getAttribute('widgettype'); // fetches the form field type\n if (this.skipFloatPositionWidgets.indexOf(widgetType) > -1) {\n this.compositeEle.classList.remove('caption-floating');\n this.compositeEle.classList.add('caption-top');\n }\n this.checkForRightAlignedForm();\n }\n this.inputEl = $(this.nativeEl).find('input, select, textarea');\n if (!this._isPlaceholderBound) {\n this._isPlaceholderBound = this.inputEl.closest('[widget-id]').attr('placeholder.bind');\n }\n // call the below function to apply float-active class when there are default values to the fields\n setTimeout(this.setDefaultValueAnimation.bind(this), 0);\n\n this.inputEl.focus(this.onFocusCb.bind(this));\n this.inputEl.blur(this.onBlurCb.bind(this));\n\n // observe for placeholder attribute change when placeholder is bound via db variable or an expression\n if (this._isPlaceholderBound) {\n this.observeForPlaceholderAttrChange();\n }\n }\n }\n\n // captionPositionAnimate is only notified for date-time, time and search widgets as input el is not updated with value on selection of dropdown/popups\n ngOnInit() {\n this.labelAnimationSubscription = this.app.subscribe('captionPositionAnimate', (data) => {\n // displayVal is true when there is a value entered in the input field\n // In case of form fields, when the field is in focus, isFocused will be set as true\n // isSelectMultiple is set to true when for select widget, multiple option is enabled\n // Checking inputEl focus - when form is represented as dialog and the first field is automatically in focus\n const isInputElFocused = this.inputEl && this.inputEl.is(':focus');\n if (data.displayVal || data.isFocused || data.isSelectMultiple || isInputElFocused) {\n data.nativeEl.addClass('float-active');\n if (!data.displayVal && isInputElFocused) {\n this.inputEl.attr('placeholder', this.placeholder);\n }\n } else {\n data.nativeEl.removeClass('float-active');\n // Remove placeholder on removing float-active, if not the label and placeholder are collided\n // before placeholder is removed assign it to the placeholder variable\n // check for placeholder in inputel and selectel\n if (this.inputEl) {\n const selectEl = this.inputEl.find('option:first');\n if (this.inputEl.attr('placeholder') || selectEl.text()) {\n if (selectEl.length) {\n selectEl.text(''); \n } else {\n this.placeholder = this.inputEl.attr('placeholder');\n this.inputEl.removeAttr('placeholder');\n }\n }\n }\n }\n });\n }\n\n ngOnDestroy() {\n if (this.labelAnimationSubscription) {\n this.labelAnimationSubscription();\n }\n if (this._attrObserver) {\n this._attrObserver.disconnect();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { IMaskModule } from 'angular-imask';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { ButtonComponent } from './button/button.component';\nimport { ButtonGroupDirective } from './button-group/button-group.directive';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { CheckboxsetComponent } from './checkboxset/checkboxset.component';\nimport { CompositeDirective } from './composite/composite.directive';\nimport { NumberComponent } from './number/number.component';\nimport { RadiosetComponent } from './radioset/radioset.component';\nimport { SelectComponent } from './select/select.component';\nimport { SwitchComponent } from './switch/switch.component';\nimport { InputCalendarComponent } from './text/calendar/input-calendar.component';\nimport { InputColorComponent } from './text/color/input-color.component';\nimport { InputEmailComponent } from './text/email/input-email.component';\nimport { InputNumberComponent } from './text/number/input-number.component';\nimport { InputTextComponent } from './text/text/input-text.component';\nimport { TextareaComponent } from './textarea/textarea.component';\nimport { CaptionPositionDirective } from './caption-position.directive';\n\nconst components = [\n ButtonComponent,\n ButtonGroupDirective,\n CaptionPositionDirective,\n CheckboxComponent,\n CheckboxsetComponent,\n CompositeDirective,\n NumberComponent,\n RadiosetComponent,\n SelectComponent,\n SwitchComponent,\n InputCalendarComponent,\n InputColorComponent,\n InputEmailComponent,\n InputNumberComponent,\n InputTextComponent,\n TextareaComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n WmComponentsModule,\n IMaskModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class InputModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","_c1","_c2","DEFAULT_CLS","WIDGET_CONFIG","_c0","_c4","_c3","i1"],"mappings":"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"}
|