@wavemaker/app-ng-runtime 12.0.0-next.45002 → 12.0.0-next.45006
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/build-task/.npmignore +2 -0
- app-ng-runtime/build-task/bundles/index.umd.js +341 -344
- app-ng-runtime/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +5 -3
- app-ng-runtime/build-task/esm2022/advanced/carousel/carousel.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/containers/accordion/accordion.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/containers/repeat-template.build.mjs +5 -3
- app-ng-runtime/build-task/esm2022/containers/tabs/tabs.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/form/form.build.mjs +5 -2
- app-ng-runtime/build-task/esm2022/data/list/list.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/media-list/media-list.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/table/table-column/table-column.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/data/table/table.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/dialogs/partial-dialog/partial-dialog.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/navigation/menu/menu.build.mjs +8 -3
- app-ng-runtime/build-task/esm2022/navigation/popover/popover.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/page/page-content/page-content.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/page/page.build.mjs +3 -2
- app-ng-runtime/build-task/esm2022/public_api.mjs +1 -2
- app-ng-runtime/build-task/esm2022/utils/utils.mjs +1 -1
- app-ng-runtime/build-task/fesm2022/index.mjs +340 -341
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/build-task/public_api.d.ts +0 -1
- app-ng-runtime/components/advanced/carousel/.npmignore +2 -0
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +29 -18
- app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +3 -3
- app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -2
- app-ng-runtime/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +15 -9
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +3 -2
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +12 -7
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.module.mjs +2 -2
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +28 -16
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/custom/.npmignore +2 -0
- app-ng-runtime/components/advanced/custom/bundles/index.umd.js +31 -94
- app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +2 -0
- app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget.props.d.ts +1 -0
- app-ng-runtime/components/advanced/custom/custom-widget.module.d.ts +4 -5
- app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +21 -13
- app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget.props.mjs +5 -2
- app-ng-runtime/components/advanced/custom/esm2022/custom-widget.directive.mjs +5 -5
- app-ng-runtime/components/advanced/custom/esm2022/custom-widget.module.mjs +2 -9
- app-ng-runtime/components/advanced/custom/esm2022/public_api.mjs +1 -2
- app-ng-runtime/components/advanced/custom/fesm2022/index.mjs +31 -93
- app-ng-runtime/components/advanced/custom/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/custom/public_api.d.ts +0 -1
- app-ng-runtime/components/advanced/login/.npmignore +2 -0
- app-ng-runtime/components/advanced/login/bundles/index.umd.js +19 -13
- app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +17 -10
- app-ng-runtime/components/advanced/login/esm2022/login.module.mjs +2 -2
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs +18 -11
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/login.component.d.ts +2 -2
- app-ng-runtime/components/advanced/marquee/.npmignore +2 -0
- app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +11 -6
- app-ng-runtime/components/advanced/marquee/esm2022/marquee.directive.mjs +12 -7
- app-ng-runtime/components/advanced/marquee/esm2022/marquee.module.mjs +2 -2
- app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -2
- app-ng-runtime/components/base/.npmignore +2 -0
- app-ng-runtime/components/base/bundles/index.umd.js +400 -312
- app-ng-runtime/components/base/directives/show-in-device.directive.d.ts +3 -6
- app-ng-runtime/components/base/esm2022/components.module.mjs +2 -2
- app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +13 -15
- app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +35 -34
- app-ng-runtime/components/base/esm2022/pipes/image.pipe.mjs +2 -2
- app-ng-runtime/components/base/esm2022/pipes/sanitize.pipe.mjs +3 -3
- app-ng-runtime/components/base/esm2022/pipes/trust-as.pipe.mjs +3 -3
- app-ng-runtime/components/base/esm2022/pipes/wm-pipe.mjs +3 -2
- app-ng-runtime/components/base/esm2022/public_api.mjs +2 -1
- app-ng-runtime/components/base/esm2022/utils/data-utils.mjs +30 -29
- app-ng-runtime/components/base/esm2022/utils/form-utils.mjs +48 -42
- app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +8 -7
- app-ng-runtime/components/base/esm2022/utils/widget-utils.mjs +28 -27
- app-ng-runtime/components/base/esm2022/widgets/common/base/base-container.component.mjs +8 -7
- app-ng-runtime/components/base/esm2022/widgets/common/base/base-field-validations.mjs +23 -22
- app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +63 -42
- app-ng-runtime/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +4 -4
- app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +52 -18
- app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +6 -5
- app-ng-runtime/components/base/esm2022/widgets/common/base/stylable.component.mjs +3 -3
- app-ng-runtime/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -3
- app-ng-runtime/components/base/esm2022/widgets/common/container/container.directive.mjs +12 -7
- app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +5 -4
- app-ng-runtime/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +12 -7
- app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +14 -7
- app-ng-runtime/components/base/esm2022/widgets/common/message/message.component.mjs +16 -10
- app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +14 -8
- app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +9 -8
- app-ng-runtime/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +4 -4
- app-ng-runtime/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +15 -9
- app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +11 -10
- app-ng-runtime/components/base/esm2022/widgets/framework/deviceview.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/property-change-handler.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/framework/styler.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/widget-props.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +4 -3
- app-ng-runtime/components/base/esm2022/widgets/framework/widget-registry.mjs +1 -1
- app-ng-runtime/components/base/fesm2022/index.mjs +405 -315
- app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
- app-ng-runtime/components/base/public_api.d.ts +1 -0
- app-ng-runtime/components/base/utils/data-utils.d.ts +1 -0
- app-ng-runtime/components/base/utils/widget-utils.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -1
- app-ng-runtime/components/base/widgets/common/base/base-field-validations.d.ts +1 -1
- app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +22 -4
- app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -1
- app-ng-runtime/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
- app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +3 -3
- app-ng-runtime/components/basic/default/.npmignore +2 -0
- app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/bundles/index.umd.js +158 -115
- app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +31 -27
- app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +13 -7
- app-ng-runtime/components/basic/default/esm2022/basic.module.mjs +2 -2
- app-ng-runtime/components/basic/default/esm2022/html/html.directive.mjs +13 -8
- app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +19 -14
- app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +15 -9
- app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +15 -9
- app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +12 -7
- app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +1 -1
- app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +34 -30
- app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +21 -17
- app-ng-runtime/components/basic/default/fesm2022/index.mjs +157 -113
- app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -2
- app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -2
- app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -2
- app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -2
- app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -2
- app-ng-runtime/components/basic/progress/.npmignore +2 -0
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +40 -28
- app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +22 -15
- app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +17 -10
- app-ng-runtime/components/basic/progress/esm2022/progress.module.mjs +2 -2
- app-ng-runtime/components/basic/progress/esm2022/utils.mjs +3 -3
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs +39 -26
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -2
- app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -2
- app-ng-runtime/components/basic/rich-text-editor/.npmignore +2 -0
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +19 -13
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +17 -10
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +2 -2
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +18 -11
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -2
- app-ng-runtime/components/basic/search/.npmignore +2 -0
- app-ng-runtime/components/basic/search/bundles/index.umd.js +186 -175
- app-ng-runtime/components/basic/search/esm2022/data-provider/data-provider.mjs +1 -1
- app-ng-runtime/components/basic/search/esm2022/data-provider/local-data-provider.mjs +26 -23
- app-ng-runtime/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +12 -11
- app-ng-runtime/components/basic/search/esm2022/scrollable.directive.mjs +3 -3
- app-ng-runtime/components/basic/search/esm2022/search.component.mjs +148 -138
- app-ng-runtime/components/basic/search/esm2022/search.module.mjs +2 -2
- app-ng-runtime/components/basic/search/fesm2022/index.mjs +186 -174
- app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/search.component.d.ts +2 -2
- app-ng-runtime/components/basic/tree/.npmignore +2 -0
- app-ng-runtime/components/basic/tree/bundles/index.umd.js +23 -17
- app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +21 -14
- app-ng-runtime/components/basic/tree/esm2022/tree.module.mjs +2 -2
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs +22 -15
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/tree/tree.component.d.ts +2 -2
- app-ng-runtime/components/chart/.npmignore +2 -0
- app-ng-runtime/components/chart/bundles/index.umd.js +97 -84
- app-ng-runtime/components/chart/chart.component.d.ts +3 -3
- app-ng-runtime/components/chart/chart.utils.d.ts +3 -3
- app-ng-runtime/components/chart/esm2022/chart.component.mjs +82 -68
- app-ng-runtime/components/chart/esm2022/chart.module.mjs +2 -2
- app-ng-runtime/components/chart/esm2022/chart.utils.mjs +14 -13
- app-ng-runtime/components/chart/fesm2022/index.mjs +95 -81
- app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/.npmignore +2 -0
- app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -2
- app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +2 -2
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +51 -40
- app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +23 -17
- app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.props.mjs +4 -4
- app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +25 -19
- app-ng-runtime/components/containers/accordion/esm2022/accordion.module.mjs +2 -2
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +50 -38
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/.npmignore +2 -0
- app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +32 -17
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +13 -8
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +12 -7
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +12 -7
- app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.module.mjs +2 -2
- app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs +34 -19
- app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +2 -2
- app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -2
- app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -2
- app-ng-runtime/components/containers/linear-layout/.npmignore +2 -0
- app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +21 -11
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +12 -7
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +12 -7
- app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.module.mjs +2 -2
- app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs +23 -13
- app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -2
- app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -2
- app-ng-runtime/components/containers/panel/.npmignore +2 -0
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +85 -85
- app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +83 -82
- app-ng-runtime/components/containers/panel/esm2022/panel.module.mjs +2 -2
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs +84 -83
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/panel.component.d.ts +3 -3
- app-ng-runtime/components/containers/tabs/.npmignore +2 -0
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +74 -63
- app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +14 -8
- app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.props.mjs +4 -4
- app-ng-runtime/components/containers/tabs/esm2022/tabs.animator.mjs +1 -1
- app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +57 -51
- app-ng-runtime/components/containers/tabs/esm2022/tabs.module.mjs +2 -2
- app-ng-runtime/components/containers/tabs/esm2022/tabs.props.mjs +1 -1
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +73 -61
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -2
- app-ng-runtime/components/containers/tabs/tabs.component.d.ts +2 -2
- app-ng-runtime/components/containers/tile/.npmignore +2 -0
- app-ng-runtime/components/containers/tile/bundles/index.umd.js +11 -6
- app-ng-runtime/components/containers/tile/esm2022/tile.directive.mjs +12 -7
- app-ng-runtime/components/containers/tile/esm2022/tile.module.mjs +2 -2
- app-ng-runtime/components/containers/tile/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/containers/tile/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -2
- app-ng-runtime/components/containers/wizard/.npmignore +2 -0
- app-ng-runtime/components/containers/wizard/bundles/index.umd.js +102 -98
- app-ng-runtime/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +13 -8
- app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +92 -93
- app-ng-runtime/components/containers/wizard/esm2022/wizard.module.mjs +2 -2
- app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +104 -100
- app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -2
- app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -2
- app-ng-runtime/components/data/card/.npmignore +2 -0
- app-ng-runtime/components/data/card/bundles/index.umd.js +70 -50
- app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -2
- app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -2
- app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -2
- app-ng-runtime/components/data/card/card.component.d.ts +2 -2
- app-ng-runtime/components/data/card/esm2022/card-actions/card-actions.directive.mjs +12 -7
- app-ng-runtime/components/data/card/esm2022/card-content/card-content.component.mjs +15 -9
- app-ng-runtime/components/data/card/esm2022/card-footer/card-footer.directive.mjs +12 -7
- app-ng-runtime/components/data/card/esm2022/card.component.mjs +38 -34
- app-ng-runtime/components/data/card/esm2022/card.module.mjs +2 -2
- app-ng-runtime/components/data/card/fesm2022/index.mjs +72 -52
- app-ng-runtime/components/data/card/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/.npmignore +2 -0
- app-ng-runtime/components/data/form/bundles/index.umd.js +197 -184
- app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +15 -9
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +21 -15
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.props.mjs +1 -1
- app-ng-runtime/components/data/form/esm2022/form-widget.directive.mjs +4 -4
- app-ng-runtime/components/data/form/esm2022/form.component.mjs +138 -134
- app-ng-runtime/components/data/form/esm2022/form.module.mjs +2 -2
- app-ng-runtime/components/data/form/esm2022/form.props.mjs +1 -1
- app-ng-runtime/components/data/form/esm2022/live-actions/dependson.directive.mjs +4 -4
- app-ng-runtime/components/data/form/esm2022/live-actions/live-actions.directive.mjs +4 -4
- app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +7 -6
- app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +14 -13
- app-ng-runtime/components/data/form/fesm2022/index.mjs +201 -187
- app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -2
- app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +2 -2
- app-ng-runtime/components/data/form/form.component.d.ts +4 -4
- app-ng-runtime/components/data/form/live-form/live-form.directive.d.ts +1 -1
- app-ng-runtime/components/data/list/.npmignore +2 -0
- app-ng-runtime/components/data/list/bundles/index.umd.js +829 -818
- app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +9 -4
- app-ng-runtime/components/data/list/esm2022/list.animator.mjs +5 -3
- app-ng-runtime/components/data/list/esm2022/list.component.mjs +817 -810
- app-ng-runtime/components/data/list/esm2022/list.module.mjs +2 -2
- app-ng-runtime/components/data/list/fesm2022/index.mjs +828 -816
- app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/list-item.directive.d.ts +4 -0
- app-ng-runtime/components/data/list/list.component.d.ts +55 -54
- app-ng-runtime/components/data/live-table/.npmignore +2 -0
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +13 -7
- app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +14 -8
- app-ng-runtime/components/data/live-table/esm2022/live-table.module.mjs +2 -2
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs +15 -9
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/live-table.component.d.ts +2 -2
- app-ng-runtime/components/data/pagination/.npmignore +2 -0
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +113 -110
- app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +111 -107
- app-ng-runtime/components/data/pagination/esm2022/pagination.module.mjs +2 -2
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs +112 -108
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -2
- app-ng-runtime/components/data/table/.npmignore +2 -0
- app-ng-runtime/components/data/table/bundles/index.umd.js +314 -269
- app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +15 -9
- app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +40 -25
- app-ng-runtime/components/data/table/esm2022/table-column/table-column.props.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +13 -8
- app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +10 -9
- app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +56 -58
- app-ng-runtime/components/data/table/esm2022/table-row/table-row.directive.mjs +13 -8
- app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +14 -8
- app-ng-runtime/components/data/table/esm2022/table.component.mjs +165 -150
- app-ng-runtime/components/data/table/esm2022/table.module.mjs +2 -2
- app-ng-runtime/components/data/table/esm2022/table.props.mjs +2 -2
- app-ng-runtime/components/data/table/fesm2022/index.mjs +313 -267
- app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +8 -8
- app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -2
- app-ng-runtime/components/data/table/table.component.d.ts +4 -4
- app-ng-runtime/components/dialogs/alert-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +15 -9
- app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +16 -10
- app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +17 -11
- app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +17 -11
- app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +18 -12
- app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +19 -13
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/.npmignore +2 -0
- app-ng-runtime/components/dialogs/default/base-dialog.d.ts +2 -2
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +75 -71
- app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -2
- app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +14 -9
- app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +4 -4
- app-ng-runtime/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +12 -7
- app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +49 -55
- app-ng-runtime/components/dialogs/default/esm2022/dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +76 -72
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +20 -14
- app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +21 -15
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +22 -16
- app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -14
- app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -15
- app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +22 -16
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/login-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/login-dialog/bundles/index.umd.js +4 -4
- app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +4 -4
- app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs +4 -4
- app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/.npmignore +2 -0
- app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +16 -10
- app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +17 -11
- app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +2 -2
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +18 -12
- app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +2 -2
- app-ng-runtime/components/input/calendar/.npmignore +2 -0
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +46 -38
- app-ng-runtime/components/input/calendar/calendar.component.d.ts +2 -2
- app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +44 -35
- app-ng-runtime/components/input/calendar/esm2022/calendar.module.mjs +2 -2
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs +45 -36
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/.npmignore +2 -0
- app-ng-runtime/components/input/chips/bundles/index.umd.js +69 -61
- app-ng-runtime/components/input/chips/chips.component.d.ts +3 -3
- app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +67 -58
- app-ng-runtime/components/input/chips/esm2022/chips.module.mjs +2 -2
- app-ng-runtime/components/input/chips/fesm2022/index.mjs +67 -58
- app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/.npmignore +2 -0
- app-ng-runtime/components/input/color-picker/bundles/index.umd.js +25 -12
- app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -2
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +26 -13
- app-ng-runtime/components/input/color-picker/esm2022/color-picker.module.mjs +2 -2
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +26 -13
- app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/.npmignore +2 -0
- app-ng-runtime/components/input/currency/bundles/index.umd.js +18 -11
- app-ng-runtime/components/input/currency/currency.component.d.ts +2 -2
- app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +19 -12
- app-ng-runtime/components/input/currency/esm2022/currency.module.mjs +2 -2
- app-ng-runtime/components/input/currency/fesm2022/index.mjs +19 -12
- app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/.npmignore +2 -0
- app-ng-runtime/components/input/default/base-form.component.d.ts +3 -3
- app-ng-runtime/components/input/default/bundles/index.umd.js +583 -450
- app-ng-runtime/components/input/default/button/button.component.d.ts +2 -2
- app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -2
- app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +3 -2
- app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -2
- app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -2
- app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +4 -4
- app-ng-runtime/components/input/default/esm2022/base-form-custom.component.mjs +3 -3
- app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +17 -11
- app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +32 -28
- app-ng-runtime/components/input/default/esm2022/button-group/button-group.directive.mjs +12 -7
- app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +5 -4
- app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +27 -17
- app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +107 -103
- app-ng-runtime/components/input/default/esm2022/composite/composite.directive.mjs +12 -7
- app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +32 -26
- app-ng-runtime/components/input/default/esm2022/input.module.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +17 -10
- app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +105 -102
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +43 -32
- app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +38 -31
- app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +18 -11
- app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +23 -12
- app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +23 -12
- app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +20 -11
- app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +35 -24
- app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +21 -12
- app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +20 -11
- app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +21 -12
- app-ng-runtime/components/input/default/fesm2022/index.mjs +586 -451
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/number/number.component.d.ts +2 -2
- app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -2
- app-ng-runtime/components/input/default/select/select.component.d.ts +2 -2
- app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/base/base-input.d.ts +3 -2
- app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -1
- app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -2
- app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -2
- app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -2
- app-ng-runtime/components/input/epoch/.npmignore +2 -0
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -2
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +200 -163
- app-ng-runtime/components/input/epoch/date/date.component.d.ts +2 -2
- app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -2
- app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +44 -36
- app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +29 -21
- app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -2
- app-ng-runtime/components/input/epoch/esm2022/date/imaskUtil.mjs +1 -1
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +42 -41
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +49 -37
- app-ng-runtime/components/input/epoch/esm2022/epoch.module.mjs +2 -2
- app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +7 -5
- app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +35 -24
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +197 -159
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/time/time.component.d.ts +2 -2
- app-ng-runtime/components/input/file-upload/.npmignore +2 -0
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +133 -135
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +131 -132
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +132 -133
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +2 -2
- app-ng-runtime/components/input/rating/.npmignore +2 -0
- app-ng-runtime/components/input/rating/bundles/index.umd.js +60 -51
- app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +58 -48
- app-ng-runtime/components/input/rating/esm2022/rating.module.mjs +2 -2
- app-ng-runtime/components/input/rating/fesm2022/index.mjs +58 -48
- app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/rating.component.d.ts +2 -2
- app-ng-runtime/components/input/slider/.npmignore +2 -0
- app-ng-runtime/components/input/slider/bundles/index.umd.js +23 -13
- app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +24 -14
- app-ng-runtime/components/input/slider/esm2022/slider.module.mjs +2 -2
- app-ng-runtime/components/input/slider/fesm2022/index.mjs +24 -14
- app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/slider.component.d.ts +2 -2
- app-ng-runtime/components/navigation/breadcrumb/.npmignore +2 -0
- app-ng-runtime/components/navigation/breadcrumb/breadcrumb.component.d.ts +2 -2
- app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +33 -28
- app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +34 -29
- app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +2 -2
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +35 -30
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/.npmignore +2 -0
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +160 -145
- app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +13 -7
- app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +5 -4
- app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +27 -26
- app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +44 -40
- app-ng-runtime/components/navigation/menu/esm2022/menu.module.mjs +4 -3
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +14 -8
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +63 -63
- app-ng-runtime/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +3 -3
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +160 -144
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -1
- app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +12 -1
- app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -2
- app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +3 -3
- app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +3 -4
- app-ng-runtime/components/navigation/navbar/.npmignore +2 -0
- app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +29 -22
- app-ng-runtime/components/navigation/navbar/esm2022/navbar.component.mjs +30 -23
- app-ng-runtime/components/navigation/navbar/esm2022/navbar.module.mjs +2 -2
- app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs +31 -24
- app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -2
- app-ng-runtime/components/navigation/popover/.npmignore +2 -0
- app-ng-runtime/components/navigation/popover/bundles/index.umd.js +18 -11
- app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +19 -12
- app-ng-runtime/components/navigation/popover/esm2022/popover.module.mjs +2 -2
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +20 -13
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/popover/popover.component.d.ts +2 -2
- app-ng-runtime/components/page/default/.npmignore +2 -0
- app-ng-runtime/components/page/default/bundles/index.umd.js +63 -31
- app-ng-runtime/components/page/default/content/content.component.d.ts +2 -2
- app-ng-runtime/components/page/default/esm2022/content/content.component.mjs +13 -7
- app-ng-runtime/components/page/default/esm2022/layout.directive.mjs +12 -7
- app-ng-runtime/components/page/default/esm2022/page-content/page-content.component.mjs +13 -7
- app-ng-runtime/components/page/default/esm2022/page.directive.mjs +12 -7
- app-ng-runtime/components/page/default/esm2022/page.module.mjs +2 -2
- app-ng-runtime/components/page/default/esm2022/router-outlet.directive.mjs +12 -7
- app-ng-runtime/components/page/default/esm2022/spa-page.directive.mjs +12 -7
- app-ng-runtime/components/page/default/fesm2022/index.mjs +65 -33
- app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/layout.directive.d.ts +2 -2
- app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +2 -2
- app-ng-runtime/components/page/default/page.directive.d.ts +2 -2
- app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -2
- app-ng-runtime/components/page/default/spa-page.directive.d.ts +2 -2
- app-ng-runtime/components/page/footer/.npmignore +2 -0
- app-ng-runtime/components/page/footer/bundles/index.umd.js +11 -6
- app-ng-runtime/components/page/footer/esm2022/footer.directive.mjs +12 -7
- app-ng-runtime/components/page/footer/esm2022/footer.module.mjs +2 -2
- app-ng-runtime/components/page/footer/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -2
- app-ng-runtime/components/page/header/.npmignore +2 -0
- app-ng-runtime/components/page/header/bundles/index.umd.js +12 -6
- app-ng-runtime/components/page/header/esm2022/header.component.mjs +13 -7
- app-ng-runtime/components/page/header/esm2022/header.module.mjs +2 -2
- app-ng-runtime/components/page/header/fesm2022/index.mjs +14 -8
- app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/header.component.d.ts +2 -2
- app-ng-runtime/components/page/left-panel/.npmignore +2 -0
- app-ng-runtime/components/page/left-panel/bundles/index.umd.js +12 -7
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.animator.mjs +1 -1
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.directive.mjs +13 -8
- app-ng-runtime/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
- app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +14 -9
- app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +2 -2
- app-ng-runtime/components/page/right-panel/.npmignore +2 -0
- app-ng-runtime/components/page/right-panel/bundles/index.umd.js +11 -6
- app-ng-runtime/components/page/right-panel/esm2022/right-panel.directive.mjs +12 -7
- app-ng-runtime/components/page/right-panel/esm2022/right-panel.module.mjs +2 -2
- app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -2
- app-ng-runtime/components/page/top-nav/.npmignore +2 -0
- app-ng-runtime/components/page/top-nav/bundles/index.umd.js +11 -6
- app-ng-runtime/components/page/top-nav/esm2022/top-nav.directive.mjs +12 -7
- app-ng-runtime/components/page/top-nav/esm2022/top-nav.module.mjs +2 -2
- app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +13 -8
- app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -2
- app-ng-runtime/components/prefab/.npmignore +2 -0
- app-ng-runtime/components/prefab/bundles/index.umd.js +28 -18
- app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +14 -8
- app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +15 -9
- app-ng-runtime/components/prefab/esm2022/prefab.module.mjs +2 -2
- app-ng-runtime/components/prefab/fesm2022/index.mjs +26 -15
- app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +2 -2
- app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -2
- app-ng-runtime/core/.npmignore +2 -0
- app-ng-runtime/core/bundles/index.umd.js +158 -146
- app-ng-runtime/core/esm2022/core.module.mjs +2 -2
- app-ng-runtime/core/esm2022/public_api.mjs +3 -2
- app-ng-runtime/core/esm2022/services/constant.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/custom-icons-loader.service.mjs +26 -0
- app-ng-runtime/core/esm2022/services/field-type.service.mjs +5 -4
- app-ng-runtime/core/esm2022/services/field-widget.service.mjs +5 -4
- app-ng-runtime/core/esm2022/services/pagination.service.mjs +8 -7
- app-ng-runtime/core/esm2022/services/script-loader.service.mjs +3 -3
- app-ng-runtime/core/esm2022/services/state-persistence.service.mjs +18 -17
- app-ng-runtime/core/esm2022/services/user-custom-pipe-manager.service.mjs +2 -2
- app-ng-runtime/core/esm2022/services/utils.service.mjs +5 -4
- app-ng-runtime/core/esm2022/services/viewport.service.mjs +5 -4
- app-ng-runtime/core/esm2022/utils/build-utils.mjs +5 -4
- app-ng-runtime/core/esm2022/utils/dom.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/event-notifier.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/expression-parser.mjs +6 -5
- app-ng-runtime/core/esm2022/utils/id-generator.mjs +1 -1
- app-ng-runtime/core/esm2022/utils/lru-cache.mjs +3 -2
- app-ng-runtime/core/esm2022/utils/utils.mjs +79 -82
- app-ng-runtime/core/esm2022/utils/watcher.mjs +9 -7
- app-ng-runtime/core/esm2022/utils/wm-project-properties.mjs +1 -1
- app-ng-runtime/core/fesm2022/index.mjs +158 -142
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/public_api.d.ts +2 -1
- app-ng-runtime/core/services/custom-icons-loader.service.d.ts +7 -0
- app-ng-runtime/core/services/pagination.service.d.ts +1 -1
- app-ng-runtime/core/utils/utils.d.ts +5 -9
- app-ng-runtime/http/.npmignore +2 -0
- app-ng-runtime/http/bundles/index.umd.js +10 -10
- app-ng-runtime/http/esm2022/http-service.module.mjs +2 -2
- app-ng-runtime/http/esm2022/http.service.mjs +7 -6
- app-ng-runtime/http/esm2022/wm-http-request.mjs +1 -1
- app-ng-runtime/http/esm2022/wm-http-response.mjs +1 -1
- app-ng-runtime/http/fesm2022/index.mjs +7 -6
- app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/locales/angular/global/af-na.js +4 -4
- app-ng-runtime/locales/angular/global/af.js +4 -4
- app-ng-runtime/locales/angular/global/agq.js +4 -4
- app-ng-runtime/locales/angular/global/ak.js +4 -4
- app-ng-runtime/locales/angular/global/am.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ae.js +4 -4
- app-ng-runtime/locales/angular/global/ar-bh.js +4 -4
- app-ng-runtime/locales/angular/global/ar-dj.js +4 -4
- app-ng-runtime/locales/angular/global/ar-dz.js +4 -4
- app-ng-runtime/locales/angular/global/ar-eg.js +4 -4
- app-ng-runtime/locales/angular/global/ar-eh.js +4 -4
- app-ng-runtime/locales/angular/global/ar-er.js +4 -4
- app-ng-runtime/locales/angular/global/ar-il.js +4 -4
- app-ng-runtime/locales/angular/global/ar-iq.js +4 -4
- app-ng-runtime/locales/angular/global/ar-jo.js +4 -4
- app-ng-runtime/locales/angular/global/ar-km.js +4 -4
- app-ng-runtime/locales/angular/global/ar-kw.js +4 -4
- app-ng-runtime/locales/angular/global/ar-lb.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ly.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ma.js +4 -4
- app-ng-runtime/locales/angular/global/ar-mr.js +4 -4
- app-ng-runtime/locales/angular/global/ar-om.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ps.js +4 -4
- app-ng-runtime/locales/angular/global/ar-qa.js +4 -4
- app-ng-runtime/locales/angular/global/ar-sa.js +4 -4
- app-ng-runtime/locales/angular/global/ar-sd.js +4 -4
- app-ng-runtime/locales/angular/global/ar-so.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ss.js +4 -4
- app-ng-runtime/locales/angular/global/ar-sy.js +4 -4
- app-ng-runtime/locales/angular/global/ar-td.js +4 -4
- app-ng-runtime/locales/angular/global/ar-tn.js +4 -4
- app-ng-runtime/locales/angular/global/ar-ye.js +4 -4
- app-ng-runtime/locales/angular/global/ar.js +4 -4
- app-ng-runtime/locales/angular/global/as.js +4 -4
- app-ng-runtime/locales/angular/global/asa.js +4 -4
- app-ng-runtime/locales/angular/global/ast.js +4 -4
- app-ng-runtime/locales/angular/global/az-cyrl.js +4 -4
- app-ng-runtime/locales/angular/global/az-latn.js +4 -4
- app-ng-runtime/locales/angular/global/az.js +4 -4
- app-ng-runtime/locales/angular/global/bas.js +4 -4
- app-ng-runtime/locales/angular/global/be-tarask.js +4 -4
- app-ng-runtime/locales/angular/global/be.js +4 -4
- app-ng-runtime/locales/angular/global/bem.js +4 -4
- app-ng-runtime/locales/angular/global/bez.js +4 -4
- app-ng-runtime/locales/angular/global/bg.js +4 -4
- app-ng-runtime/locales/angular/global/bm.js +4 -4
- app-ng-runtime/locales/angular/global/bn-in.js +4 -4
- app-ng-runtime/locales/angular/global/bn.js +4 -4
- app-ng-runtime/locales/angular/global/bo-in.js +4 -4
- app-ng-runtime/locales/angular/global/bo.js +4 -4
- app-ng-runtime/locales/angular/global/br.js +4 -4
- app-ng-runtime/locales/angular/global/brx.js +4 -4
- app-ng-runtime/locales/angular/global/bs-cyrl.js +4 -4
- app-ng-runtime/locales/angular/global/bs-latn.js +4 -4
- app-ng-runtime/locales/angular/global/bs.js +4 -4
- app-ng-runtime/locales/angular/global/ca-ad.js +4 -4
- app-ng-runtime/locales/angular/global/ca-es-valencia.js +4 -4
- app-ng-runtime/locales/angular/global/ca-fr.js +4 -4
- app-ng-runtime/locales/angular/global/ca-it.js +4 -4
- app-ng-runtime/locales/angular/global/ca.js +4 -4
- app-ng-runtime/locales/angular/global/ccp-in.js +4 -4
- app-ng-runtime/locales/angular/global/ccp.js +4 -4
- app-ng-runtime/locales/angular/global/ce.js +4 -4
- app-ng-runtime/locales/angular/global/ceb.js +4 -4
- app-ng-runtime/locales/angular/global/cgg.js +4 -4
- app-ng-runtime/locales/angular/global/chr.js +4 -4
- app-ng-runtime/locales/angular/global/ckb-ir.js +4 -4
- app-ng-runtime/locales/angular/global/ckb.js +4 -4
- app-ng-runtime/locales/angular/global/cs.js +4 -4
- app-ng-runtime/locales/angular/global/cy.js +4 -4
- app-ng-runtime/locales/angular/global/da-gl.js +4 -4
- app-ng-runtime/locales/angular/global/da.js +4 -4
- app-ng-runtime/locales/angular/global/dav.js +4 -4
- app-ng-runtime/locales/angular/global/de-at.js +4 -4
- app-ng-runtime/locales/angular/global/de-be.js +4 -4
- app-ng-runtime/locales/angular/global/de-ch.js +4 -4
- app-ng-runtime/locales/angular/global/de-it.js +4 -4
- app-ng-runtime/locales/angular/global/de-li.js +4 -4
- app-ng-runtime/locales/angular/global/de-lu.js +4 -4
- app-ng-runtime/locales/angular/global/de.js +4 -4
- app-ng-runtime/locales/angular/global/dje.js +4 -4
- app-ng-runtime/locales/angular/global/doi.js +4 -4
- app-ng-runtime/locales/angular/global/dsb.js +4 -4
- app-ng-runtime/locales/angular/global/dua.js +4 -4
- app-ng-runtime/locales/angular/global/dyo.js +4 -4
- app-ng-runtime/locales/angular/global/dz.js +4 -4
- app-ng-runtime/locales/angular/global/ebu.js +4 -4
- app-ng-runtime/locales/angular/global/ee-tg.js +4 -4
- app-ng-runtime/locales/angular/global/ee.js +4 -4
- app-ng-runtime/locales/angular/global/el-cy.js +4 -4
- app-ng-runtime/locales/angular/global/el.js +4 -4
- app-ng-runtime/locales/angular/global/en-001.js +4 -4
- app-ng-runtime/locales/angular/global/en-150.js +4 -4
- app-ng-runtime/locales/angular/global/en-ae.js +4 -4
- app-ng-runtime/locales/angular/global/en-ag.js +4 -4
- app-ng-runtime/locales/angular/global/en-ai.js +4 -4
- app-ng-runtime/locales/angular/global/en-as.js +4 -4
- app-ng-runtime/locales/angular/global/en-at.js +4 -4
- app-ng-runtime/locales/angular/global/en-au.js +4 -4
- app-ng-runtime/locales/angular/global/en-bb.js +4 -4
- app-ng-runtime/locales/angular/global/en-be.js +4 -4
- app-ng-runtime/locales/angular/global/en-bi.js +4 -4
- app-ng-runtime/locales/angular/global/en-bm.js +4 -4
- app-ng-runtime/locales/angular/global/en-bs.js +4 -4
- app-ng-runtime/locales/angular/global/en-bw.js +4 -4
- app-ng-runtime/locales/angular/global/en-bz.js +4 -4
- app-ng-runtime/locales/angular/global/en-ca.js +4 -4
- app-ng-runtime/locales/angular/global/en-cc.js +4 -4
- app-ng-runtime/locales/angular/global/en-ch.js +4 -4
- app-ng-runtime/locales/angular/global/en-ck.js +4 -4
- app-ng-runtime/locales/angular/global/en-cm.js +4 -4
- app-ng-runtime/locales/angular/global/en-cx.js +4 -4
- app-ng-runtime/locales/angular/global/en-cy.js +4 -4
- app-ng-runtime/locales/angular/global/en-de.js +4 -4
- app-ng-runtime/locales/angular/global/en-dg.js +4 -4
- app-ng-runtime/locales/angular/global/en-dk.js +4 -4
- app-ng-runtime/locales/angular/global/en-dm.js +4 -4
- app-ng-runtime/locales/angular/global/en-er.js +4 -4
- app-ng-runtime/locales/angular/global/en-fi.js +4 -4
- app-ng-runtime/locales/angular/global/en-fj.js +4 -4
- app-ng-runtime/locales/angular/global/en-fk.js +4 -4
- app-ng-runtime/locales/angular/global/en-fm.js +4 -4
- app-ng-runtime/locales/angular/global/en-gb.js +4 -4
- app-ng-runtime/locales/angular/global/en-gd.js +4 -4
- app-ng-runtime/locales/angular/global/en-gg.js +4 -4
- app-ng-runtime/locales/angular/global/en-gh.js +4 -4
- app-ng-runtime/locales/angular/global/en-gi.js +4 -4
- app-ng-runtime/locales/angular/global/en-gm.js +4 -4
- app-ng-runtime/locales/angular/global/en-gu.js +4 -4
- app-ng-runtime/locales/angular/global/en-gy.js +4 -4
- app-ng-runtime/locales/angular/global/en-hk.js +4 -4
- app-ng-runtime/locales/angular/global/en-ie.js +4 -4
- app-ng-runtime/locales/angular/global/en-il.js +4 -4
- app-ng-runtime/locales/angular/global/en-im.js +4 -4
- app-ng-runtime/locales/angular/global/en-in.js +4 -4
- app-ng-runtime/locales/angular/global/en-io.js +4 -4
- app-ng-runtime/locales/angular/global/en-je.js +4 -4
- app-ng-runtime/locales/angular/global/en-jm.js +4 -4
- app-ng-runtime/locales/angular/global/en-ke.js +4 -4
- app-ng-runtime/locales/angular/global/en-ki.js +4 -4
- app-ng-runtime/locales/angular/global/en-kn.js +4 -4
- app-ng-runtime/locales/angular/global/en-ky.js +4 -4
- app-ng-runtime/locales/angular/global/en-lc.js +4 -4
- app-ng-runtime/locales/angular/global/en-lr.js +4 -4
- app-ng-runtime/locales/angular/global/en-ls.js +4 -4
- app-ng-runtime/locales/angular/global/en-mg.js +4 -4
- app-ng-runtime/locales/angular/global/en-mh.js +4 -4
- app-ng-runtime/locales/angular/global/en-mo.js +4 -4
- app-ng-runtime/locales/angular/global/en-mp.js +4 -4
- app-ng-runtime/locales/angular/global/en-ms.js +4 -4
- app-ng-runtime/locales/angular/global/en-mt.js +4 -4
- app-ng-runtime/locales/angular/global/en-mu.js +4 -4
- app-ng-runtime/locales/angular/global/en-mv.js +4 -4
- app-ng-runtime/locales/angular/global/en-mw.js +4 -4
- app-ng-runtime/locales/angular/global/en-my.js +4 -4
- app-ng-runtime/locales/angular/global/en-na.js +4 -4
- app-ng-runtime/locales/angular/global/en-nf.js +4 -4
- app-ng-runtime/locales/angular/global/en-ng.js +4 -4
- app-ng-runtime/locales/angular/global/en-nl.js +4 -4
- app-ng-runtime/locales/angular/global/en-nr.js +4 -4
- app-ng-runtime/locales/angular/global/en-nu.js +4 -4
- app-ng-runtime/locales/angular/global/en-nz.js +4 -4
- app-ng-runtime/locales/angular/global/en-pg.js +4 -4
- app-ng-runtime/locales/angular/global/en-ph.js +4 -4
- app-ng-runtime/locales/angular/global/en-pk.js +4 -4
- app-ng-runtime/locales/angular/global/en-pn.js +4 -4
- app-ng-runtime/locales/angular/global/en-pr.js +4 -4
- app-ng-runtime/locales/angular/global/en-pw.js +4 -4
- app-ng-runtime/locales/angular/global/en-rw.js +4 -4
- app-ng-runtime/locales/angular/global/en-sb.js +4 -4
- app-ng-runtime/locales/angular/global/en-sc.js +4 -4
- app-ng-runtime/locales/angular/global/en-sd.js +4 -4
- app-ng-runtime/locales/angular/global/en-se.js +4 -4
- app-ng-runtime/locales/angular/global/en-sg.js +4 -4
- app-ng-runtime/locales/angular/global/en-sh.js +4 -4
- app-ng-runtime/locales/angular/global/en-si.js +4 -4
- app-ng-runtime/locales/angular/global/en-sl.js +4 -4
- app-ng-runtime/locales/angular/global/en-ss.js +4 -4
- app-ng-runtime/locales/angular/global/en-sx.js +4 -4
- app-ng-runtime/locales/angular/global/en-sz.js +4 -4
- app-ng-runtime/locales/angular/global/en-tc.js +4 -4
- app-ng-runtime/locales/angular/global/en-tk.js +4 -4
- app-ng-runtime/locales/angular/global/en-to.js +4 -4
- app-ng-runtime/locales/angular/global/en-tt.js +4 -4
- app-ng-runtime/locales/angular/global/en-tv.js +4 -4
- app-ng-runtime/locales/angular/global/en-tz.js +4 -4
- app-ng-runtime/locales/angular/global/en-ug.js +4 -4
- app-ng-runtime/locales/angular/global/en-um.js +4 -4
- app-ng-runtime/locales/angular/global/en-vc.js +4 -4
- app-ng-runtime/locales/angular/global/en-vg.js +4 -4
- app-ng-runtime/locales/angular/global/en-vi.js +4 -4
- app-ng-runtime/locales/angular/global/en-vu.js +4 -4
- app-ng-runtime/locales/angular/global/en-ws.js +4 -4
- app-ng-runtime/locales/angular/global/en-za.js +4 -4
- app-ng-runtime/locales/angular/global/en-zm.js +4 -4
- app-ng-runtime/locales/angular/global/en-zw.js +4 -4
- app-ng-runtime/locales/angular/global/en.js +4 -4
- app-ng-runtime/locales/angular/global/eo.js +4 -4
- app-ng-runtime/locales/angular/global/es-419.js +4 -4
- app-ng-runtime/locales/angular/global/es-ar.js +4 -4
- app-ng-runtime/locales/angular/global/es-bo.js +4 -4
- app-ng-runtime/locales/angular/global/es-br.js +4 -4
- app-ng-runtime/locales/angular/global/es-bz.js +4 -4
- app-ng-runtime/locales/angular/global/es-cl.js +4 -4
- app-ng-runtime/locales/angular/global/es-co.js +4 -4
- app-ng-runtime/locales/angular/global/es-cr.js +4 -4
- app-ng-runtime/locales/angular/global/es-cu.js +4 -4
- app-ng-runtime/locales/angular/global/es-do.js +4 -4
- app-ng-runtime/locales/angular/global/es-ea.js +4 -4
- app-ng-runtime/locales/angular/global/es-ec.js +4 -4
- app-ng-runtime/locales/angular/global/es-gq.js +4 -4
- app-ng-runtime/locales/angular/global/es-gt.js +4 -4
- app-ng-runtime/locales/angular/global/es-hn.js +4 -4
- app-ng-runtime/locales/angular/global/es-ic.js +4 -4
- app-ng-runtime/locales/angular/global/es-mx.js +4 -4
- app-ng-runtime/locales/angular/global/es-ni.js +4 -4
- app-ng-runtime/locales/angular/global/es-pa.js +4 -4
- app-ng-runtime/locales/angular/global/es-pe.js +4 -4
- app-ng-runtime/locales/angular/global/es-ph.js +4 -4
- app-ng-runtime/locales/angular/global/es-pr.js +4 -4
- app-ng-runtime/locales/angular/global/es-py.js +4 -4
- app-ng-runtime/locales/angular/global/es-sv.js +4 -4
- app-ng-runtime/locales/angular/global/es-us.js +4 -4
- app-ng-runtime/locales/angular/global/es-uy.js +4 -4
- app-ng-runtime/locales/angular/global/es-ve.js +4 -4
- app-ng-runtime/locales/angular/global/es.js +4 -4
- app-ng-runtime/locales/angular/global/et.js +4 -4
- app-ng-runtime/locales/angular/global/eu.js +4 -4
- app-ng-runtime/locales/angular/global/ewo.js +4 -4
- app-ng-runtime/locales/angular/global/fa-af.js +4 -4
- app-ng-runtime/locales/angular/global/fa.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-bf.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-cm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-gh.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-gm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-gw.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-lr.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-mr.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-ne.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-ng.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-sl.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm-sn.js +4 -4
- app-ng-runtime/locales/angular/global/ff-adlm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-cm.js +58 -44
- app-ng-runtime/locales/angular/global/ff-gn.js +58 -44
- app-ng-runtime/locales/angular/global/ff-latn-bf.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-cm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-gh.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-gm.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-gn.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-gw.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-lr.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-mr.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-ne.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-ng.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn-sl.js +4 -4
- app-ng-runtime/locales/angular/global/ff-latn.js +4 -4
- app-ng-runtime/locales/angular/global/ff-mr.js +58 -44
- app-ng-runtime/locales/angular/global/ff.js +4 -4
- app-ng-runtime/locales/angular/global/fi.js +4 -4
- app-ng-runtime/locales/angular/global/fil.js +4 -4
- app-ng-runtime/locales/angular/global/fo-dk.js +4 -4
- app-ng-runtime/locales/angular/global/fo.js +4 -4
- app-ng-runtime/locales/angular/global/fr-be.js +4 -4
- app-ng-runtime/locales/angular/global/fr-bf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-bi.js +4 -4
- app-ng-runtime/locales/angular/global/fr-bj.js +4 -4
- app-ng-runtime/locales/angular/global/fr-bl.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ca.js +4 -4
- app-ng-runtime/locales/angular/global/fr-cd.js +4 -4
- app-ng-runtime/locales/angular/global/fr-cf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-cg.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ch.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ci.js +4 -4
- app-ng-runtime/locales/angular/global/fr-cm.js +4 -4
- app-ng-runtime/locales/angular/global/fr-dj.js +4 -4
- app-ng-runtime/locales/angular/global/fr-dz.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ga.js +4 -4
- app-ng-runtime/locales/angular/global/fr-gf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-gn.js +4 -4
- app-ng-runtime/locales/angular/global/fr-gp.js +4 -4
- app-ng-runtime/locales/angular/global/fr-gq.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ht.js +4 -4
- app-ng-runtime/locales/angular/global/fr-km.js +4 -4
- app-ng-runtime/locales/angular/global/fr-lu.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ma.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mc.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mg.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ml.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mq.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mr.js +4 -4
- app-ng-runtime/locales/angular/global/fr-mu.js +4 -4
- app-ng-runtime/locales/angular/global/fr-nc.js +4 -4
- app-ng-runtime/locales/angular/global/fr-ne.js +4 -4
- app-ng-runtime/locales/angular/global/fr-pf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-pm.js +4 -4
- app-ng-runtime/locales/angular/global/fr-re.js +4 -4
- app-ng-runtime/locales/angular/global/fr-rw.js +4 -4
- app-ng-runtime/locales/angular/global/fr-sc.js +4 -4
- app-ng-runtime/locales/angular/global/fr-sn.js +4 -4
- app-ng-runtime/locales/angular/global/fr-sy.js +4 -4
- app-ng-runtime/locales/angular/global/fr-td.js +4 -4
- app-ng-runtime/locales/angular/global/fr-tg.js +4 -4
- app-ng-runtime/locales/angular/global/fr-tn.js +4 -4
- app-ng-runtime/locales/angular/global/fr-vu.js +4 -4
- app-ng-runtime/locales/angular/global/fr-wf.js +4 -4
- app-ng-runtime/locales/angular/global/fr-yt.js +4 -4
- app-ng-runtime/locales/angular/global/fr.js +4 -4
- app-ng-runtime/locales/angular/global/fur.js +4 -4
- app-ng-runtime/locales/angular/global/fy.js +4 -4
- app-ng-runtime/locales/angular/global/ga-gb.js +4 -4
- app-ng-runtime/locales/angular/global/ga.js +4 -4
- app-ng-runtime/locales/angular/global/gd.js +4 -4
- app-ng-runtime/locales/angular/global/gl.js +4 -4
- app-ng-runtime/locales/angular/global/gsw-fr.js +4 -4
- app-ng-runtime/locales/angular/global/gsw-li.js +4 -4
- app-ng-runtime/locales/angular/global/gsw.js +4 -4
- app-ng-runtime/locales/angular/global/gu.js +4 -4
- app-ng-runtime/locales/angular/global/guz.js +4 -4
- app-ng-runtime/locales/angular/global/gv.js +4 -4
- app-ng-runtime/locales/angular/global/ha-gh.js +4 -4
- app-ng-runtime/locales/angular/global/ha-ne.js +4 -4
- app-ng-runtime/locales/angular/global/ha.js +4 -4
- app-ng-runtime/locales/angular/global/haw.js +4 -4
- app-ng-runtime/locales/angular/global/he.js +4 -4
- app-ng-runtime/locales/angular/global/hi-latn.js +4 -4
- app-ng-runtime/locales/angular/global/hi.js +4 -4
- app-ng-runtime/locales/angular/global/hr-ba.js +4 -4
- app-ng-runtime/locales/angular/global/hr.js +4 -4
- app-ng-runtime/locales/angular/global/hsb.js +4 -4
- app-ng-runtime/locales/angular/global/hu.js +4 -4
- app-ng-runtime/locales/angular/global/hy.js +4 -4
- app-ng-runtime/locales/angular/global/ia.js +4 -4
- app-ng-runtime/locales/angular/global/id.js +4 -4
- app-ng-runtime/locales/angular/global/ig.js +4 -4
- app-ng-runtime/locales/angular/global/ii.js +4 -4
- app-ng-runtime/locales/angular/global/is.js +4 -4
- app-ng-runtime/locales/angular/global/it-ch.js +4 -4
- app-ng-runtime/locales/angular/global/it-sm.js +4 -4
- app-ng-runtime/locales/angular/global/it-va.js +4 -4
- app-ng-runtime/locales/angular/global/it.js +4 -4
- app-ng-runtime/locales/angular/global/ja.js +4 -4
- app-ng-runtime/locales/angular/global/jgo.js +4 -4
- app-ng-runtime/locales/angular/global/jmc.js +4 -4
- app-ng-runtime/locales/angular/global/jv.js +4 -4
- app-ng-runtime/locales/angular/global/ka.js +4 -4
- app-ng-runtime/locales/angular/global/kab.js +4 -4
- app-ng-runtime/locales/angular/global/kam.js +4 -4
- app-ng-runtime/locales/angular/global/kde.js +4 -4
- app-ng-runtime/locales/angular/global/kea.js +4 -4
- app-ng-runtime/locales/angular/global/kgp.js +4 -4
- app-ng-runtime/locales/angular/global/khq.js +4 -4
- app-ng-runtime/locales/angular/global/ki.js +4 -4
- app-ng-runtime/locales/angular/global/kk.js +4 -4
- app-ng-runtime/locales/angular/global/kkj.js +4 -4
- app-ng-runtime/locales/angular/global/kl.js +4 -4
- app-ng-runtime/locales/angular/global/kln.js +4 -4
- app-ng-runtime/locales/angular/global/km.js +4 -4
- app-ng-runtime/locales/angular/global/kn.js +4 -4
- app-ng-runtime/locales/angular/global/ko-kp.js +4 -4
- app-ng-runtime/locales/angular/global/ko.js +4 -4
- app-ng-runtime/locales/angular/global/kok.js +4 -4
- app-ng-runtime/locales/angular/global/ks-arab.js +4 -4
- app-ng-runtime/locales/angular/global/ks-deva.js +4 -4
- app-ng-runtime/locales/angular/global/ks.js +4 -4
- app-ng-runtime/locales/angular/global/ksb.js +4 -4
- app-ng-runtime/locales/angular/global/ksf.js +4 -4
- app-ng-runtime/locales/angular/global/ksh.js +4 -4
- app-ng-runtime/locales/angular/global/ku.js +4 -4
- app-ng-runtime/locales/angular/global/kw.js +4 -4
- app-ng-runtime/locales/angular/global/ky.js +4 -4
- app-ng-runtime/locales/angular/global/lag.js +4 -4
- app-ng-runtime/locales/angular/global/lb.js +4 -4
- app-ng-runtime/locales/angular/global/lg.js +4 -4
- app-ng-runtime/locales/angular/global/lkt.js +4 -4
- app-ng-runtime/locales/angular/global/ln-ao.js +4 -4
- app-ng-runtime/locales/angular/global/ln-cf.js +4 -4
- app-ng-runtime/locales/angular/global/ln-cg.js +4 -4
- app-ng-runtime/locales/angular/global/ln.js +4 -4
- app-ng-runtime/locales/angular/global/lo.js +4 -4
- app-ng-runtime/locales/angular/global/lrc-iq.js +4 -4
- app-ng-runtime/locales/angular/global/lrc.js +4 -4
- app-ng-runtime/locales/angular/global/lt.js +4 -4
- app-ng-runtime/locales/angular/global/lu.js +4 -4
- app-ng-runtime/locales/angular/global/luo.js +4 -4
- app-ng-runtime/locales/angular/global/luy.js +4 -4
- app-ng-runtime/locales/angular/global/lv.js +4 -4
- app-ng-runtime/locales/angular/global/mai.js +4 -4
- app-ng-runtime/locales/angular/global/mas-tz.js +4 -4
- app-ng-runtime/locales/angular/global/mas.js +4 -4
- app-ng-runtime/locales/angular/global/mer.js +4 -4
- app-ng-runtime/locales/angular/global/mfe.js +4 -4
- app-ng-runtime/locales/angular/global/mg.js +4 -4
- app-ng-runtime/locales/angular/global/mgh.js +4 -4
- app-ng-runtime/locales/angular/global/mgo.js +4 -4
- app-ng-runtime/locales/angular/global/mi.js +4 -4
- app-ng-runtime/locales/angular/global/mk.js +4 -4
- app-ng-runtime/locales/angular/global/ml.js +4 -4
- app-ng-runtime/locales/angular/global/mn.js +4 -4
- app-ng-runtime/locales/angular/global/mni-beng.js +4 -4
- app-ng-runtime/locales/angular/global/mni.js +4 -4
- app-ng-runtime/locales/angular/global/mr.js +4 -4
- app-ng-runtime/locales/angular/global/ms-bn.js +4 -4
- app-ng-runtime/locales/angular/global/ms-id.js +4 -4
- app-ng-runtime/locales/angular/global/ms-sg.js +4 -4
- app-ng-runtime/locales/angular/global/ms.js +4 -4
- app-ng-runtime/locales/angular/global/mt.js +4 -4
- app-ng-runtime/locales/angular/global/mua.js +4 -4
- app-ng-runtime/locales/angular/global/my.js +4 -4
- app-ng-runtime/locales/angular/global/mzn.js +4 -4
- app-ng-runtime/locales/angular/global/naq.js +4 -4
- app-ng-runtime/locales/angular/global/nb-sj.js +4 -4
- app-ng-runtime/locales/angular/global/nb.js +4 -4
- app-ng-runtime/locales/angular/global/nd.js +4 -4
- app-ng-runtime/locales/angular/global/nds-nl.js +4 -4
- app-ng-runtime/locales/angular/global/nds.js +4 -4
- app-ng-runtime/locales/angular/global/ne-in.js +4 -4
- app-ng-runtime/locales/angular/global/ne.js +4 -4
- app-ng-runtime/locales/angular/global/nl-aw.js +4 -4
- app-ng-runtime/locales/angular/global/nl-be.js +4 -4
- app-ng-runtime/locales/angular/global/nl-bq.js +4 -4
- app-ng-runtime/locales/angular/global/nl-cw.js +4 -4
- app-ng-runtime/locales/angular/global/nl-sr.js +4 -4
- app-ng-runtime/locales/angular/global/nl-sx.js +4 -4
- app-ng-runtime/locales/angular/global/nl.js +4 -4
- app-ng-runtime/locales/angular/global/nmg.js +4 -4
- app-ng-runtime/locales/angular/global/nn.js +4 -4
- app-ng-runtime/locales/angular/global/nnh.js +4 -4
- app-ng-runtime/locales/angular/global/no.js +4 -4
- app-ng-runtime/locales/angular/global/nus.js +4 -4
- app-ng-runtime/locales/angular/global/nyn.js +4 -4
- app-ng-runtime/locales/angular/global/om-ke.js +4 -4
- app-ng-runtime/locales/angular/global/om.js +4 -4
- app-ng-runtime/locales/angular/global/or.js +4 -4
- app-ng-runtime/locales/angular/global/os-ru.js +4 -4
- app-ng-runtime/locales/angular/global/os.js +4 -4
- app-ng-runtime/locales/angular/global/pa-arab.js +4 -4
- app-ng-runtime/locales/angular/global/pa-guru.js +4 -4
- app-ng-runtime/locales/angular/global/pa.js +4 -4
- app-ng-runtime/locales/angular/global/pcm.js +4 -4
- app-ng-runtime/locales/angular/global/pl.js +4 -4
- app-ng-runtime/locales/angular/global/ps-pk.js +4 -4
- app-ng-runtime/locales/angular/global/ps.js +4 -4
- app-ng-runtime/locales/angular/global/pt-ao.js +4 -4
- app-ng-runtime/locales/angular/global/pt-ch.js +4 -4
- app-ng-runtime/locales/angular/global/pt-cv.js +4 -4
- app-ng-runtime/locales/angular/global/pt-gq.js +4 -4
- app-ng-runtime/locales/angular/global/pt-gw.js +4 -4
- app-ng-runtime/locales/angular/global/pt-lu.js +4 -4
- app-ng-runtime/locales/angular/global/pt-mo.js +4 -4
- app-ng-runtime/locales/angular/global/pt-mz.js +4 -4
- app-ng-runtime/locales/angular/global/pt-pt.js +4 -4
- app-ng-runtime/locales/angular/global/pt-st.js +4 -4
- app-ng-runtime/locales/angular/global/pt-tl.js +4 -4
- app-ng-runtime/locales/angular/global/pt.js +4 -4
- app-ng-runtime/locales/angular/global/qu-bo.js +4 -4
- app-ng-runtime/locales/angular/global/qu-ec.js +4 -4
- app-ng-runtime/locales/angular/global/qu.js +4 -4
- app-ng-runtime/locales/angular/global/rm.js +4 -4
- app-ng-runtime/locales/angular/global/rn.js +4 -4
- app-ng-runtime/locales/angular/global/ro-md.js +4 -4
- app-ng-runtime/locales/angular/global/ro.js +4 -4
- app-ng-runtime/locales/angular/global/rof.js +4 -4
- app-ng-runtime/locales/angular/global/ru-by.js +4 -4
- app-ng-runtime/locales/angular/global/ru-kg.js +4 -4
- app-ng-runtime/locales/angular/global/ru-kz.js +4 -4
- app-ng-runtime/locales/angular/global/ru-md.js +4 -4
- app-ng-runtime/locales/angular/global/ru-ua.js +4 -4
- app-ng-runtime/locales/angular/global/ru.js +4 -4
- app-ng-runtime/locales/angular/global/rw.js +4 -4
- app-ng-runtime/locales/angular/global/rwk.js +4 -4
- app-ng-runtime/locales/angular/global/sa.js +4 -4
- app-ng-runtime/locales/angular/global/sah.js +4 -4
- app-ng-runtime/locales/angular/global/saq.js +4 -4
- app-ng-runtime/locales/angular/global/sat-olck.js +4 -4
- app-ng-runtime/locales/angular/global/sat.js +4 -4
- app-ng-runtime/locales/angular/global/sbp.js +4 -4
- app-ng-runtime/locales/angular/global/sc.js +4 -4
- app-ng-runtime/locales/angular/global/sd-arab.js +4 -4
- app-ng-runtime/locales/angular/global/sd-deva.js +4 -4
- app-ng-runtime/locales/angular/global/sd.js +4 -4
- app-ng-runtime/locales/angular/global/se-fi.js +4 -4
- app-ng-runtime/locales/angular/global/se-se.js +4 -4
- app-ng-runtime/locales/angular/global/se.js +4 -4
- app-ng-runtime/locales/angular/global/seh.js +4 -4
- app-ng-runtime/locales/angular/global/ses.js +4 -4
- app-ng-runtime/locales/angular/global/sg.js +4 -4
- app-ng-runtime/locales/angular/global/shi-latn.js +4 -4
- app-ng-runtime/locales/angular/global/shi-tfng.js +4 -4
- app-ng-runtime/locales/angular/global/shi.js +4 -4
- app-ng-runtime/locales/angular/global/si.js +4 -4
- app-ng-runtime/locales/angular/global/sk.js +4 -4
- app-ng-runtime/locales/angular/global/sl.js +4 -4
- app-ng-runtime/locales/angular/global/smn.js +4 -4
- app-ng-runtime/locales/angular/global/sn.js +4 -4
- app-ng-runtime/locales/angular/global/so-dj.js +4 -4
- app-ng-runtime/locales/angular/global/so-et.js +4 -4
- app-ng-runtime/locales/angular/global/so-ke.js +4 -4
- app-ng-runtime/locales/angular/global/so.js +4 -4
- app-ng-runtime/locales/angular/global/sq-mk.js +4 -4
- app-ng-runtime/locales/angular/global/sq-xk.js +4 -4
- app-ng-runtime/locales/angular/global/sq.js +4 -4
- app-ng-runtime/locales/angular/global/sr-cyrl-ba.js +4 -4
- app-ng-runtime/locales/angular/global/sr-cyrl-me.js +4 -4
- app-ng-runtime/locales/angular/global/sr-cyrl-xk.js +4 -4
- app-ng-runtime/locales/angular/global/sr-cyrl.js +4 -4
- app-ng-runtime/locales/angular/global/sr-latn-ba.js +4 -4
- app-ng-runtime/locales/angular/global/sr-latn-me.js +4 -4
- app-ng-runtime/locales/angular/global/sr-latn-xk.js +4 -4
- app-ng-runtime/locales/angular/global/sr-latn.js +4 -4
- app-ng-runtime/locales/angular/global/sr.js +4 -4
- app-ng-runtime/locales/angular/global/su-latn.js +4 -4
- app-ng-runtime/locales/angular/global/su.js +4 -4
- app-ng-runtime/locales/angular/global/sv-ax.js +4 -4
- app-ng-runtime/locales/angular/global/sv-fi.js +4 -4
- app-ng-runtime/locales/angular/global/sv.js +4 -4
- app-ng-runtime/locales/angular/global/sw-cd.js +4 -4
- app-ng-runtime/locales/angular/global/sw-ke.js +4 -4
- app-ng-runtime/locales/angular/global/sw-ug.js +4 -4
- app-ng-runtime/locales/angular/global/sw.js +4 -4
- app-ng-runtime/locales/angular/global/ta-lk.js +4 -4
- app-ng-runtime/locales/angular/global/ta-my.js +4 -4
- app-ng-runtime/locales/angular/global/ta-sg.js +4 -4
- app-ng-runtime/locales/angular/global/ta.js +4 -4
- app-ng-runtime/locales/angular/global/te.js +4 -4
- app-ng-runtime/locales/angular/global/teo-ke.js +4 -4
- app-ng-runtime/locales/angular/global/teo.js +4 -4
- app-ng-runtime/locales/angular/global/tg.js +4 -4
- app-ng-runtime/locales/angular/global/th.js +4 -4
- app-ng-runtime/locales/angular/global/ti-er.js +4 -4
- app-ng-runtime/locales/angular/global/ti.js +4 -4
- app-ng-runtime/locales/angular/global/tk.js +4 -4
- app-ng-runtime/locales/angular/global/to.js +4 -4
- app-ng-runtime/locales/angular/global/tr-cy.js +4 -4
- app-ng-runtime/locales/angular/global/tr.js +4 -4
- app-ng-runtime/locales/angular/global/tt.js +4 -4
- app-ng-runtime/locales/angular/global/twq.js +4 -4
- app-ng-runtime/locales/angular/global/tzm.js +4 -4
- app-ng-runtime/locales/angular/global/ug.js +4 -4
- app-ng-runtime/locales/angular/global/uk.js +4 -4
- app-ng-runtime/locales/angular/global/und.js +4 -4
- app-ng-runtime/locales/angular/global/ur-in.js +4 -4
- app-ng-runtime/locales/angular/global/ur.js +4 -4
- app-ng-runtime/locales/angular/global/uz-arab.js +4 -4
- app-ng-runtime/locales/angular/global/uz-cyrl.js +4 -4
- app-ng-runtime/locales/angular/global/uz-latn.js +4 -4
- app-ng-runtime/locales/angular/global/uz.js +4 -4
- app-ng-runtime/locales/angular/global/vai-latn.js +4 -4
- app-ng-runtime/locales/angular/global/vai-vaii.js +4 -4
- app-ng-runtime/locales/angular/global/vai.js +4 -4
- app-ng-runtime/locales/angular/global/vi.js +4 -4
- app-ng-runtime/locales/angular/global/vun.js +4 -4
- app-ng-runtime/locales/angular/global/wae.js +4 -4
- app-ng-runtime/locales/angular/global/wo.js +4 -4
- app-ng-runtime/locales/angular/global/xh.js +4 -4
- app-ng-runtime/locales/angular/global/xog.js +4 -4
- app-ng-runtime/locales/angular/global/yav.js +4 -4
- app-ng-runtime/locales/angular/global/yi.js +4 -4
- app-ng-runtime/locales/angular/global/yo-bj.js +4 -4
- app-ng-runtime/locales/angular/global/yo.js +4 -4
- app-ng-runtime/locales/angular/global/yrl-co.js +4 -4
- app-ng-runtime/locales/angular/global/yrl-ve.js +4 -4
- app-ng-runtime/locales/angular/global/yrl.js +4 -4
- app-ng-runtime/locales/angular/global/yue-hans.js +4 -4
- app-ng-runtime/locales/angular/global/yue-hant.js +4 -4
- app-ng-runtime/locales/angular/global/yue.js +4 -4
- app-ng-runtime/locales/angular/global/zgh.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hans-hk.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hans-mo.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hans-sg.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hans.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hant-hk.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hant-mo.js +4 -4
- app-ng-runtime/locales/angular/global/zh-hant.js +4 -4
- app-ng-runtime/locales/angular/global/zh.js +4 -4
- app-ng-runtime/locales/angular/global/zu.js +4 -4
- app-ng-runtime/mobile/components/basic/default/.npmignore +2 -0
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +148 -143
- app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +8 -7
- app-ng-runtime/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +7 -6
- app-ng-runtime/mobile/components/basic/default/esm2022/basic.module.mjs +2 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +47 -43
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +7 -5
- app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +6 -5
- app-ng-runtime/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +49 -47
- app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +2 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +31 -32
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +146 -140
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +2 -2
- app-ng-runtime/mobile/components/basic/search/.npmignore +2 -0
- app-ng-runtime/mobile/components/basic/search/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/components/basic/search/esm2022/search.directive.mjs +3 -3
- app-ng-runtime/mobile/components/basic/search/esm2022/search.module.mjs +2 -2
- app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/.npmignore +2 -0
- app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +42 -30
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +14 -8
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +28 -21
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +2 -2
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs +41 -28
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -2
- app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -2
- app-ng-runtime/mobile/components/data/media-list/.npmignore +2 -0
- app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +53 -48
- app-ng-runtime/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +2 -2
- app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.component.mjs +48 -42
- app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.module.mjs +2 -2
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs +50 -44
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -2
- app-ng-runtime/mobile/components/device/barcode-scanner/.npmignore +2 -0
- app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -2
- app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +14 -8
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +15 -9
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +2 -2
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +16 -10
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/.npmignore +2 -0
- app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +15 -9
- app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -2
- app-ng-runtime/mobile/components/device/camera/esm2022/camera.component.mjs +16 -10
- app-ng-runtime/mobile/components/device/camera/esm2022/camera.module.mjs +2 -2
- app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +17 -11
- app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/input/file-upload/.npmignore +2 -0
- app-ng-runtime/mobile/components/input/file-upload/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +3 -3
- app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
- app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/default/.npmignore +2 -0
- app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +11 -10
- app-ng-runtime/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +4 -3
- app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +5 -4
- app-ng-runtime/mobile/components/page/default/esm2022/page.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +8 -6
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/left-panel/.npmignore +2 -0
- app-ng-runtime/mobile/components/page/left-panel/bundles/index.umd.js +3 -3
- app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -3
- app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs +3 -3
- app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/.npmignore +2 -0
- app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +40 -35
- app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +41 -36
- app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs +41 -36
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +2 -2
- app-ng-runtime/mobile/components/page/tab-bar/.npmignore +2 -0
- app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +52 -46
- app-ng-runtime/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +2 -2
- app-ng-runtime/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +50 -43
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +51 -44
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -2
- app-ng-runtime/mobile/core/.npmignore +2 -0
- app-ng-runtime/mobile/core/bundles/index.umd.js +43 -43
- app-ng-runtime/mobile/core/esm2022/core.module.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/native.xhr.mjs +1 -1
- app-ng-runtime/mobile/core/esm2022/services/device-file-cache.service.mjs +3 -3
- app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +7 -6
- app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +5 -4
- app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +6 -5
- app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +8 -7
- app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +5 -4
- app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +7 -6
- app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +11 -10
- app-ng-runtime/mobile/core/fesm2022/index.mjs +40 -39
- app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/core/services/ext-app-message.service.d.ts +1 -1
- app-ng-runtime/mobile/core/services/network.service.d.ts +7 -1
- app-ng-runtime/mobile/offline/.npmignore +2 -0
- app-ng-runtime/mobile/offline/bundles/index.umd.js +176 -159
- app-ng-runtime/mobile/offline/esm2022/models/local-db-store.mjs +23 -21
- app-ng-runtime/mobile/offline/esm2022/offline.module.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +9 -8
- app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +39 -37
- app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +56 -47
- app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +7 -6
- app-ng-runtime/mobile/offline/esm2022/services/local-key-value.service.mjs +2 -2
- app-ng-runtime/mobile/offline/esm2022/services/push.service.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/workers/error-blocker.mjs +4 -3
- app-ng-runtime/mobile/offline/esm2022/services/workers/file-handler.mjs +18 -13
- app-ng-runtime/mobile/offline/esm2022/services/workers/id-resolver.mjs +3 -3
- app-ng-runtime/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +9 -5
- app-ng-runtime/mobile/offline/esm2022/utils/file-upload.utils.mjs +1 -1
- app-ng-runtime/mobile/offline/esm2022/utils/live-variable.utils.mjs +12 -11
- app-ng-runtime/mobile/offline/esm2022/utils/query-executor.utils.mjs +5 -4
- app-ng-runtime/mobile/offline/esm2022/utils/security.utils.mjs +3 -2
- app-ng-runtime/mobile/offline/esm2022/utils/utils.mjs +1 -1
- app-ng-runtime/mobile/offline/fesm2022/index.mjs +171 -153
- app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/placeholder/runtime/.npmignore +2 -0
- app-ng-runtime/mobile/placeholder/runtime/bundles/index.umd.js +3 -2
- app-ng-runtime/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +3 -2
- app-ng-runtime/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +2 -2
- app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs +3 -2
- app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/placeholder/runtime-dynamic/.npmignore +2 -0
- app-ng-runtime/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +1 -1
- app-ng-runtime/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +2 -2
- app-ng-runtime/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +1 -1
- app-ng-runtime/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime/.npmignore +2 -0
- app-ng-runtime/mobile/runtime/bundles/index.umd.js +21 -17
- app-ng-runtime/mobile/runtime/esm2022/components/app-ext.component.mjs +4 -3
- app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +5 -4
- app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +7 -3
- app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +6 -5
- app-ng-runtime/mobile/runtime/esm2022/services/webprocess.service.mjs +3 -3
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs +18 -13
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime-dynamic/.npmignore +2 -0
- app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +5 -5
- app-ng-runtime/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +2 -2
- app-ng-runtime/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +5 -5
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +5 -5
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/variables/.npmignore +2 -0
- app-ng-runtime/mobile/variables/bundles/index.umd.js +28 -21
- app-ng-runtime/mobile/variables/esm2022/services/camera-service.mjs +5 -5
- app-ng-runtime/mobile/variables/esm2022/services/contacts-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/services/datasync-service.mjs +10 -9
- app-ng-runtime/mobile/variables/esm2022/services/device-service/device-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/services/device-service/location-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/services/file-service.mjs +11 -3
- app-ng-runtime/mobile/variables/esm2022/services/scan-service.mjs +1 -1
- app-ng-runtime/mobile/variables/esm2022/variables.module.mjs +3 -3
- app-ng-runtime/mobile/variables/fesm2022/index.mjs +24 -16
- app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/oAuth/.npmignore +2 -0
- app-ng-runtime/oAuth/bundles/index.umd.js +15 -15
- app-ng-runtime/oAuth/esm2022/oAuth.module.mjs +2 -2
- app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +6 -5
- app-ng-runtime/oAuth/esm2022/oAuth.utils.mjs +8 -7
- app-ng-runtime/oAuth/fesm2022/index.mjs +12 -11
- app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/.npmignore +2 -0
- app-ng-runtime/runtime/base/bundles/index.umd.js +267 -251
- app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +3 -1
- app-ng-runtime/runtime/base/components/base-custom-widget.component.d.ts +3 -3
- app-ng-runtime/runtime/base/directives/accessroles.directive.d.ts +4 -3
- app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +34 -30
- app-ng-runtime/runtime/base/esm2022/components/app-spinner.component.mjs +9 -8
- app-ng-runtime/runtime/base/esm2022/components/base-custom-widget.component.mjs +9 -9
- app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +5 -4
- app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +16 -15
- app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +15 -14
- app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +17 -16
- app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +16 -15
- app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +17 -15
- app-ng-runtime/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
- app-ng-runtime/runtime/base/esm2022/components/prefab-preview.component.mjs +4 -3
- app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +24 -16
- app-ng-runtime/runtime/base/esm2022/directives/prefab.directive.mjs +4 -4
- app-ng-runtime/runtime/base/esm2022/guards/auth.guard.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/guards/page-not-found.guard.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +5 -4
- app-ng-runtime/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +4 -4
- app-ng-runtime/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +5 -5
- app-ng-runtime/runtime/base/esm2022/resolves/app-extension.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/app-js.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/app-variables.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/i18n.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/metadata.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/resolves/security-config.resolve.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +19 -16
- app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +9 -8
- app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +5 -4
- app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +6 -5
- app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +15 -13
- app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +10 -9
- app-ng-runtime/runtime/base/esm2022/services/pipe-provider.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/pipe.service.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +5 -4
- app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +9 -8
- app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +8 -7
- app-ng-runtime/runtime/base/esm2022/util/fragment-monitor.mjs +3 -3
- app-ng-runtime/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +7 -8
- app-ng-runtime/runtime/base/fesm2022/index.mjs +277 -260
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/runtime/base/overrides/wm_dom_renderer.d.ts +2 -2
- app-ng-runtime/runtime/base/services/i18n.service.d.ts +1 -1
- app-ng-runtime/runtime/dynamic/.npmignore +2 -0
- app-ng-runtime/runtime/dynamic/bundles/index.umd.js +22 -21
- app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +1 -1
- app-ng-runtime/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +4 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +6 -5
- app-ng-runtime/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +3 -3
- app-ng-runtime/runtime/dynamic/esm2022/main.mjs +3 -2
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +21 -19
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/scripts/datatable/datatable.js +2 -2
- app-ng-runtime/scripts/jquery-ui/ui/widgets/droppable.js +7 -7
- app-ng-runtime/scripts/jquery-ui/ui/widgets/resizable.js +13 -10
- app-ng-runtime/scripts/jquery-ui/ui/widgets/sortable.js +7 -7
- app-ng-runtime/security/.npmignore +2 -0
- app-ng-runtime/security/bundles/index.umd.js +17 -17
- app-ng-runtime/security/esm2022/security.module.mjs +2 -2
- app-ng-runtime/security/esm2022/security.service.mjs +14 -13
- app-ng-runtime/security/fesm2022/index.mjs +14 -13
- app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/security/security.service.d.ts +1 -1
- app-ng-runtime/swipey/.npmignore +2 -0
- app-ng-runtime/swipey/esm2022/swipe.animation.mjs +1 -1
- app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/transpiler/.npmignore +2 -0
- app-ng-runtime/transpiler/bundles/index.umd.js +10 -9
- app-ng-runtime/transpiler/esm2022/build.mjs +8 -6
- app-ng-runtime/transpiler/fesm2022/index.mjs +7 -5
- app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/variables/.npmignore +2 -0
- app-ng-runtime/variables/bundles/index.umd.js +160 -150
- app-ng-runtime/variables/esm2022/factory/variable.factory.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/action/login-action.manager.mjs +15 -14
- app-ng-runtime/variables/esm2022/manager/action/logout-action.manager.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/action/notification-action.manager.mjs +9 -8
- app-ng-runtime/variables/esm2022/manager/variable/base-variable.manager.mjs +3 -2
- app-ng-runtime/variables/esm2022/manager/variable/device-variable-manager.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/variable/device-variable-service.mjs +1 -1
- app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +11 -10
- app-ng-runtime/variables/esm2022/model/action/notification-action.mjs +1 -1
- app-ng-runtime/variables/esm2022/service/metadata-service/metadata.service.mjs +3 -3
- app-ng-runtime/variables/esm2022/service/variables.service.mjs +9 -8
- app-ng-runtime/variables/esm2022/util/action/navigation-action.utils.mjs +4 -4
- app-ng-runtime/variables/esm2022/util/variable/pagination.utils.mjs +30 -23
- app-ng-runtime/variables/esm2022/util/variable/service-variable.utils.mjs +29 -28
- app-ng-runtime/variables/esm2022/util/variable/variables.utils.mjs +75 -70
- app-ng-runtime/variables/esm2022/variables.module.mjs +2 -2
- app-ng-runtime/variables/fesm2022/index.mjs +174 -163
- app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/variables/util/variable/service-variable.utils.d.ts +1 -1
- app-ng-runtime/build-task/advanced/custom-widget-prop/custom-widget-prop.build.d.ts +0 -2
- app-ng-runtime/build-task/esm2022/advanced/custom-widget-prop/custom-widget-prop.build.mjs +0 -10
- app-ng-runtime/components/advanced/custom/custom-widget-container-prop/custom-widget-container-prop.directive.d.ts +0 -20
- app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container-prop/custom-widget-container-prop.directive.mjs +0 -70
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/epoch/src/picker/picker.component.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time-picker.component.ts","../../../../../projects/components/widgets/input/epoch/src/base-date-time.component.ts","../../../../../projects/components/widgets/input/epoch/src/date/date.props.ts","../../../../../projects/components/widgets/input/epoch/src/date/imaskUtil.ts","../../../../../projects/components/widgets/input/epoch/src/date/date.component.html","../../../../../projects/components/widgets/input/epoch/src/date/date.component.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.props.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.component.html","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.component.ts","../../../../../projects/components/widgets/input/epoch/src/time/time.props.ts","../../../../../projects/components/widgets/input/epoch/src/time/time.component.html","../../../../../projects/components/widgets/input/epoch/src/time/time.component.ts","../../../../../projects/components/widgets/input/epoch/src/epoch.module.ts","../../../../../projects/components/widgets/input/epoch/src/index.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Inject, Injector, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\n\ndeclare const _, moment, $;\n\n@Component({\n selector: 'wm-pickergroup',\n template: `\n <div class=\"app-picker-group\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class PickerGroupComponent {\n\n}\n\n@Component({\n selector: 'wm-picker',\n template: `\n <div class=\"app-picker\">\n <div class=\"app-picker-option-container\">\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div *ngFor=\"let option of options; index as i;\" class=\"app-picker-option\">\n {{option.label}}\n </div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n </div>\n <div class=\"app-picker-ruler\"></div>\n </div>\n `\n})\nexport class PickerComponent implements AfterViewInit {\n\n public $el;\n\n private pickerAnimator;\n\n @Output() change = new EventEmitter<{\n label: string,\n value?: any\n }>();\n\n private _selectedIndex = 0;\n\n private _selectedValue: any;\n\n private _options: Array<{label: string, value?: any}> = [];\n\n noOfEmptyElements = 2;\n\n constructor(protected inj: Injector) {\n this.$el = $(inj.get(ElementRef).nativeElement);\n }\n\n @Input()\n set selectedValue(s: string) {\n this._selectedValue = s;\n this.reRender();\n }\n\n get selectedValue() {\n return this._selectedValue;\n }\n\n @Input()\n set options(opts: Array<{label: string, value?: any}>) {\n this._options = opts.map(o => ({\n label: o.label,\n value: o.value !== undefined ? o.value : o.label\n }));\n this.reRender();\n }\n\n get options() {\n return this._options;\n }\n\n reRender() {\n this._selectedIndex = this.options.findIndex(o => o.value === this.selectedValue);\n this.pickerAnimator?.select(this._selectedIndex + this.noOfEmptyElements);\n }\n\n set selectedIndex(i: number) {\n this._selectedIndex = i;\n this._selectedValue = this.options[i].value;\n this.change.emit(this.options[i]);\n }\n\n get selectedIndex() {\n return this._selectedIndex;\n }\n\n ngAfterViewInit(): void {\n this.pickerAnimator = new PickerAnimator(this);\n }\n\n}\n\nclass PickerAnimator {\n\n constructor(private picker: PickerComponent) {\n let lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n const computeIndex = (d: number) => lastSelectedIndex + Math.floor(d / 16);\n this.select(lastSelectedIndex);\n this.getElement().swipey({\n 'direction': $.fn.swipey.DIRECTIONS.VERTICAL,\n 'threshold': 10,\n 'target': picker.$el,\n 'onSwipe': (e, data) => {\n this.select(computeIndex(-1 * data.length));\n },\n 'onSwipeEnd': (e, data) => {\n const nextSelectedIndex = computeIndex(-1 * data.length);\n this.select(nextSelectedIndex);\n lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n }\n });\n }\n\n getElement() {\n return this.picker.$el.find('.app-picker-option-container:first');\n }\n\n getOptionElements() {\n return this.getElement().find('.app-picker-option');\n }\n\n select(selectedIndex: number) {\n const options = this.getOptionElements();\n if (selectedIndex < this.picker.noOfEmptyElements\n || selectedIndex >= options.length - this.picker.noOfEmptyElements) {\n return;\n }\n this.getElement()\n .find('.app-picker-option.app-picker-option-selected')\n .removeClass('app-picker-option-selected');\n options.eq(selectedIndex).addClass('app-picker-option-selected');\n this.picker.selectedIndex = selectedIndex - this.picker.noOfEmptyElements;\n const minIndex = selectedIndex - this.picker.noOfEmptyElements;\n const maxIndex = selectedIndex + this.picker.noOfEmptyElements;\n options.each((i, e) => {\n if (i >= minIndex && i <= maxIndex) {\n const rotation = (i - selectedIndex) * 30;\n const opacity = 1 - Math.abs(i - selectedIndex) * 0.3;\n $(e).css({\n transform : 'perspective(500px) rotateX(' + rotation + 'deg)',\n opacity: opacity\n }).show();\n } else {\n $(e).hide();\n }\n });\n }\n}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Inject, Injector, Input, NgZone, OnDestroy, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\n\nimport { App } from '@wm/core';\n\ndeclare const moment, $, _;\n\n@Component({\n selector: 'wm-datetimepicker',\n template: `\n <ng-template #datetimepickerTemplate>\n <div class=\"app-datetime-picker\">\n <div class=\"modal-body\">\n <div class=\"mobile-datetime-picker-options\">\n\n </div>\n <bs-datepicker-inline\n [bsConfig]=\"bsDatepickerConfig\"\n [datesDisabled]=\"excludedDatesToDisable\"\n bsDatepicker\n [bsValue]=\"changedValue\"\n (bsValueChange)=\"onDateUpdate($event)\"\n *ngIf=\"mode === 'DATE_TIME' || mode === 'DATE'\">\n </bs-datepicker-inline>\n <wm-timepicker\n [value]=\"changedValue\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n (change)=\"onTimeUpdate($event)\"\n *ngIf=\"mode === 'DATE_TIME' || mode === 'TIME'\"></wm-timepicker>\n <span class=\"text-primary date-picker-value\">\n {{getDateLabel()}}\n </span>\n </div>\n <div class=\"modal-footer\">\n <button\n *ngIf=\"mode === 'DATE_TIME' || mode === 'DATE'\"\n class=\"btn btn-secondary today-btn\"\n (click)=\"setToday()\">{{appLocale.LABEL_TODAY_DATE || \"Today\" }}</button>\n <button\n class=\"btn btn-primary pull-right ok-btn\"\n *ngIf=\"mode === 'DATE_TIME' || mode === 'TIME'\"\n (click)=\"onOkClick()\">{{appLocale.LABEL_OK || \"Ok\" }}</button>\n <button\n class=\"btn btn-secondary pull-right clear-btn\"\n (click)=\"clear()\">{{appLocale.LABEL_CLEAR_DATE || \"Clear\" }}</button>\n </div>\n </div>\n </ng-template>\n `\n})\nexport class DateTimePickerComponent implements AfterViewInit, OnDestroy {\n\n private isDateOpen = true;\n\n private isTimeOpen = false;\n\n private appLocale: any;\n\n @ViewChild('datetimepickerTemplate' , { static: true }) datetimepickerTemplate: TemplateRef<any>;\n\n @Input()\n private mode: 'DATE' | 'TIME' | 'DATE_TIME' = 'DATE_TIME';\n\n @Input()\n private placement: 'MODAL' | 'INLINE' = 'MODAL';\n\n @Input(\"config\")\n private _bsDatepickerConfig: BsDatepickerConfig;\n\n @Input()\n private minTime: Date;\n\n @Input()\n private maxTime: Date;\n\n @Input()\n private _displayFormat: string;\n\n @Output() change = new EventEmitter<Date>();\n\n private _value = new Date();\n\n private changedValue = null;\n\n private modalRef: BsModalRef;\n\n @Input()\n private excludedDatesToDisable;\n\n constructor(\n protected inj: Injector,\n private bsModalService: BsModalService) {\n this.appLocale = inj.get(App).appLocale || {};\n }\n\n @Input()\n set value(d: Date) {\n d = d || new Date();\n this._value = d;\n this.changedValue = d;\n }\n\n\n @Input(\"config\")\n set bsDatepickerConfig(config: BsDatepickerConfig) {\n this._bsDatepickerConfig = config;\n this._bsDatepickerConfig.showClearButton = false;\n this._bsDatepickerConfig.showTodayButton = false;\n }\n\n @Input()\n set excludedDaysToDisable(v: number[]) {\n this._bsDatepickerConfig.daysDisabled = v;\n }\n\n get bsDatepickerConfig() {\n return this._bsDatepickerConfig;\n }\n\n @Input()\n set displayFormat(format: string) {\n if (format) {\n this._displayFormat = format.replace(/y/g, \"Y\").replace(/d/g, \"D\").replace(\"a\", \"A\");\n }\n }\n\n validateSelectedDate() {\n if (!this.changedValue) {\n return true;\n }\n const cd = moment(this.changedValue);\n const minDate = this._bsDatepickerConfig?.minDate;\n const maxDate = this._bsDatepickerConfig?.maxDate;\n if (minDate\n && ((this.mode === 'DATE' \n && moment(minDate).startOf('day').toDate() > this.changedValue)\n || (this.mode !== 'DATE' \n && minDate > this.changedValue))) {\n return false;\n }\n if (maxDate \n && ((this.mode === 'DATE' \n && moment(maxDate).endOf('day').toDate() < this.changedValue)\n || (this.mode !== 'DATE' \n && maxDate < this.changedValue))) {\n return false;\n }\n if (this._bsDatepickerConfig?.daysDisabled?.indexOf(cd.day()) >= 0) {\n return false;\n }\n const cdSt = cd.startOf('day').toDate().getTime();\n if (this.excludedDatesToDisable?.find(d => d.getTime() === cdSt)) {\n return false;\n }\n return true;\n }\n\n get displayFormat() {\n if (this._displayFormat) {\n return this._displayFormat;\n }\n }\n /**\n * This method is used to highlight the current date\n */\n private hightlightToday() {\n const toDay = new Date().getDate().toString();\n _.filter($(`body>modal-container .date-picker-modal span:contains(${toDay})`)\n .not('.is-other-month,.current-date'), (obj) => {\n if ($(obj).text() === toDay) {\n $(obj).addClass('current-date text-info');\n }\n });\n }\n\n private hideOnClick() {\n $('body>modal-container .date-picker-modal .app-datetime-picker')\n .click(($event) => $event.stopPropagation());\n $('body>modal-container .date-picker-modal').click(() => this.onCancelClick());\n }\n\n getDateLabel() {\n return moment(this.changedValue).format(this.displayFormat);\n }\n\n openDatePicker() {\n this.isTimeOpen = false;\n this.isDateOpen = true;\n }\n\n openTimePicker() {\n this.isTimeOpen = true;\n this.isDateOpen = false;\n }\n\n public onDateUpdate(newVal) {\n const oldVal = this.changedValue;\n if (this.mode === 'DATE') {\n newVal.setHours(0);\n newVal.setMinutes(0);\n newVal.setSeconds(0);\n newVal.setMilliseconds(0);\n } else if (oldVal && newVal) {\n newVal.setHours(oldVal.getHours());\n newVal.setMinutes(oldVal.getMinutes());\n newVal.setSeconds(oldVal.getSeconds());\n newVal.setMilliseconds(oldVal.getMilliseconds());\n }\n this.changedValue = newVal;\n if (this.mode === 'DATE'\n && oldVal !== newVal\n && this.validateSelectedDate()) {\n this.onOkClick();\n }\n }\n\n public onTimeUpdate(newVal) {\n this.changedValue = newVal;\n }\n\n show() {\n this.reset();\n this.modalRef = this.bsModalService.show(this.datetimepickerTemplate, {\n animated: true,\n backdrop: 'static',\n class: 'date-picker-modal modal-dialog-centered'\n });\n setTimeout(() => { this.hideOnClick()}, 500);\n }\n\n clear() {\n this.changedValue = null;\n this.triggerChange();\n this.hideModal();\n }\n\n setToday() {\n const today = moment().startOf('day').toDate();\n this.onDateUpdate(today);\n }\n\n reset() {\n this.changedValue = this._value;\n }\n\n hideModal() {\n if (this.modalRef?.id) {\n this.bsModalService.hide(this.modalRef.id);\n }\n }\n\n onCancelClick() {\n this.changedValue = this._value;\n this.hideModal();\n }\n\n onOkClick() {\n if (this.validateSelectedDate()) {\n this.triggerChange();\n }\n this.hideModal();\n }\n\n triggerChange() {\n if (this.value !== this.changedValue) {\n this.change.emit(this.changedValue);\n }\n }\n\n ngAfterViewInit(): void {\n\n }\n\n ngOnDestroy(): void {\n this.hideModal();\n }\n\n}\n\n\n@Component({\n selector: 'wm-timepicker',\n template: `\n <wm-pickergroup>\n <wm-picker\n [options]=\"options.hour\"\n [selectedValue]=\"hour\"\n (change)=\"set($event, 'HOUR')\"></wm-picker>\n <span class=\"app-time-separator\">:</span>\n <wm-picker\n [options]=\"options.minute\"\n [selectedValue]=\"minute\"\n (change)=\"set($event, 'MINUTE')\"></wm-picker>\n <span class=\"app-time-separator\">:</span>\n <wm-picker\n [options]=\"options.minute\"\n [selectedValue]=\"second\"\n (change)=\"set($event, 'SECOND')\"></wm-picker>\n </wm-pickergroup>\n `\n})\nexport class TimePickerComponent implements AfterViewInit {\n\n options = {\n hour: [],\n minute: [],\n second: [],\n meridian: ['AM', 'PM']\n };\n\n @Input()\n private value = new Date();\n\n @Input()\n private min: Date = null;\n\n @Input()\n private max: Date = null;\n\n @Output() change = new EventEmitter<Date>();\n\n constructor(\n protected inj: Injector) {\n this.options.hour = this.populateNumbers(0, 23);\n this.options.minute = this.populateNumbers(0, 59);\n this.options.second = this.populateNumbers(0, 59);\n }\n\n private populateNumbers(start: number, to: number) {\n const arr = [];\n for(let i = start; i <= to; i++) {\n arr.push({\n label: (i < 10 ? '0' : '') + i,\n value: i\n })\n }\n return arr;\n }\n\n set({index, value}, unit: 'HOUR' | 'MINUTE' | 'SECOND' | 'MERIDIAN') {\n if (unit === 'HOUR') {\n this.value = moment(this.value).hour(parseInt(value)).toDate();\n } else if (unit === 'MINUTE') {\n this.value = moment(this.value).minute(parseInt(value)).toDate();\n } else if (unit === 'SECOND') {\n this.value = moment(this.value).second(parseInt(value)).toDate();\n } else if (unit === 'MERIDIAN') {\n this.value = moment(this.value).minute(value).toDate();\n }\n if (this.min && this.value < this.min) {\n this.value = this.min;\n }\n if (this.max && this.value > this.max) {\n this.value = this.max;\n }\n this.change.emit(this.value);\n }\n\n get hour() {\n return moment(this.value).hour();\n }\n\n get minute() {\n return moment(this.value).minute();\n }\n\n get second() {\n return moment(this.value).second();\n }\n\n get meridian() {\n return 'AM';\n }\n\n public onDateUpdate(newVal) {\n debugger;\n }\n\n ngAfterViewInit(): void {\n\n }\n\n}\n","import {AfterViewInit, Directive, Injector, OnDestroy, ViewChild} from '@angular/core';\nimport {AbstractControl, Validator} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\nimport {BsDropdownDirective} from 'ngx-bootstrap/dropdown';\nimport {TimepickerComponent, TimepickerConfig} from 'ngx-bootstrap/timepicker';\n\n\n\nimport {\n AbstractI18nService,\n getDateObj,\n getFormattedDate,\n getNativeDateObject,\n hasCordova,\n isIos,\n isMobile,\n isString,\n setAttr\n} from '@wm/core';\n\nimport {getContainerTargetClass, ToDatePipe} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input';\nimport {BsDatepickerConfig, BsDatepickerDirective} from 'ngx-bootstrap/datepicker';\nimport {DateTimePickerComponent} from './date-time//date-time-picker.component';\n\ndeclare const moment, _, $;\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst DATEPICKER_DROPDOWN_OPTIONS = {\n BUTTON: 'button',\n DEFAULT: 'default'\n};\nconst DATAENTRYMODE_DROPDOWN_OPTIONS = {\n PICKER: 'picker',\n DEFAULT: 'default'\n};\n\n// Providing meridians to the timepicker baesd on selected locale\nexport function getTimepickerConfig(i18nService): TimepickerConfig {\n return Object.assign(new TimepickerConfig(), {\n meridians: getLocaleDayPeriods(i18nService.getSelectedLocale(), FormStyle.Format, TranslationWidth.Abbreviated)\n });\n}\n\n@Directive()\nexport abstract class BaseDateTimeComponent extends BaseFormCustomComponent implements AfterViewInit, OnDestroy, Validator {\n public required: boolean;\n public disabled: boolean;\n public tabindex: any;\n public name: string;\n public autofocus: boolean;\n public readonly: boolean;\n public placeholder: string;\n public shortcutkey: string;\n public _triggeredByUser: boolean;\n\n public excludedays: string;\n public excludedDaysToDisable: Array<number>;\n public excludedDatesToDisable: Array<Date>;\n public excludedates;\n public outputformat;\n public mindate;\n public maxdate;\n public dataentrymode;\n protected activeDate;\n private elementScope;\n public datepattern;\n public timepattern;\n protected showseconds: boolean;\n protected ismeridian: boolean;\n protected meridians: any;\n protected datePipe;\n protected i18nService;\n public isReadOnly = false;\n protected selectedLocale: string;\n public selectfromothermonth: boolean;\n public todaybutton: boolean;\n public clearbutton: boolean;\n public removeKeyupListener;\n public loadNativeDateInput;\n public showcustompicker;\n public next;\n public prev;\n public clicked = false;\n\n protected dateNotInRange: boolean;\n protected timeNotInRange: boolean;\n protected invalidDateTimeFormat: boolean;\n\n private dateOnShowSubscription: Subscription;\n private cancelLocaleChangeSubscription;\n public get timeZone() { return this.inj.get(AbstractI18nService).getTimezone(this); }\n\n formatsByLocale = {'timezone': ''};\n\n /**\n * This is an internal property used to map the containerClass, showWeekNumbers etc., to the bsDatepicker\n */\n public _dateOptions: BsDatepickerConfig = new BsDatepickerConfig();\n protected bsDatePickerDirective: BsDatepickerDirective;\n\n @ViewChild(BsDropdownDirective) protected bsDropdown;\n @ViewChild(TimepickerComponent) protected bsTimePicker;\n @ViewChild(DateTimePickerComponent) datetimepickerComponent;\n private validateType: string;\n containerTarget: string;\n\n constructor(inj: Injector, WIDGET_CONFIG) {\n super(inj, WIDGET_CONFIG);\n this.i18nService = this.inj.get(AbstractI18nService);\n this.invokeEventCallback('beforeload');\n\n this.datePipe = this.inj.get(ToDatePipe);\n this.selectedLocale = this.i18nService.getSelectedLocale();\n this._dateOptions.todayPosition = 'left';\n this._dateOptions.clearPosition = 'right';\n this.meridians = getLocaleDayPeriods(this.selectedLocale, FormStyle.Format, TranslationWidth.Abbreviated);\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n\n this.cancelLocaleChangeSubscription = this.getAppInstance().subscribe(\"locale-changed\", (locale) => {\n this.datePipe.datePipe.locale = locale.angular;\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage('LABEL_TODAY_DATE');\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage('LABEL_CLEAR_DATE');\n });\n }\n\n\n /**\n * returns true if the input value is default (i.e open date picker on input click)\n * @param1 dropdownvalue, user selected value (by default datepicker opens on input click)\n * **/\n protected isDropDownDisplayEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATEPICKER_DROPDOWN_OPTIONS.DEFAULT;\n }\n\n /**\n * returns true if the input value is default (i.e Data entry can be done either by selecting from the Date/DateTime/Time Picker or by entering manually using the keyboard. )\n * @param1 dropdownvalue, user selected value\n * **/\n protected isDataEntryModeEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATAENTRYMODE_DROPDOWN_OPTIONS.DEFAULT;\n }\n /**\n * This method is used to show validation message depending on the isNativePicker flag.\n */\n private showValidation($event, displayValue, isNativePicker, msg) {\n if (isNativePicker) {\n console.warn('min max date validation failed ', msg);\n return $($event.target).val(displayValue);\n }\n }\n\n resetDisplayInput() {\n $(this.nativeElement).find('.display-input').val('');\n }\n\n public validate(c: AbstractControl) {\n if (this.invalidDateTimeFormat) {\n return {\n invalidDateTimeFormat: {\n valid: false\n }\n };\n }\n if (!_.isUndefined(this.dateNotInRange) && this.dateNotInRange) {\n return {\n dateNotInRange: {\n valid: false\n },\n };\n }\n if (!_.isUndefined(this.timeNotInRange) && this.timeNotInRange) {\n return {\n timeNotInRange: {\n valid: false\n },\n };\n }\n /* WMS-18269 | Extending the existing validation for 'required' */\n if (this['show'] && this['required']) {\n return !!c.value ? null : { required: true };\n }\n this.validateType = '';\n return null;\n }\n\n /**\n * This method is used to validate date pattern and time pattern\n * If user selects one pattern in design time and if he tries to enter the date in another pattern then the device is throwing an error\n */\n protected formatValidation(newVal, inputVal, isNativePicker?: boolean) {\n const pattern = this.datepattern || this.timepattern;\n const timeZone = this.timeZone;\n const formattedDate = getFormattedDate(this.datePipe, newVal, pattern, timeZone, null, null, this);\n inputVal = inputVal.trim();\n if (inputVal) {\n if (pattern === 'timestamp') {\n if (!_.isNaN(inputVal) && _.parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n } else {\n if (isNativePicker) {\n // format the date value only when inputVal is obtained from $event.target.value, as the format doesnt match.\n inputVal = getFormattedDate(this.datePipe, inputVal, pattern, timeZone);\n }\n if (inputVal !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n }\n\n }\n return true;\n }\n\n /**\n * This method is used to validate min date, max date, exclude dates and exclude days\n * In mobile if invalid dates are entered, device is showing an alert.\n * In web if invalid dates are entered, device is showing validation message.\n */\n protected minDateMaxDateValidationOnInput(newVal, $event?: Event, displayValue?: string, isNativePicker?: boolean) {\n if (newVal) {\n const dateTimeVal = newVal;\n newVal = moment(newVal).startOf('day').toDate();\n const minDate = moment(getDateObj(this.mindate)).startOf('day').toDate();\n const maxDate = moment(getDateObj(this.maxdate)).startOf('day').toDate();\n if (this.mindate && newVal < minDate) {\n const msg = `${this.appLocale.LABEL_MINDATE_VALIDATION_MESSAGE} ${this.mindate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, minDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'mindate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.maxdate && newVal > maxDate) {\n const msg = `${this.appLocale.LABEL_MAXDATE_VALIDATION_MESSAGE} ${this.maxdate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, maxDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'maxdate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.excludedates) {\n let excludeDatesArray;\n if (isString(this.excludedates)) {\n excludeDatesArray = _.split(this.excludedates, ',');\n } else {\n excludeDatesArray = this.excludedates;\n }\n excludeDatesArray = excludeDatesArray.map(d => getFormattedDate(this.datePipe, d, this.datepattern, this.timeZone, null, null, this));\n if (excludeDatesArray.indexOf(getFormattedDate(this.datePipe, dateTimeVal, this.datepattern, this.timeZone, null, null, this)) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedates';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n if (this.excludedays) {\n const excludeDaysArray = _.split(this.excludedays, ',');\n const day = _.get(dateTimeVal, 'getDay') ? dateTimeVal.getDay() : dateTimeVal;\n if (excludeDaysArray.indexOf(day.toString()) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedays';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n }\n\n if (!isNativePicker) {\n this.dateNotInRange = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n }\n\n /**\n * This method is used to highlight the current date\n */\n protected hightlightToday(newDate) {\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const month = new Date(newDate).toLocaleString('default', { month: 'long' });\n const year = newDate.getFullYear().toString();\n\n if(activeMonth == month && activeYear == year) {\n const toDay = newDate.getDate().toString();\n _.filter($(`span:contains(${toDay})`).not('.is-other-month'), (obj) => {\n if ($(obj).text() === toDay) {\n $(obj).addClass('current-date text-info');\n }\n });\n }\n }\n\n /**\n * This method is used to find the new date is from another year or not\n * @param newDate - newly selected date value\n */\n private isOtheryear(newDate) {\n return (newDate.getMonth() === 0 && this.activeDate.getMonth() === 11) || (newDate.getMonth() === 11 && this.activeDate.getMonth() === 0);\n }\n\n public showDatePickerModal(bsDataval) {\n bsDataval ? this.activeDate = bsDataval : this.activeDate = new Date();\n this.setNextData(this.activeDate);\n this.datetimepickerComponent.show();\n setTimeout(() => {\n this.addDatepickerMouseEvents();\n this.setActiveDateFocus(this.activeDate, true);\n }, 500);\n return ;\n }\n\n /**\n * This method is used to load other month days or other month or other year\n * @param btnClass - class(previous/next) of the button which we have to click\n * @param timePeriod - String value decides to load other month days or other month or other year\n */\n private goToOtherMonthOryear(btnClass, timePeriod) {\n const $node = $(`.bs-datepicker-head .${btnClass}`);\n if ($node.attr('disabled')) {\n return;\n }\n $node.trigger('click');\n if (timePeriod === 'days') {\n this.loadDays();\n } else if (timePeriod === 'month') {\n this.loadMonths();\n } else if (timePeriod === 'year') {\n this.loadYears();\n }\n }\n\n /**\n * This method is used to set focus for active day\n * @param newDate - newly selected date value\n * @param isMouseEvent - boolean value represents the event is mouse event/ keyboard event\n */\n private setActiveDateFocus(newDate, isMouseEvent?: boolean) {\n this.setNextData(newDate);\n this.clicked = false;\n const activeMonth = this.activeDate.getMonth();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getMonth() < activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('next', 'days') : this.goToOtherMonthOryear('previous', 'days');\n } else if (newDate.getMonth() > activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('previous', 'days') : this.goToOtherMonthOryear('next', 'days');\n }\n }\n setTimeout(() => {\n const newDay = newDate.getDate().toString();\n _.filter($(`span:contains(${newDay})`).not('.is-other-month'), (obj) => {\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const monthName = new Date().toLocaleString('default', { month: 'long' });\n if ($(obj).text() === newDay && activeMonth == monthName && activeYear == new Date().getFullYear()) {\n if ($(obj).hasClass('selected')) {\n $(obj).parent().attr('aria-selected', 'true');\n }\n $(obj).attr('aria-label', moment(newDate).format('dddd, MMMM Do YYYY'));\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '-1');\n $(obj).attr('tabindex', '0');\n $(obj).focus();\n this.activeDate = newDate;\n }\n });\n if (newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n this.hightlightToday(newDate);\n }\n });\n\n }\n\n private getMonth(date, inc) {\n const currentMonth = new Date(date);\n\n let month = currentMonth.getMonth();\n const year = currentMonth.getFullYear();\n\n month += inc;\n\n const newDate = new Date(year, month);\n\n const fullMonth = newDate.toLocaleString('en-US', { month: 'long' });\n\n return {\n date: newDate,\n fullMonth: fullMonth\n };\n }\n\n /**\n * This method sets focus for months/days depending on the loaded datepicker table\n */\n private setFocusForMonthOrDay() {\n const activeMonthOrYear = $(`.bs-datepicker-head .current`).first().text();\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n if (_.parseInt(activeMonthOrYear) !== this.activeDate.getFullYear()) {\n this.loadMonths();\n }\n const newDate = new Date(_.parseInt(activeMonthOrYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n const newMonth = months.indexOf(activeMonthOrYear);\n if (newMonth !== this.activeDate.getMonth()) {\n this.loadDays();\n }\n const newDate = new Date(this.activeDate.getFullYear(), newMonth, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years depending on the loaded datepicker table\n */\n private setFocusForCurrentMonthOryear() {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n this.setActiveYearFocus(this.activeDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years/days depending on the loaded datepicker table\n */\n private setFocusForDate(count) {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n const newDate = new Date(this.activeDate.getFullYear() + count, 0, this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n const startYear = datePickerBody.find('table.years span').first().text();\n const newDate = new Date(_.parseInt(startYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveYearFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n this.loadDays();\n const newDate = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth() + count, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method is used to add keyboard events while opening the date picker\n * @param scope - scope of the date/datetime widget\n * @param isDateTime - boolean value represents the loaded widget is date or datetime\n */\n protected addDatepickerKeyboardEvents(scope, isDateTime) {\n this.elementScope = scope;\n const dateContainer = document.querySelector(`.${scope.dateContainerCls}`) as HTMLElement;\n setAttr(dateContainer, 'tabindex', '0');\n dateContainer.onkeydown = (event) => {\n // Check for Shift+Tab key or Tab key or escape\n if (event.key === 'Escape') {\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n };\n this.loadDays();\n this.setActiveDateFocus(this.activeDate);\n }\n private setNextData(nextDate) {\n this.next = this.getMonth(nextDate, 1);\n this.prev = this.getMonth(nextDate, -1);\n }\n /**\n * This method is used to add tabindex, keybord and mouse events for days\n */\n private loadDays() {\n setTimeout(() => {\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '0');\n // if (this.clicked === false) {\n // this.next = this.getMonth(this.activeDate, 1);\n // this.prev = this.getMonth(this.activeDate, -1);\n // }\n this.addKeyBoardEventsForDays();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for days\n */\n private addKeyBoardEventsForDays() {\n const datePickerBody = $('.bs-datepicker-body');\n datePickerBody.keydown((event) => {\n let newdate;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header month name to load list of months\n $('.bs-datepicker-head .current').first().click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'Enter') {\n if ($(document.activeElement).hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n private focusBlurDatePickerHeadButtons() {\n const datePickerHeadButton = $('.bs-datepicker-head button');\n datePickerHeadButton.on('focus', function() { $(this).css('background-color', '#9AA0A3'); });\n datePickerHeadButton.on('blur', function() { $(this).css('background-color', ''); });\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for months\n */\n private loadMonths() {\n setTimeout(() => {\n this.addKeyBoardEventsForMonths();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for months\n */\n private addKeyBoardEventsForMonths() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadDays();\n const newDate = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1);\n this.setActiveDateFocus(newDate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header year to load list of years\n $('.bs-datepicker-head .current').first().click();\n this.loadYears();\n this.setActiveYearFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for years\n */\n private loadYears() {\n setTimeout(() => {\n this.addKeyBoardEventsForYears();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method is used to set focus for active month\n */\n private setActiveMonthFocus(newDate, isMoouseEvent?: boolean) {\n this.setNextData(newDate);\n const newMonth = months[newDate.getMonth()];\n // check for keyboard event\n if (!isMoouseEvent) {\n if (newDate.getFullYear() < this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('previous', 'month');\n } else if (newDate.getFullYear() > this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('next', 'month');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.months span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets keyboard events for years\n */\n private addKeyBoardEventsForYears() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to set focus for active year\n */\n private setActiveYearFocus(newDate, isMouseEvent?: boolean) {\n const newYear = newDate.getFullYear();\n const datePickerYears = $('.bs-datepicker-body table.years span');\n const startYear = datePickerYears.first().text();\n const endYear = datePickerYears.last().text();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getFullYear() < _.parseInt(startYear)) {\n this.goToOtherMonthOryear('previous', 'year');\n } else if (newDate.getFullYear() > _.parseInt(endYear)) {\n this.goToOtherMonthOryear('next', 'year');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.years span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets focus for timepicker first input field(hours field) while opening time picker\n * @param scope - scope of the time picker widget\n */\n protected focusTimePickerPopover(scope) {\n this.elementScope = scope;\n // setTimeout is used so that by then time input has the updated value. focus is setting back to the input field\n this.elementScope.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n $('timepicker .form-group').first().find('> input.form-control').focus();\n });\n });\n\n\n }\n /**\n * This function sets the keyboard events to Timepicker popup\n */\n protected bindTimePickerKeyboardEvents() {\n setTimeout(() => {\n const $timepickerPopup = $('body').find('> bs-dropdown-container timepicker');\n $timepickerPopup.attr('tabindex', 0);\n this.addEventsOnTimePicker($timepickerPopup);\n });\n }\n\n protected focusOnInputEl() {\n if ($(this.nativeElement).closest('.caption-floating').length > 0) {\n setTimeout(() => {\n $(this.nativeElement).find('.app-textbox').focus();\n }, 100);\n }\n }\n\n /**\n * This function checks whether the given date is valid or not\n * @returns boolean value, true if date is valid else returns false\n */\n private isValidDate(date) {\n return date && date instanceof Date && !isNaN(date.getTime());\n }\n\n /**\n * This function checks whether the given time is valid or not\n */\n private timeFormatValidation() {\n const enteredDate = $(this.nativeElement).find('input').val();\n const newVal = getNativeDateObject(enteredDate, {meridians: this.meridians, pattern: this.datepattern});\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n private updateTimeValue(el, value, fieldName) {\n let minEl = el.find('input[aria-label=\"minutes\"]');\n let secEl = el.find('input[aria-label=\"seconds\"]');\n minEl.value = secEl.value = '00';\n if (value.length < 2) {\n setTimeout(() => {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }, 500);\n } else {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }\n }\n\n /**\n * This function sets the events to given element\n * @param $el - element on which the event is added\n */\n private addEventsOnTimePicker($el: JQuery) {\n const inputFields = $el.find('.bs-timepicker-field');\n // WMS-19382: update minutes and seconds to 0 when we enter hour value\n inputFields.first().on('keyup', evt => {\n const hourValue = (evt.target as any).value;\n _.forEach(inputFields, (field, index) => {\n if (evt.target !== field && field.value === '' && hourValue.length) {\n const fieldName = index === 1 ? 'minutes' : 'seconds';\n this.updateTimeValue($el, hourValue, fieldName);\n }\n });\n });\n this.removeKeyupListener = () => {\n inputFields.first().off('keyup');\n };\n $el.on('keydown', event => {\n const $target = $(event.target);\n const $parent = $target.parent();\n const elementScope = this.elementScope;\n\n let stopPropogation, preventDefault;\n\n if (event.key === 'Escape') {\n elementScope.hideTimepickerDropdown();\n }\n\n if ($target.hasClass('bs-timepicker-field')) {\n if ($parent.is(':first-child')) {\n if ((event.shiftKey && event.key === 'Tab') || event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else if ($parent.is(':last-child') || ($parent.next().next().find('button.disabled').length)) {\n if (event.key === 'Tab' || event.key === 'Escape' || event.key === 'Enter') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else {\n if (event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n }\n if (stopPropogation) {\n event.stopPropagation();\n }\n if (preventDefault) {\n event.preventDefault();\n }\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if (event.key === 'ArrowDown') {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if (event.key === 'ArrowUp') {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n if (event.key === 'Tab') {\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n const pattern = this.datepattern || this.timepattern;\n if (getFormattedDate(elementScope.datePipe, elementScope.bsTimeValue, pattern, this.timeZone, null, null, this) === elementScope.displayValue) {\n $(this.nativeElement).find('.display-input').val(elementScope.displayValue);\n }\n }\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n this.timeFormatValidation();\n }\n } else if ($target.hasClass('btn-default')) {\n if (event.key === 'Tab' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n }\n }\n });\n $el.find('a').on('click', evt => {\n const elementScope = this.elementScope;\n const $target = $(evt.target);\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if ($target.find('span').hasClass('bs-chevron-down')) {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if ($target.find('span').hasClass('bs-chevron-up')) {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n this.timeFormatValidation();\n });\n }\n\n public updateFormat(pattern) {\n if (pattern === 'datepattern') {\n this._dateOptions.dateInputFormat = this.datepattern;\n this.showseconds = _.includes(this.datepattern, 's');\n this.ismeridian = _.includes(this.datepattern, 'h');\n } else if (pattern === 'timepattern') {\n this.showseconds = _.includes(this.timepattern, 's');\n this.ismeridian = _.includes(this.timepattern, 'h');\n }\n }\n\n getMobileInput() {\n return this.nativeElement.querySelector('.mobile-input') as HTMLElement;\n }\n\n onDateTimeInputBlur() {\n // removing the opacity on blur of the mobile widget\n const displayInputElem = this.getMobileInput();\n if (displayInputElem && !hasCordova()) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.remove('add-opacity');\n }\n displayInputElem.classList.remove('remove-opacity');\n }\n }\n\n onDateTimeInputFocus(skipFocus: boolean = false): void {\n if (!this.loadNativeDateInput) {\n return;\n }\n const displayInputElem = this.getMobileInput();\n // toggling the classes to show and hide the native widget using opacity\n if (skipFocus && !hasCordova()) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.add('add-opacity');\n }\n displayInputElem.classList.add('remove-opacity');\n return;\n }\n\n if (displayInputElem && this._triggeredByUser) {\n displayInputElem.focus();\n displayInputElem.click();\n }\n }\n\n getCordovaPluginDatePickerApi() {\n if (isIos()) {\n return _.get(window, 'cordova.wavemaker.datePicker.selectDate');\n }\n }\n\n /**\n * This method sets the mouse events to Datepicker popup. These events are required when we navigate date picker through mouse.\n */\n private addDatepickerMouseEvents() {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", true);\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", true);\n\n $(\".bs-datepicker-head\").on(\"click\", \".previous\", (event) => {\n this.next = this.getMonth(this.activeDate, 0);\n this.prev = this.getMonth(this.activeDate, -2);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(-1);\n }\n var prevMon = this.getMonth(this.activeDate, -1);\n\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", true);\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", true);\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Previous Month, ${prevMon.fullMonth} and year ${prevMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .previous`).focus();\n\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".next\", (event) => {\n this.next = this.getMonth(this.activeDate, 2);\n this.prev = this.getMonth(this.activeDate, 0);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(1);\n }\n var nextMon = this.getMonth(this.activeDate, 1);\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", true);\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", true);\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Next Month, ${nextMon.fullMonth} and year ${nextMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .next`).focus();\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".current\", (event) => {\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForCurrentMonthOryear();\n }\n });\n $('.bs-datepicker-body').on(\"click\", \".bs-datepicker-action-buttons\", (event) => {\n event.stopPropagation();\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForMonthOrDay();\n }\n });\n // if(!this.clicked) {\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n // }\n }\n\n blurDateInput(isPickerOpen) {\n const displayInputElem = this.nativeElement.querySelector('.display-input') as HTMLElement;\n if (isPickerOpen) {\n setTimeout(() => displayInputElem.blur());\n }\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 === 'datepattern') {\n this.updateFormat(key);\n } else if (key === 'showweeks') {\n this._dateOptions.showWeekNumbers = nv;\n } else if (key === 'mindate') {\n this._dateOptions.minDate = (nv === CURRENT_DATE) ? this.mindate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'maxdate') {\n this._dateOptions.maxDate = (nv === CURRENT_DATE) ? this.maxdate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'excludedates' || key === 'excludedays') {\n if (this.excludedays) {\n this.excludedDaysToDisable = _.split(this.excludedays, ',').map((day) => {\n return +day;\n });\n }\n if (this.excludedates) {\n this.excludedDatesToDisable = this.excludedates;\n if (isString(this.excludedates)) {\n this.excludedDatesToDisable = _.split(this.excludedates, ',');\n }\n this.excludedDatesToDisable = this.excludedDatesToDisable.map(d => getDateObj(d));\n }\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'selectfromothermonth') {\n this._dateOptions.selectFromOtherMonth = nv;\n\n } else if (key === 'todaybutton') {\n this._dateOptions.showTodayButton = nv;\n } else if (key === 'clearbutton') {\n this._dateOptions.showClearButton = nv;\n } else if (key === 'todaybuttonlabel') {\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'clearbuttonlabel') {\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'showcustompicker') {\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n } else if (key === 'adaptiveposition') {\n this._dateOptions.adaptivePosition = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.containerTarget = getContainerTargetClass(this.nativeElement);\n this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);\n\n // this mobileinput width varies in ios hence setting width here.\n const mobileInput = this.getMobileInput();\n if (mobileInput) {\n setTimeout(() => {\n mobileInput.style.width = '100%';\n mobileInput.style.height = '100%';\n });\n }\n }\n\n ngOnDestroy() {\n if (this.dateOnShowSubscription) {\n this.dateOnShowSubscription.unsubscribe();\n }\n if(this.cancelLocaleChangeSubscription) {\n this.cancelLocaleChangeSubscription();\n }\n\n super.ngOnDestroy();\n }\n\n public ngOnDetach() {\n this.datetimepickerComponent?.hideModal();\n }\n\n setTimezone(locale) {\n this.i18nService.setTimezone(locale, this);\n }\n}\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType, isMobileApp } from '@wm/core';\n\nexport const dateProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', { value: 'default', ...PROP_STRING }],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['datepattern', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['excludedays', PROP_STRING],\n ['excludedates', PROP_STRING],\n ['hint', PROP_STRING],\n ['maxdate', PROP_STRING],\n ['mindate', PROP_STRING],\n ['name', PROP_STRING],\n ['outputformat', { value: 'yyyy-MM-dd', ...PROP_STRING }],\n ['placeholder', { value: 'Select Date', ...PROP_STRING }],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['showdropdownon', { value: 'default', ...PROP_STRING }],\n ['showbuttonbar', { value: true, ...PROP_BOOLEAN }], // TODO not addressed\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['showindevice', { displayType: 'inline-block', value: 'all', ...PROP_STRING }],\n ['showweeks', { value: false, ...PROP_BOOLEAN }],\n ['tabindex', { value: 0, ...PROP_NUMBER }],\n ['selectfromothermonth', { value: true, ...PROP_BOOLEAN }],\n ['todaybutton', { value: true, ...PROP_BOOLEAN }],\n ['clearbutton', { value: true, ...PROP_BOOLEAN }],\n ['adaptiveposition', {value: true, ...PROP_BOOLEAN}],\n ['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...PROP_STRING }],\n ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }],\n ['showdateformatasplaceholder', PROP_BOOLEAN],\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-date',\n dateProps\n );\n registerFormWidget(\n FormWidgetType.DATE,\n new Map(dateProps)\n );\n};\n","import IMask from \"imask\";\ndeclare const moment;\n\nexport function validateTheMaskedDate (format, locale) {\n if(format == 'timestamp') {\n return false;\n }\n let modifiedFormat = format.toUpperCase().replace(/E/g, 'd');\n if((modifiedFormat.split('D').length - 1) === 1) {\n modifiedFormat = modifiedFormat.replace('D', 'DD');\n }\n if((modifiedFormat.split('M').length - 1) === 1 ) {\n modifiedFormat = modifiedFormat.replace('M', 'MM');\n }\n const parseFn= str => {\n return moment(str, modifiedFormat).toDate();\n };\n const formatFn = date => {\n return moment(date, modifiedFormat).format(modifiedFormat);\n };\n return {\n mask: Date,\n pattern: modifiedFormat,\n format: formatFn,\n parse: parseFn,\n\n blocks: {\n YYYY: {\n mask: IMask.MaskedRange,\n from: 1900,\n to: 9999,\n placeholderChar:'Y',\n maxLength: 4,\n },\n YYY: {\n mask: IMask.MaskedRange,\n from: 900,\n to: 999,\n placeholderChar:'Y',\n maxLength: 3,\n },\n YY: {\n mask: IMask.MaskedRange,\n from: 0,\n to: 99,\n placeholderChar:'Y',\n maxLength: 2,\n },\n Y: {\n mask: IMask.MaskedRange,\n from: 1900,\n to: 9999,\n placeholderChar:'Y',\n maxLength: 4,\n },\n M: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n placeholderChar:'M',\n maxLength: 2,\n },\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n placeholderChar:'M',\n maxLength: 2,\n },\n MMM: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 12 }, (_, i) =>\n new Date(0, i).toLocaleString(locale, { month: 'short' })\n ),\n placeholderChar:'M',\n maxLength: 3,\n },\n MMMM: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 12 }, (_, i) =>\n new Date(0, i).toLocaleString(locale, { month: 'long' })\n ),\n placeholderChar: \"M\",\n maxLength: 4\n },\n DD: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n placeholderChar:'D',\n maxLength: 2,\n },\n D: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n placeholderChar:'D',\n maxLength: 2,\n },\n ddd: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 7 }, (_, i) =>\n new Date(0, 0, i + 1).toLocaleString(locale, { weekday: 'short' })\n ),\n placeholderChar:'E',\n maxLength: 3,\n },\n dddd: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 7 }, (_, i) =>\n new Date(0, 0, i + 1).toLocaleString(locale, { weekday: 'long' })\n ),\n placeholderChar:'E',\n minLength: 6,\n },\n },\n autofix: true,\n lazy: false,\n overwrite: true,\n skipInvalid: true\n }\n}\n"," <input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n #dateInput\n [imask]=\"mask\"\n [unmask]=\"true\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event); updateIMask()\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || readonly\"\n [autofocus]=\"autofocus\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n (change)=\"onDisplayDateChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event);\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isOpen\"\n #datepicker=\"bsDatepicker\"\n bsDatepicker\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n placement=\"bottom right\"\n [isDisabled]=\"disabled || readonly\"\n [bsValue]=\"bsDataValue\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n (bsValueChange)=\"onDateChange($event)\">\n</div>\n\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n mode=\"DATE\"\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDataValue\"\n (change)=\"onDateChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDataValue)\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event);\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : hint || 'Choose Date'\"\n role=\"button\">\n </div>\n</ng-template>\n","import { ChangeDetectorRef, Component, Injector, ViewChild } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';\n\nimport {\n adjustContainerPosition,\n addEventListenerOnElement,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDateObj,\n getDisplayDateTimeFormat,\n getFormattedDate,\n adjustContainerRightEdges,\n getMomentLocaleObject\n} from '@wm/core';\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, setFocusTrap, styler } from '@wm/components/base';\nimport { BaseDateTimeComponent } from './../base-date-time.component';\nimport { registerProps } from './date.props';\nimport { validateTheMaskedDate } from './imaskUtil';\nimport { IMaskDirective } from 'angular-imask';\n\ndeclare const _, $;\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst DEFAULT_CLS = 'app-date input-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-date',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n selector: '[wmDate]',\n templateUrl: './date.component.html',\n providers: [\n provideAs(DateComponent, NG_VALUE_ACCESSOR, true),\n provideAs(DateComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(DateComponent)\n ]\n})\nexport class DateComponent extends BaseDateTimeComponent {\n static initializeProps = registerProps();\n\n public bsDataValue;\n public showdropdownon: string;\n private dateContainerCls: string;\n public isOpen: boolean = false;\n private isEnterPressedOnDateInput = false;\n private _bsDefaultLoadCheck: boolean;\n public hint: string;\n\n private deregisterEventListener;\n private isCurrentDate;\n private focusTrap;\n private showdateformatasplaceholder = false;\n mask;\n private maskDateInputFormat;\n\n get timestamp() {\n return this.bsDataValue ? this.bsDataValue.valueOf() : undefined;\n }\n\n get dateInputFormat() {\n return this._dateOptions.dateInputFormat || 'yyyy-MM-dd';\n }\n\n get displayValue() {\n if(this.showdateformatasplaceholder && this.imask?.maskRef && this.maskDateInputFormat) {\n return getFormattedDate(this.datePipe, this.bsDataValue, this.maskDateInputFormat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n return getFormattedDate(this.datePipe, this.bsDataValue, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.bsDataValue, 'yyyy-MM-dd', this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n // @ts-ignore\n get datavalue() {\n return getFormattedDate(this.datePipe, this.bsDataValue, this.outputformat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n // Todo[Shubham]: needs to be redefined\n // sets the dataValue and computes the display model values\n // @ts-ignore\n set datavalue(newVal) {\n if (newVal === CURRENT_DATE) {\n setTimeout(() => {\n this.bsDataValue = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n }, 50);\n this.isCurrentDate = true;\n } else {\n this.bsDataValue = newVal ? getDateObj(newVal, {isNativePicker: this.loadNativeDateInput}, this.timeZone) : undefined;\n this.isCurrentDate = false;\n }\n // update the previous datavalue.\n this.invokeOnChange(this.datavalue, undefined, true);\n this.cdRef.detectChanges();\n }\n\n @ViewChild(BsDatepickerDirective) protected bsDatePickerDirective;\n @ViewChild('dateInput', {read: IMaskDirective}) imask: IMaskDirective<any>;\n\n // TODO use BsLocaleService to set the current user's locale to see the localized labels\n constructor(\n inj: Injector,\n private cdRef: ChangeDetectorRef,\n private appDefaults: AppDefaults\n ) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this);\n\n this.dateContainerCls = `app-date-${this.widgetId}`;\n this._dateOptions.containerClass = `app-date ${this.dateContainerCls}`;\n this._dateOptions.showWeekNumbers = false;\n this._bsDefaultLoadCheck = true;\n this.datepattern = this.appDefaults.dateFormat || getDisplayDateTimeFormat(FormWidgetType.DATE);\n this.updateFormat('datepattern');\n }\n /**\n * This is an internal method triggered when the date input changes\n */\n onDisplayDateChange($event, isNativePicker: boolean = false) {\n this.updateIMask();\n if (this.isEnterPressedOnDateInput) {\n this.isEnterPressedOnDateInput = false;\n return;\n }\n const newVal = getDateObj($event.target.value, {pattern: this.datepattern, isNativePicker: isNativePicker});\n // date pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value, isNativePicker)) {\n return;\n }\n // min date and max date validation in mobile view.\n // if invalid dates are entered, device is showing an alert.\n if (isNativePicker && this.minDateMaxDateValidationOnInput(newVal, $event, this.displayValue, isNativePicker)) {\n return;\n }\n this.setDataValue(newVal);\n }\n\n // sets the dataValue and computes the display model values\n private setDataValue(newVal): void {\n this.invalidDateTimeFormat = false;\n // min date and max date validation in web.\n // if invalid dates are entered, device is showing validation message.\n this.minDateMaxDateValidationOnInput(newVal);\n if (getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this) === this.displayValue) {\n $(this.nativeElement).find('.display-input').val(this.displayValue);\n }\n if (newVal) {\n this.bsDataValue = newVal;\n this.updateIMask();\n } else {\n this.bsDataValue = undefined;\n }\n this.invokeOnChange(this.datavalue, {}, true);\n }\n\n onDatePickerOpen() {\n this.isOpen = true;\n this.activeDate = this.bsDataValue ? this.bsDataValue : (this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date());\n if (!this.bsDataValue) {\n this.hightlightToday(this.activeDate);\n }\n this.updateIMask();\n\n // We are using the two input tags(To maintain the modal and proxy modal) for the date control.\n // So actual bootstrap input target width we made it to 0, so bootstrap calculating the calendar container top position improperly.\n // To fix the container top position set the width 1px;\n this.$element.find('.model-holder').width('1px');\n const dpContainerEl = $('bs-datepicker-container');\n dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');\n $('.bs-calendar-container').removeAttr('role');\n const datePickerContainer = $('.bs-datepicker-container')[0];\n this.focusTrap = setFocusTrap(datePickerContainer, true);\n this.focusTrap.activate();\n this.addDatepickerKeyboardEvents(this, false);\n adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n adjustContainerRightEdges($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n\n if(this.timeZone) {\n const todayBtn = document.querySelector(`.${this.dateContainerCls} .bs-datepicker-buttons .btn-today-wrapper button`) as HTMLElement;\n const setTodayTZHandler = (event) => {\n const todayTZ = getMomentLocaleObject(this.timeZone);\n if(new Date(this.bsDataValue).toDateString() !== new Date(todayTZ).toDateString()) {\n this.bsDataValue = todayTZ;\n }\n todayBtn.removeEventListener('click', setTodayTZHandler);\n };\n todayBtn.addEventListener('click', setTodayTZHandler)\n }\n }\n onInputBlur($event) {\n this.updateIMask();\n if (!$($event.relatedTarget).hasClass('current-date')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n\n updateIMask() {\n this.imask?.maskRef?.updateValue();\n }\n\n public hideDatepickerDropdown() {\n this.invokeOnTouched();\n this.isOpen = false;\n this.focusTrap?.deactivate();\n this.isEnterPressedOnDateInput = false;\n if (this.deregisterEventListener) {\n this.deregisterEventListener();\n }\n this.blurDateInput(this.isOpen);\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 (!_.includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the date widget\n */\n public toggleDpDropdown($event, skipFocus: boolean = false) {\n if (this.loadNativeDateInput) {\n // Fixes click event getting triggred twice in Mobile devices.\n if (!skipFocus) {\n this.onDateTimeInputFocus();\n }\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n // this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n $event.stopPropagation();\n return;\n }\n this.bsDatePickerDirective.toggle();\n this.addBodyClickListener(this.bsDatePickerDirective.isOpen);\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const bsDateContainerElement = bodyElement.querySelector(`.${this.dateContainerCls}`);\n this.deregisterEventListener = addEventListenerOnElement(bodyElement, bsDateContainerElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.isOpen = false;\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This is an internal method triggered when pressing key on the date input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n if (event.key === 'Enter') {\n const newVal = getDateObj(event.target.value, {pattern: this.datepattern});\n event.preventDefault();\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this);\n const inputVal = event.target.value.trim();\n if (inputVal && this.datepattern === 'timestamp') {\n if (!_.isNaN(inputVal) && _.parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n }\n } else if (inputVal && inputVal !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n } else {\n this.invalidDateTimeFormat = false;\n this.isEnterPressedOnDateInput = true;\n this.bsDatePickerDirective.bsValue = event.target.value ? newVal : '';\n this.updateIMask();\n }\n this.toggleDpDropdown(event);\n } else {\n this.hideDatepickerDropdown();\n }\n } else {\n this.hideDatepickerDropdown();\n }\n }\n\n /**\n * This is an internal method triggered when the date selection changes\n */\n onDateChange(newVal): void {\n /**\n * Ngx-bootstrap upgrade : To avoid the page load datechange event;\n * TODO:\n * https://github.com/valor-software/ngx-bootstrap/issues/6016\n * For above issue, once we get the solution from Ngx-Bootstrap team, remove the _bsDefaultLoadCheck check and update accordingly.\n * */\n if (this._bsDefaultLoadCheck) {\n this._bsDefaultLoadCheck = false;\n return;\n }\n\n this.setDataValue(newVal);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'showdateformatasplaceholder') {\n this.showdateformatasplaceholder = nv;\n this.imask?.destroyMask();\n if (this.showdateformatasplaceholder && this.datepattern !== 'timestamp') {\n this.mask = validateTheMaskedDate(this.datepattern, this.selectedLocale);\n this.maskDateInputFormat = this.dateInputFormat;\n this.maskDateInputFormat = (this.dateInputFormat.split('d').length - 1) === 1 ? this.maskDateInputFormat.replace('d', 'dd') : this.maskDateInputFormat;\n this.maskDateInputFormat = (this.dateInputFormat.split('M').length - 1) === 1 ? this.maskDateInputFormat.replace('M', 'MM') : this.maskDateInputFormat;\n this.updateIMask();\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { FormWidgetType, isMobileApp } from '@wm/core';\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const dateTimeProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', { value: 'default', ...PROP_STRING }],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['datepattern', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['excludedays', PROP_STRING],\n ['excludedates', PROP_STRING],\n ['hint', PROP_STRING],\n ['hourstep', { value: 1, ...PROP_NUMBER }],\n ['maxdate', PROP_STRING],\n ['mindate', PROP_STRING],\n ['minutestep', { value: 15, ...PROP_NUMBER }],\n ['name', PROP_STRING],\n ['outputformat', { value: 'timestamp', ...PROP_STRING }],\n ['placeholder', { value: 'Select date time', ...PROP_STRING }],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['secondsstep', { value: 1, ...PROP_NUMBER }],\n ['shortcutkey', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['showdropdownon', { value: 'default', ...PROP_STRING }],\n ['showbuttonbar', PROP_BOOLEAN],\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['showindevice', { displayType: 'inline-block', value: 'all', ...PROP_STRING }],\n ['showweeks', PROP_BOOLEAN],\n ['tabindex', { value: 0, ...PROP_NUMBER }],\n ['timestamp', PROP_STRING],\n ['selectfromothermonth', { value: true, ...PROP_BOOLEAN }],\n ['todaybutton', { value: true, ...PROP_BOOLEAN }],\n ['clearbutton', { value: true, ...PROP_BOOLEAN }],\n ['adaptiveposition', {value: true, ...PROP_BOOLEAN}],\n ['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...PROP_STRING }],\n ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }]\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-datetime',\n dateTimeProps\n );\n registerFormWidget(\n FormWidgetType.DATETIME,\n new Map(dateTimeProps)\n );\n registerFormWidget(\n FormWidgetType.TIMESTAMP,\n new Map(dateTimeProps)\n );\n};\n"," <div dropdown\n [isOpen]=\"isTimeOpen\"\n autoClose=\"false\"\n [container]=\"'body'\"\n (onShown)=\"onTimepickerOpen()\"\n style=\"display: inherit;\">\n <input class=\"form-control app-textbox display-input\"\n [attr.aria-label]=\"hint\"\n focus-target\n [name]=\"name\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n type=\"text\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDateChange($event)\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-date\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n aria-label=\"Select time\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleTimePicker(!isTimeOpen, $event)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-time\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n focus-target\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isDateOpen\"\n placement=\"bottom right\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n #datepicker=bsDatepicker\n bsDatepicker\n [isDisabled]=\"disabled || readonly || isCurrentDate\"\n [bsValue]=\"bsDateValue\"\n (bsValueChange)=\"onModelUpdate($event, 'date')\">\n </div>\n <div *dropdownMenu\n class=\"dropdown-menu\"\n aria-label=\"timepicker dropdown\"\n aria-controls=\"time\"\n (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"disabled || readonly || isCurrentDate\"\n [(ngModel)]=\"bsTimeValue\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\"\n (ngModelChange)=\"onModelUpdate($event, 'time')\"></timepicker>\n </div>\n </div>\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDateValue\"\n (change)=\"onModelUpdate($event, 'date')\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDateValue)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : hint || 'Choose Date'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event)\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n NgZone,\n OnDestroy,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\nimport { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';\nimport { TimepickerConfig } from 'ngx-bootstrap/timepicker';\n\nimport {\n AbstractI18nService,\n addClass,\n addEventListenerOnElement,\n adjustContainerPosition,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDateObj,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getNativeDateObject,\n adjustContainerRightEdges,\n App,\n getMomentLocaleObject\n} from '@wm/core';\nimport { provideAsWidgetRef, provideAs, styler, setFocusTrap } from '@wm/components/base';\n\nimport {BaseDateTimeComponent, getTimepickerConfig} from './../base-date-time.component';\nimport { registerProps } from './date-time.props';\n\ndeclare const moment, $, _;\n\nconst DEFAULT_CLS = 'app-datetime input-group';\nconst WIDGET_CONFIG = { widgetType: 'wm-datetime', hostClass: DEFAULT_CLS };\n\nconst CURRENT_DATE = 'CURRENT_DATE';\n\n@Component({\n selector: '[wmDateTime]',\n templateUrl: './date-time.component.html',\n providers: [\n provideAs(DatetimeComponent, NG_VALUE_ACCESSOR, true),\n provideAs(DatetimeComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(DatetimeComponent),\n { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }\n ]\n})\nexport class DatetimeComponent extends BaseDateTimeComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n /**\n * The below propeties prefixed with \"bs\" always holds the value that is selected from the datepicker.\n * The bsDateTimeValue = bsDateValue + bsTimeValue.\n */\n private bsDateTimeValue: any;\n public bsDateValue;\n private bsTimeValue;\n private proxyModel;\n private app: App;\n public hint: string;\n public showdropdownon: string;\n private deregisterDatepickerEventListener;\n private deregisterTimepickeEventListener;\n private isEnterPressedOnDateInput = false;\n private focusTrap;\n\n get timestamp() {\n return this.proxyModel ? this.proxyModel.valueOf() : undefined;\n }\n\n get dateInputFormat() {\n return this._dateOptions.dateInputFormat || 'yyyy-MM-ddTHH:mm:ss';\n }\n\n /**\n * The displayValue is the display value of the bsDateTimeValue after applying the datePattern on it.\n * @returns {any|string}\n */\n get displayValue(): any {\n return getFormattedDate(this.datePipe, this.proxyModel, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this) || '';\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.proxyModel, 'yyyy-MM-ddTHH:mm:ss', this.timeZone, (this as any).key, this.isCurrentDate, this) || '';\n }\n\n @ViewChild(BsDatepickerDirective) bsDatePickerDirective;\n\n /**\n * This property checks if the timePicker is Open\n */\n public isTimeOpen = false;\n\n /**\n * This property checks if the datePicker is Open\n */\n public isDateOpen = false;\n\n /**\n * This timeinterval is used to run the timer when the time component value is set to CURRENT_TIME in properties panel.\n */\n private timeinterval: any;\n\n /**\n * This property is set to TRUE if the time component value is set to CURRENT_TIME; In this case the timer keeps changing the time value until the widget is available.\n */\n public isCurrentDate = false;\n\n private _debouncedOnChange: Function = _.debounce(this.invokeOnChange, 10);\n\n private dateContainerCls: string;\n\n // @ts-ignore\n get datavalue(): any {\n if (this.isCurrentDate && !this.proxyModel) {\n return CURRENT_DATE;\n }\n return getFormattedDate(this.datePipe, this.proxyModel, this.outputformat, this.timeZone, null, null, this);\n }\n\n /**Todo[Shubham]: needs to be redefined\n * This property sets the default value for the date selection\n */\n // @ts-ignore\n set datavalue(newVal: any) {\n if (newVal === CURRENT_DATE) {\n this.isCurrentDate = true;\n this.setTimeInterval();\n } else {\n this.proxyModel = newVal ? getDateObj(newVal, {isNativePicker: this.loadNativeDateInput}, this.timeZone) : undefined;\n this.clearTimeInterval();\n this.isCurrentDate = false;\n }\n this.bsTimeValue = this.bsDateValue = this.proxyModel;\n this.cdRef.detectChanges();\n }\n\n constructor(\n inj: Injector,\n private ngZone: NgZone,\n private cdRef: ChangeDetectorRef,\n private appDefaults: AppDefaults,\n app: App\n ) {\n super(inj, WIDGET_CONFIG);\n this.registerDestroyListener(() => this.clearTimeInterval());\n styler(this.nativeElement, this);\n this.app = app;\n this.dateContainerCls = `app-date-${this.widgetId}`;\n this._dateOptions.containerClass = `app-date ${this.dateContainerCls}`;\n this._dateOptions.showWeekNumbers = false;\n this.datepattern = this.appDefaults.dateTimeFormat || getDisplayDateTimeFormat(FormWidgetType.DATETIME);\n this.updateFormat('datepattern');\n }\n\n /**\n * This is an internal method used to maintain a time interval to update the time model when the data value is set to CURRENT_TIME\n */\n private setTimeInterval() {\n if (this.timeinterval) {\n return;\n }\n this.timeinterval = setInterval(() => {\n const currentTime = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n this.onModelUpdate(currentTime);\n }, 1000);\n }\n\n /**\n * This is an internal method used to clear the time interval created\n */\n private clearTimeInterval() {\n if (this.timeinterval) {\n clearInterval(this.timeinterval);\n this.timeinterval = null;\n }\n }\n\n /**\n * This is an internal method to toggle the time picker\n */\n public toggleTimePicker(newVal, $event?: any) {\n if (this.loadNativeDateInput) {\n this.onDateTimeInputFocus();\n return;\n }\n this.isTimeOpen = newVal;\n if ($event && $event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n }\n this.addTimepickerClickListener(this.isTimeOpen);\n }\n\n private addTimepickerClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const dropdownElement = $(bodyElement).find('>bs-dropdown-container .dropdown-menu').get(0);\n this.deregisterTimepickeEventListener = addEventListenerOnElement(bodyElement, dropdownElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.toggleTimePicker(false);\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This function sets the value isOpen/isTimeOpen (i.e when datepicker popup is closed) based on widget type(i.e DateTime, Time)\n * @param val - isOpen/isTimeOpen is set based on the timepicker popup is open/closed\n */\n private setIsTimeOpen(val: boolean) {\n this.isTimeOpen = val;\n }\n\n private hideTimepickerDropdown() {\n this.invokeOnTouched();\n this.toggleTimePicker(false);\n if (this.deregisterTimepickeEventListener) {\n this.deregisterTimepickeEventListener();\n }\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: this.displayValue, nativeEl: parentEl});\n }\n }\n\n /**\n * This is an internal method to add a click listener once the time dropdown is open\n */\n public onTimepickerOpen() {\n // adding class for time widget dropdown menu\n const tpElements = document.querySelectorAll('timepicker');\n _.forEach(tpElements, (element) => {\n addClass(element.parentElement as HTMLElement, 'app-datetime', true);\n });\n\n this.bsDatePickerDirective.hide();\n this.focusTimePickerPopover(this);\n this.bindTimePickerKeyboardEvents();\n adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n adjustContainerRightEdges($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n }\n\n public onDatePickerOpen() {\n this.isDateOpen = !this.isDateOpen;\n this.toggleTimePicker(false);\n // We are using the two input tags(To maintain the modal and proxy modal) for the date control.\n // So actual bootstrap input target width we made it to 0 so bootstrap calculating the calendar container top position impropery.\n // To fix the container top position set the width 1px;\n this.$element.find('.model-holder').width('1px');\n const dpContainerEl = $('bs-datepicker-container');\n dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');\n $('.bs-calendar-container').removeAttr('role');\n const datePickerContainer = $('.bs-datepicker-container')[0];\n this.focusTrap = setFocusTrap(datePickerContainer, true);\n this.focusTrap.activate();\n\n this.bsDateValue ? this.activeDate = this.bsDateValue : this.activeDate = new Date();\n if (!this.bsDateValue) {\n this.hightlightToday(this.activeDate);\n }\n this.addDatepickerKeyboardEvents(this, true);\n adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n }\n\n /**\n * This is an internal method to update the model\n */\n public onModelUpdate(newVal, type?) {\n\n if (type === 'date') {\n this.invalidDateTimeFormat = false;\n if (getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this) === this.displayValue) {\n $(this.nativeElement).find('.display-input').val(this.displayValue);\n }\n }\n // min date and max date validation in web.\n // if invalid dates are entered, device is showing validation message.\n this.minDateMaxDateValidationOnInput(newVal);\n if (!newVal) {\n // Set timevalue as 00:00:00 if we remove any one from hours/minutes/seconds field in timepicker after selecting date\n if (this.bsDateValue && this.bsTimePicker && (this.bsTimePicker.hours === '' || this.bsTimePicker.minutes === '' || this.bsTimePicker.seconds === '')) {\n this.bsDateValue = this.bsTimeValue = this.proxyModel = moment(this.bsDateValue).startOf('day').toDate();\n } else {\n this.bsDateValue = this.bsTimeValue = this.proxyModel = undefined;\n }\n // When the datavalue is manually cleared, both newval and datavalue are undefined but prevDataValue exists - trigger change cb\n if (newVal !== this.datavalue || (!this.datavalue && (this as any).prevDatavalue)) {\n this._debouncedOnChange(this.datavalue, {}, true);\n }\n return;\n }\n if (type === 'date') {\n if (this.isDateOpen) {\n this.toggleTimePicker(true);\n }\n }\n this.proxyModel = newVal;\n if (this.proxyModel) {\n this.bsDateValue = this.bsTimeValue = newVal;\n }\n this._debouncedOnChange(this.datavalue, {}, true);\n this.cdRef.detectChanges();\n\n // Update timepicker with formatted time, when timezone is provided.\n const timePickerFields = $('.bs-timepicker-field');\n if (this.timeZone && (this as any).key === 'datetimestamp' && timePickerFields.length) {\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.getTimePattern(), this.timeZone, (this as any).key, null, this);\n this.updateTimepickerFields(formattedDate, timePickerFields);\n }\n }\n\n // deduces the timepattern from datepattern set in the studio\n private getTimePattern() {\n let timepattern;\n const timePatternStartIndex = this.datepattern.toLowerCase().indexOf('h');\n let timePatternEndIndex = this.datepattern.toLowerCase().indexOf(':ss');\n if (timePatternEndIndex > -1) {\n // adding the index to +3 to incluse :ss\n timePatternEndIndex += 3;\n } else {\n timePatternEndIndex = this.datepattern.toLowerCase().indexOf(':mm');\n // adding the index to +3 to incluse :mm\n if (timePatternEndIndex > -1) {\n timePatternEndIndex += 3;\n }\n }\n const hasMeridian = this.datepattern.toLowerCase().indexOf('a');\n timepattern = this.datepattern.substr(timePatternStartIndex, timePatternEndIndex);\n if (hasMeridian > -1)\n timepattern += ' a';\n return timepattern;\n }\n\n private updateTimepickerFields(date, timePickerFields) {\n const meridianField = $('timepicker button.text-center');\n const formattedArr = date.split(' ');\n const formattedTime = formattedArr[0].split(':');\n for (let i=0; i<timePickerFields.length; i++) {\n timePickerFields[i].value = formattedTime[i]\n }\n if (meridianField?.html()?.trim() !== formattedArr[1]) {\n meridianField.text(formattedArr[1]);\n }\n }\n\n /**\n * This is an internal method used to Prevent time picker close while changing time value\n */\n private preventTpClose($event) {\n $event.stopImmediatePropagation();\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the date widget\n */\n public toggleDpDropdown($event, skipFocus: boolean = false) {\n if (this.loadNativeDateInput) {\n //Fixes click event getting triggred twice in Mobile devices.\n if(!skipFocus){\n this.onDateTimeInputFocus();\n }\n return;\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n //this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n $event.stopPropagation();\n return;\n }\n this.bsDatePickerDirective.toggle();\n this.addBodyClickListener(this.bsDatePickerDirective.isOpen);\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const bsDateContainerElement = bodyElement.querySelector(`.${this.dateContainerCls}`);\n this.deregisterDatepickerEventListener = addEventListenerOnElement(bodyElement, bsDateContainerElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.bsDatePickerDirective.hide();\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n public hideDatepickerDropdown() {\n this.isDateOpen = false;\n this.focusTrap?.deactivate();\n this.invokeOnTouched();\n this.bsDatePickerDirective.hide();\n\n // To open the timepicker menu when user wants to update time without changing the date.\n if(this.bsDateValue) {\n this.toggleTimePicker(true);\n }\n this.isEnterPressedOnDateInput = false;\n if (this.deregisterDatepickerEventListener) {\n this.deregisterDatepickerEventListener();\n }\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: this.displayValue, nativeEl: parentEl});\n }\n this.blurDateInput(this.isDateOpen);\n }\n\n public onDateChange($event, isNativePicker?: boolean) {\n if (this.isEnterPressedOnDateInput) {\n this.isEnterPressedOnDateInput = false;\n return;\n }\n let newVal = $event.target.value.trim();\n newVal = newVal ? getNativeDateObject(newVal, {pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians, isNativePicker: this.loadNativeDateInput}) : undefined;\n // datetime pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value, isNativePicker)) {\n return;\n }\n // min date and max date validation in mobile view.\n // if invalid dates are entered, device is showing an alert.\n if (isNativePicker && this.minDateMaxDateValidationOnInput(newVal, $event, this.displayValue, isNativePicker)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.onModelUpdate(newVal);\n }\n\n /**\n * This is an internal method triggered when pressing key on the datetime input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n let newVal = event.target.value.trim();\n if (event.key === 'Enter' || event.key === 'ArrowDown') {\n newVal = newVal ? getNativeDateObject(newVal, {pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians}) : undefined;\n event.preventDefault();\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this);\n const inputVal = event.target.value.trim();\n if (inputVal && this.datepattern === 'timestamp') {\n if (!_.isNaN(inputVal) && _.parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n }\n } else if (inputVal && inputVal !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n } else {\n this.invalidDateTimeFormat = false;\n this.isEnterPressedOnDateInput = true;\n this.bsDatePickerDirective.bsValue = newVal;\n }\n this.toggleDpDropdown(event);\n } else {\n this.hideDatepickerDropdown();\n this.hideTimepickerDropdown();\n }\n } else {\n this.hideDatepickerDropdown();\n this.hideTimepickerDropdown();\n }\n }\n\n private isValid(event) {\n if (!event) {\n const enteredDate = $(this.nativeElement).find('input').val();\n const newVal = getNativeDateObject(enteredDate, {pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians, isNativePicker: this.loadNativeDateInput});\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n }\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 (!_.includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n onInputBlur($event) {\n if (!$($event.relatedTarget).hasClass('current-date')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n}\n","import { FormWidgetType, isMobileApp } from '@wm/core';\n\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const timeProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', {value: 'default', ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['hourstep', {value: 1, ...PROP_NUMBER}],\n ['maxtime', PROP_STRING],\n ['mintime', PROP_STRING],\n ['minutestep', {value: 15, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['outputformat', {value: 'HH:mm:ss', ...PROP_STRING}],\n ['placeholder', {value: 'Select time', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showdropdownon', {value: 'default', ...PROP_STRING}],\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['secondsstep', {value: 1, ...PROP_NUMBER}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['timepattern', PROP_STRING],\n ['timestamp', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-time',\n timeProps\n );\n registerFormWidget(\n FormWidgetType.TIME,\n new Map(timeProps)\n );\n};\n"," <div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input class=\"form-control app-textbox display-input\" [attr.aria-label]=\"hint\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"></timepicker>\n </div>\n </div>\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : hint || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n</ng-template>\n","import {Component, Inject, Injector, NgZone, OnDestroy, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\nimport { TimepickerConfig } from 'ngx-bootstrap/timepicker';\nimport {\n $appDigest,\n AbstractI18nService,\n addClass,\n addEventListenerOnElement,\n adjustContainerPosition,\n App,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getNativeDateObject,\n getMomentLocaleObject\n} from '@wm/core';\nimport { provideAsWidgetRef, provideAs, styler } from '@wm/components/base';\n\nimport {BaseDateTimeComponent, getTimepickerConfig} from './../base-date-time.component';\nimport { registerProps } from './time.props';\n\nconst CURRENT_TIME = 'CURRENT_TIME';\nconst DEFAULT_CLS = 'input-group app-timeinput';\nconst WIDGET_CONFIG = {widgetType: 'wm-time', hostClass: DEFAULT_CLS};\n\ndeclare const _, moment, $;\n\n@Component({\n selector: '[wmTime]',\n templateUrl: './time.component.html',\n providers: [\n provideAs(TimeComponent, NG_VALUE_ACCESSOR, true),\n provideAs(TimeComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(TimeComponent),\n { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }\n ]\n})\nexport class TimeComponent extends BaseDateTimeComponent implements OnDestroy {\n static initializeProps = registerProps();\n /**\n * This property sets the display pattern of the time selected\n */\n timepattern: string;\n\n /**\n * This property sets the output format for the selected time datavalue\n */\n outputformat: string;\n\n public showdropdownon: string;\n public mintime;\n public maxtime;\n public hint: string;\n\n private deregisterEventListener;\n private app: App;\n private displayInputElem: HTMLElement;\n\n get timestamp() {\n return this.bsTimeValue ? this.bsTimeValue.valueOf() : undefined;\n }\n\n // @ts-ignore\n get datavalue(): any {\n if (this.isCurrentTime && !this.bsTimeValue) {\n return CURRENT_TIME;\n }\n return getFormattedDate(this.datePipe, this.bsTimeValue, this.outputformat, this.timeZone, null, null, this) || '';\n }\n\n /**Todo[Shubham]: needs to be redefined\n * This property sets the default value for the time selection\n */\n // @ts-ignore\n set datavalue(newVal: any) {\n if (newVal) {\n if (newVal === CURRENT_TIME) {\n this.isCurrentTime = true;\n this.setTimeInterval();\n } else {\n this.clearTimeInterval();\n this.bsTimeValue = getNativeDateObject(newVal, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput});\n this.isCurrentTime = false;\n this.mintimeMaxtimeValidation();\n }\n } else {\n this.bsTimeValue = undefined;\n this.clearTimeInterval();\n this.isCurrentTime = false;\n }\n this.invokeOnChange(this.datavalue);\n $appDigest();\n }\n\n get displayValue() {\n return getFormattedDate(this.datePipe, this.bsTimeValue, this.timepattern, this.timeZone, null, null, this) || '';\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.bsTimeValue, 'HH:mm:ss', this.timeZone, null, null, this) || '';\n }\n\n /* Internal property to have a flag to check the given datavalue is of Current time*/\n public isCurrentTime: boolean;\n\n private timeinterval: any;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private minTime: Date;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private maxTime: Date;\n\n /**\n * This is an internal property used to toggle the timepicker dropdown\n */\n public status = { isopen: false };\n\n /**\n * This is an internal property used to map the main model to the time widget\n */\n private bsTimeValue: Date;\n\n constructor(\n inj: Injector,\n private ngZone: NgZone,\n private appDefaults: AppDefaults,\n app: App\n ) {\n super(inj, WIDGET_CONFIG);\n\n styler(this.nativeElement, this);\n /**\n * Destroy the timer once the date widget is gone\n */\n this.registerDestroyListener(() => this.clearTimeInterval());\n\n this.timepattern = this.appDefaults.timeFormat || getDisplayDateTimeFormat(FormWidgetType.TIME);\n this.updateFormat('timepattern');\n this.app = app;\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'timepattern') {\n this.updateFormat('timepattern');\n }\n if (key === 'mintime') {\n this.minTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput }); // TODO it is supposed to be time conversion, not to the day\n this.mintimeMaxtimeValidation();\n } else if (key === 'maxtime') {\n this.maxTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.mintimeMaxtimeValidation();\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n setValidateType(min, max, val) {\n if (this.timeNotInRange) {\n if (val < min) {\n (this as any).validateType = 'mintime';\n } else if (val > max) {\n (this as any).validateType = 'maxtime';\n }\n }\n }\n\n /**\n * This is an internal method used to validate mintime and maxtime\n */\n private mintimeMaxtimeValidation() {\n this.timeNotInRange = this.minTime && this.maxTime && (this.bsTimeValue < this.minTime || this.bsTimeValue > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, this.bsTimeValue);\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the time widget\n */\n public toggleDropdown($event, skipFocus: boolean = false): void {\n if (this.loadNativeDateInput) {\n //Fixes click event getting triggred twice in Mobile devices.\n if(!skipFocus){\n this.onDateTimeInputFocus();\n }\n return;\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', {$event: $event});\n //this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n return;\n }\n this.ngZone.run(() => {\n this.status.isopen = !this.status.isopen;\n });\n this.addBodyClickListener(this.status.isopen);\n }\n\n /**\n * This is an internal method used to Prevent time picker close while changing time value\n */\n private preventTpClose($event) {\n $event.stopImmediatePropagation();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: this.displayValue, nativeEl: parentEl});\n }\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const dropdownElement = $(bodyElement).find('>bs-dropdown-container .dropdown-menu').get(0);\n this.deregisterEventListener = addEventListenerOnElement(bodyElement, dropdownElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.status.isopen = false;\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This is an internal method triggered when pressing key on the time input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n if (event.key === 'Enter' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.toggleDropdown(event);\n } else {\n this.hideTimepickerDropdown();\n }\n } else {\n this.hideTimepickerDropdown();\n }\n }\n\n /**\n * This is an internal method triggered when the time input changes\n */\n onDisplayTimeChange($event) {\n const newVal = getNativeDateObject($event.target.value, {meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n // time pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.onTimeChange(newVal);\n }\n\n onInputBlur($event) {\n if (!$($event.relatedTarget).hasClass('bs-timepicker-field')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', {$event});\n }\n }\n\n /**\n * This is an internal method used to execute the on time change functionality\n */\n private onTimeChange(newVal, isNativePicker?: boolean) {\n let timeValue,\n timeInputValue,\n minTimeMeridian,\n maxTimeMeridian;\n // For nativePicker, newVal is event, get the dateobject from the event.\n if (isNativePicker) {\n newVal = getNativeDateObject(newVal.target.value, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n }\n if (newVal) {\n this.bsTimeValue = newVal;\n // if the newVal is valid but not in the given range then highlight the input field\n this.timeNotInRange = this.minTime && this.maxTime && (newVal < this.minTime || newVal > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, newVal);\n } else {\n // sometimes library is not returning the correct value when the min and max time are given, displaying the datavalue based on the value given by the user\n if (this.bsTimePicker && this.bsTimePicker.min && this.bsTimePicker.max) {\n minTimeMeridian = moment(new Date(this.bsTimePicker.min)).format('A');\n maxTimeMeridian = moment(new Date(this.bsTimePicker.max)).format('A');\n timeValue = this.bsTimePicker.hours + ':' + (this.bsTimePicker.minutes || 0) + ':' + (this.bsTimePicker.seconds || 0) + (this.bsTimePicker.showMeridian ? (' ' + minTimeMeridian) : '');\n timeInputValue = getNativeDateObject(timeValue, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.bsTimePicker.meridian = minTimeMeridian;\n this.timeNotInRange = (this.bsTimePicker.min > timeInputValue || this.bsTimePicker.max < timeInputValue);\n this.setValidateType(this.bsTimePicker.min, this.bsTimePicker.max, timeInputValue);\n }\n this.bsTimeValue = timeInputValue;\n }\n this.invokeOnTouched();\n this.invokeOnChange(this.datavalue, {}, true);\n }\n\n /**\n * This is an internal method used to maintain a time interval to update the time model when the data value is set to CURRENT_TIME\n */\n private setTimeInterval() {\n if (this.timeinterval) {\n return;\n }\n this.timeinterval = setInterval( () => {\n const now = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n now.setSeconds(now.getSeconds() + 1);\n this.datavalue = CURRENT_TIME;\n this.onTimeChange(now);\n }, 1000);\n }\n\n /**\n * This is an internal method used to clear the time interval created\n */\n private clearTimeInterval() {\n if (this.timeinterval) {\n clearInterval(this.timeinterval);\n this.timeinterval = null;\n }\n }\n\n /**\n * This function sets the value isOpen/isTimeOpen (i.e when datepicker popup is closed) based on widget type(i.e DateTime, Time)\n * @param val - isOpen/isTimeOpen is set based on the timepicker popup is open/closed\n */\n private setIsTimeOpen(val: boolean) {\n this.status.isopen = val;\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', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, eventCallback, locals);\n }\n }\n\n public hideTimepickerDropdown() {\n this.invokeOnTouched();\n this.status.isopen = false;\n if (this.deregisterEventListener) {\n this.deregisterEventListener();\n }\n this.removeKeyupListener();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: this.displayValue, nativeEl: parentEl});\n }\n this.blurDateInput(true);\n }\n\n private isValid(event) {\n if (!event) {\n const enteredDate = $(this.nativeElement).find('input').val();\n const newVal = getNativeDateObject(enteredDate, {meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n }\n }\n /**\n * This is an internal method to add css class for dropdown while opening the time dropdown\n */\n public onShown() {\n const tpElements = document.querySelectorAll('timepicker');\n _.forEach(tpElements, element => {\n addClass(element.parentElement as HTMLElement, 'app-datetime', true);\n });\n this.focusTimePickerPopover(this);\n this.bindTimePickerKeyboardEvents();\n adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n }\n\n public assignModel() {\n if (!this.displayInputElem) {\n this.displayInputElem = this.getMobileInput();\n }\n (this.displayInputElem as any).value = _.get(this, 'nativeDisplayValue');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { DateComponent } from './date/date.component';\nimport { DateTimePickerComponent, TimePickerComponent } from './date-time/date-time-picker.component';\nimport { DatetimeComponent } from './date-time/date-time.component';\nimport { TimeComponent } from './time/time.component';\nimport { PickerComponent, PickerGroupComponent } from './picker/picker.component';\nimport { IMaskModule } from 'angular-imask';\n\n\nconst components = [\n DateComponent,\n DatetimeComponent,\n TimeComponent,\n DateTimePickerComponent,\n TimePickerComponent,\n PickerComponent,\n PickerGroupComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n BsDatepickerModule,\n BsDropdownModule,\n FormsModule,\n TimepickerModule,\n WmComponentsModule,\n IMaskModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class EpochModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_c0","CURRENT_DATE","registerProps","DEFAULT_CLS","WIDGET_CONFIG","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/epoch/src/picker/picker.component.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time-picker.component.ts","../../../../../projects/components/widgets/input/epoch/src/base-date-time.component.ts","../../../../../projects/components/widgets/input/epoch/src/date/date.props.ts","../../../../../projects/components/widgets/input/epoch/src/date/imaskUtil.ts","../../../../../projects/components/widgets/input/epoch/src/date/date.component.html","../../../../../projects/components/widgets/input/epoch/src/date/date.component.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.props.ts","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.component.html","../../../../../projects/components/widgets/input/epoch/src/date-time/date-time.component.ts","../../../../../projects/components/widgets/input/epoch/src/time/time.props.ts","../../../../../projects/components/widgets/input/epoch/src/time/time.component.html","../../../../../projects/components/widgets/input/epoch/src/time/time.component.ts","../../../../../projects/components/widgets/input/epoch/src/epoch.module.ts","../../../../../projects/components/widgets/input/epoch/src/index.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Inject, Injector, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\n\ndeclare const $;\n\n@Component({\n selector: 'wm-pickergroup',\n template: `\n <div class=\"app-picker-group\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class PickerGroupComponent {\n\n}\n\n@Component({\n selector: 'wm-picker',\n template: `\n <div class=\"app-picker\">\n <div class=\"app-picker-option-container\">\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div *ngFor=\"let option of options; index as i;\" class=\"app-picker-option\">\n {{option.label}}\n </div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n </div>\n <div class=\"app-picker-ruler\"></div>\n </div>\n `\n})\nexport class PickerComponent implements AfterViewInit {\n\n public $el;\n\n private pickerAnimator;\n\n @Output() change = new EventEmitter<{\n label: string,\n value?: any\n }>();\n\n private _selectedIndex = 0;\n\n private _selectedValue: any;\n\n private _options: Array<{label: string, value?: any}> = [];\n\n noOfEmptyElements = 2;\n\n constructor(protected inj: Injector) {\n this.$el = $(inj.get(ElementRef).nativeElement);\n }\n\n @Input()\n set selectedValue(s: string) {\n this._selectedValue = s;\n this.reRender();\n }\n\n get selectedValue() {\n return this._selectedValue;\n }\n\n @Input()\n set options(opts: Array<{label: string, value?: any}>) {\n this._options = opts.map(o => ({\n label: o.label,\n value: o.value !== undefined ? o.value : o.label\n }));\n this.reRender();\n }\n\n get options() {\n return this._options;\n }\n\n reRender() {\n this._selectedIndex = this.options.findIndex(o => o.value === this.selectedValue);\n this.pickerAnimator?.select(this._selectedIndex + this.noOfEmptyElements);\n }\n\n set selectedIndex(i: number) {\n this._selectedIndex = i;\n this._selectedValue = this.options[i].value;\n this.change.emit(this.options[i]);\n }\n\n get selectedIndex() {\n return this._selectedIndex;\n }\n\n ngAfterViewInit(): void {\n this.pickerAnimator = new PickerAnimator(this);\n }\n\n}\n\nclass PickerAnimator {\n\n constructor(private picker: PickerComponent) {\n let lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n const computeIndex = (d: number) => lastSelectedIndex + Math.floor(d / 16);\n this.select(lastSelectedIndex);\n this.getElement().swipey({\n 'direction': $.fn.swipey.DIRECTIONS.VERTICAL,\n 'threshold': 10,\n 'target': picker.$el,\n 'onSwipe': (e, data) => {\n this.select(computeIndex(-1 * data.length));\n },\n 'onSwipeEnd': (e, data) => {\n const nextSelectedIndex = computeIndex(-1 * data.length);\n this.select(nextSelectedIndex);\n lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n }\n });\n }\n\n getElement() {\n return this.picker.$el.find('.app-picker-option-container:first');\n }\n\n getOptionElements() {\n return this.getElement().find('.app-picker-option');\n }\n\n select(selectedIndex: number) {\n const options = this.getOptionElements();\n if (selectedIndex < this.picker.noOfEmptyElements\n || selectedIndex >= options.length - this.picker.noOfEmptyElements) {\n return;\n }\n this.getElement()\n .find('.app-picker-option.app-picker-option-selected')\n .removeClass('app-picker-option-selected');\n options.eq(selectedIndex).addClass('app-picker-option-selected');\n this.picker.selectedIndex = selectedIndex - this.picker.noOfEmptyElements;\n const minIndex = selectedIndex - this.picker.noOfEmptyElements;\n const maxIndex = selectedIndex + this.picker.noOfEmptyElements;\n options.each((i, e) => {\n if (i >= minIndex && i <= maxIndex) {\n const rotation = (i - selectedIndex) * 30;\n const opacity = 1 - Math.abs(i - selectedIndex) * 0.3;\n $(e).css({\n transform : 'perspective(500px) rotateX(' + rotation + 'deg)',\n opacity: opacity\n }).show();\n } else {\n $(e).hide();\n }\n });\n }\n}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Inject, Injector, Input, NgZone, OnDestroy, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { App } from '@wm/core';\nimport {filter} from \"lodash-es\";\n\ndeclare const $;\ndeclare const moment;\n\n@Component({\n selector: 'wm-datetimepicker',\n template: `\n <ng-template #datetimepickerTemplate>\n <div class=\"app-datetime-picker\">\n <div class=\"modal-body\">\n <div class=\"mobile-datetime-picker-options\">\n\n </div>\n <bs-datepicker-inline\n [bsConfig]=\"bsDatepickerConfig\"\n [datesDisabled]=\"excludedDatesToDisable\"\n bsDatepicker\n [bsValue]=\"changedValue\"\n (bsValueChange)=\"onDateUpdate($event)\"\n *ngIf=\"mode === 'DATE_TIME' || mode === 'DATE'\">\n </bs-datepicker-inline>\n <wm-timepicker\n [value]=\"changedValue\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n (change)=\"onTimeUpdate($event)\"\n *ngIf=\"mode === 'DATE_TIME' || mode === 'TIME'\"></wm-timepicker>\n <span class=\"text-primary date-picker-value\">\n {{getDateLabel()}}\n </span>\n </div>\n <div class=\"modal-footer\">\n <button\n *ngIf=\"mode === 'DATE_TIME' || mode === 'DATE'\"\n class=\"btn btn-secondary today-btn\"\n (click)=\"setToday()\">{{appLocale.LABEL_TODAY_DATE || \"Today\" }}</button>\n <button\n class=\"btn btn-primary pull-right ok-btn\"\n *ngIf=\"mode === 'DATE_TIME' || mode === 'TIME'\"\n (click)=\"onOkClick()\">{{appLocale.LABEL_OK || \"Ok\" }}</button>\n <button\n class=\"btn btn-secondary pull-right clear-btn\"\n (click)=\"clear()\">{{appLocale.LABEL_CLEAR_DATE || \"Clear\" }}</button>\n </div>\n </div>\n </ng-template>\n `\n})\nexport class DateTimePickerComponent implements AfterViewInit, OnDestroy {\n\n private isDateOpen = true;\n\n private isTimeOpen = false;\n\n private appLocale: any;\n\n @ViewChild('datetimepickerTemplate' , { static: true }) datetimepickerTemplate: TemplateRef<any>;\n\n @Input()\n private mode: 'DATE' | 'TIME' | 'DATE_TIME' = 'DATE_TIME';\n\n @Input()\n private placement: 'MODAL' | 'INLINE' = 'MODAL';\n\n @Input(\"config\")\n private _bsDatepickerConfig: BsDatepickerConfig;\n\n @Input()\n private minTime: Date;\n\n @Input()\n private maxTime: Date;\n\n @Input()\n private _displayFormat: string;\n\n @Output() change = new EventEmitter<Date>();\n\n private _value = new Date();\n\n private changedValue = null;\n\n private modalRef: BsModalRef;\n\n @Input()\n private excludedDatesToDisable;\n\n constructor(\n protected inj: Injector,\n private bsModalService: BsModalService) {\n this.appLocale = inj.get(App).appLocale || {};\n }\n\n @Input()\n set value(d: Date) {\n d = d || new Date();\n this._value = d;\n this.changedValue = d;\n }\n\n\n @Input(\"config\")\n set bsDatepickerConfig(config: BsDatepickerConfig) {\n this._bsDatepickerConfig = config;\n this._bsDatepickerConfig.showClearButton = false;\n this._bsDatepickerConfig.showTodayButton = false;\n }\n\n @Input()\n set excludedDaysToDisable(v: number[]) {\n this._bsDatepickerConfig.daysDisabled = v;\n }\n\n get bsDatepickerConfig() {\n return this._bsDatepickerConfig;\n }\n\n @Input()\n set displayFormat(format: string) {\n if (format) {\n this._displayFormat = format.replace(/y/g, \"Y\").replace(/d/g, \"D\").replace(\"a\", \"A\");\n }\n }\n\n validateSelectedDate() {\n if (!this.changedValue) {\n return true;\n }\n const cd = moment(this.changedValue);\n const minDate = this._bsDatepickerConfig?.minDate;\n const maxDate = this._bsDatepickerConfig?.maxDate;\n if (minDate\n && ((this.mode === 'DATE'\n && moment(minDate).startOf('day').toDate() > this.changedValue)\n || (this.mode !== 'DATE'\n && minDate > this.changedValue))) {\n return false;\n }\n if (maxDate\n && ((this.mode === 'DATE'\n && moment(maxDate).endOf('day').toDate() < this.changedValue)\n || (this.mode !== 'DATE'\n && maxDate < this.changedValue))) {\n return false;\n }\n if (this._bsDatepickerConfig?.daysDisabled?.indexOf(cd.day()) >= 0) {\n return false;\n }\n const cdSt = cd.startOf('day').toDate().getTime();\n if (this.excludedDatesToDisable?.find(d => d.getTime() === cdSt)) {\n return false;\n }\n return true;\n }\n\n get displayFormat() {\n if (this._displayFormat) {\n return this._displayFormat;\n }\n }\n /**\n * This method is used to highlight the current date\n */\n private hightlightToday() {\n const toDay = new Date().getDate().toString();\n filter($(`body > modal-container .date-picker-modal span:contains(${toDay})`)\n .not('.is-other-month,.current-date'), (obj) => {\n if ($(obj).text() === toDay) {\n $(obj).addClass('current-date text-info');\n }\n });\n }\n\n private hideOnClick() {\n $('body>modal-container .date-picker-modal .app-datetime-picker')\n .click(($event) => $event.stopPropagation());\n $('body>modal-container .date-picker-modal').click(() => this.onCancelClick());\n }\n\n getDateLabel() {\n return moment(this.changedValue).format(this.displayFormat);\n }\n\n openDatePicker() {\n this.isTimeOpen = false;\n this.isDateOpen = true;\n }\n\n openTimePicker() {\n this.isTimeOpen = true;\n this.isDateOpen = false;\n }\n\n public onDateUpdate(newVal) {\n const oldVal = this.changedValue;\n if (this.mode === 'DATE') {\n newVal.setHours(0);\n newVal.setMinutes(0);\n newVal.setSeconds(0);\n newVal.setMilliseconds(0);\n } else if (oldVal && newVal) {\n newVal.setHours(oldVal.getHours());\n newVal.setMinutes(oldVal.getMinutes());\n newVal.setSeconds(oldVal.getSeconds());\n newVal.setMilliseconds(oldVal.getMilliseconds());\n }\n this.changedValue = newVal;\n if (this.mode === 'DATE'\n && oldVal !== newVal\n && this.validateSelectedDate()) {\n this.onOkClick();\n }\n }\n\n public onTimeUpdate(newVal) {\n this.changedValue = newVal;\n }\n\n show() {\n this.reset();\n this.modalRef = this.bsModalService.show(this.datetimepickerTemplate, {\n animated: true,\n backdrop: 'static',\n class: 'date-picker-modal modal-dialog-centered'\n });\n setTimeout(() => { this.hideOnClick()}, 500);\n }\n\n clear() {\n this.changedValue = null;\n this.triggerChange();\n this.hideModal();\n }\n\n setToday() {\n const today = moment().startOf('day').toDate();\n this.onDateUpdate(today);\n }\n\n reset() {\n this.changedValue = this._value;\n }\n\n hideModal() {\n if (this.modalRef?.id) {\n this.bsModalService.hide(this.modalRef.id);\n }\n }\n\n onCancelClick() {\n this.changedValue = this._value;\n this.hideModal();\n }\n\n onOkClick() {\n if (this.validateSelectedDate()) {\n this.triggerChange();\n }\n this.hideModal();\n }\n\n triggerChange() {\n if (this.value !== this.changedValue) {\n this.change.emit(this.changedValue);\n }\n }\n\n ngAfterViewInit(): void {\n\n }\n\n ngOnDestroy(): void {\n this.hideModal();\n }\n\n}\n\n\n@Component({\n selector: 'wm-timepicker',\n template: `\n <wm-pickergroup>\n <wm-picker\n [options]=\"options.hour\"\n [selectedValue]=\"hour\"\n (change)=\"set($event, 'HOUR')\"></wm-picker>\n <span class=\"app-time-separator\">:</span>\n <wm-picker\n [options]=\"options.minute\"\n [selectedValue]=\"minute\"\n (change)=\"set($event, 'MINUTE')\"></wm-picker>\n <span class=\"app-time-separator\">:</span>\n <wm-picker\n [options]=\"options.minute\"\n [selectedValue]=\"second\"\n (change)=\"set($event, 'SECOND')\"></wm-picker>\n </wm-pickergroup>\n `\n})\nexport class TimePickerComponent implements AfterViewInit {\n\n options = {\n hour: [],\n minute: [],\n second: [],\n meridian: ['AM', 'PM']\n };\n\n @Input()\n private value = new Date();\n\n @Input()\n private min: Date = null;\n\n @Input()\n private max: Date = null;\n\n @Output() change = new EventEmitter<Date>();\n\n constructor(\n protected inj: Injector) {\n this.options.hour = this.populateNumbers(0, 23);\n this.options.minute = this.populateNumbers(0, 59);\n this.options.second = this.populateNumbers(0, 59);\n }\n\n private populateNumbers(start: number, to: number) {\n const arr = [];\n for(let i = start; i <= to; i++) {\n arr.push({\n label: (i < 10 ? '0' : '') + i,\n value: i\n })\n }\n return arr;\n }\n\n set({index, value}, unit: 'HOUR' | 'MINUTE' | 'SECOND' | 'MERIDIAN') {\n if (unit === 'HOUR') {\n this.value = moment(this.value).hour(parseInt(value)).toDate();\n } else if (unit === 'MINUTE') {\n this.value = moment(this.value).minute(parseInt(value)).toDate();\n } else if (unit === 'SECOND') {\n this.value = moment(this.value).second(parseInt(value)).toDate();\n } else if (unit === 'MERIDIAN') {\n this.value = moment(this.value).minute(value).toDate();\n }\n if (this.min && this.value < this.min) {\n this.value = this.min;\n }\n if (this.max && this.value > this.max) {\n this.value = this.max;\n }\n this.change.emit(this.value);\n }\n\n get hour() {\n return moment(this.value).hour();\n }\n\n get minute() {\n return moment(this.value).minute();\n }\n\n get second() {\n return moment(this.value).second();\n }\n\n get meridian() {\n return 'AM';\n }\n\n public onDateUpdate(newVal) {\n debugger;\n }\n\n ngAfterViewInit(): void {\n\n }\n\n}\n","import {AfterViewInit, Directive, Inject, Injector, OnDestroy, Optional, ViewChild} from '@angular/core';\nimport {AbstractControl, Validator} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\nimport {BsDropdownDirective} from 'ngx-bootstrap/dropdown';\nimport {TimepickerComponent, TimepickerConfig} from 'ngx-bootstrap/timepicker';\nimport {\n AbstractI18nService,\n getDateObj,\n getFormattedDate,\n getNativeDateObject,\n hasCordova,\n isIos,\n isMobile,\n setAttr\n} from '@wm/core';\n\nimport {getContainerTargetClass, ToDatePipe} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input';\nimport {BsDatepickerConfig, BsDatepickerDirective} from 'ngx-bootstrap/datepicker';\nimport {DateTimePickerComponent} from './date-time//date-time-picker.component';\nimport {filter, forEach, get, includes, isNaN as _isNaN, isString, isUndefined, parseInt, split} from \"lodash-es\";\n\ndeclare const $;\ndeclare const moment;\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\nconst DATEPICKER_DROPDOWN_OPTIONS = {\n BUTTON: 'button',\n DEFAULT: 'default'\n};\nconst DATAENTRYMODE_DROPDOWN_OPTIONS = {\n PICKER: 'picker',\n DEFAULT: 'default'\n};\n\n// Providing meridians to the timepicker baesd on selected locale\nexport function getTimepickerConfig(i18nService): TimepickerConfig {\n return Object.assign(new TimepickerConfig(), {\n meridians: getLocaleDayPeriods(i18nService.getSelectedLocale(), FormStyle.Format, TranslationWidth.Abbreviated)\n });\n}\n\n@Directive()\nexport abstract class BaseDateTimeComponent extends BaseFormCustomComponent implements AfterViewInit, OnDestroy, Validator {\n public required: boolean;\n public disabled: boolean;\n public tabindex: any;\n public name: string;\n public autofocus: boolean;\n public readonly: boolean;\n public placeholder: string;\n public shortcutkey: string;\n public _triggeredByUser: boolean;\n\n public excludedays: string;\n public excludedDaysToDisable: Array<number>;\n public excludedDatesToDisable: Array<Date>;\n public excludedates;\n public outputformat;\n public mindate;\n public maxdate;\n public dataentrymode;\n protected activeDate;\n private elementScope;\n public datepattern;\n public timepattern;\n protected showseconds: boolean;\n protected ismeridian: boolean;\n protected meridians: any;\n protected datePipe;\n protected i18nService;\n public isReadOnly = false;\n protected selectedLocale: string;\n public selectfromothermonth: boolean;\n public todaybutton: boolean;\n public clearbutton: boolean;\n public removeKeyupListener;\n public loadNativeDateInput;\n public showcustompicker;\n public next;\n public prev;\n public clicked = false;\n\n protected dateNotInRange: boolean;\n protected timeNotInRange: boolean;\n protected invalidDateTimeFormat: boolean;\n\n private dateOnShowSubscription: Subscription;\n private cancelLocaleChangeSubscription;\n public get timeZone() { return this.inj.get(AbstractI18nService).getTimezone(this); }\n\n formatsByLocale = {'timezone': ''};\n\n /**\n * This is an internal property used to map the containerClass, showWeekNumbers etc., to the bsDatepicker\n */\n public _dateOptions: BsDatepickerConfig = new BsDatepickerConfig();\n protected bsDatePickerDirective: BsDatepickerDirective;\n\n @ViewChild(BsDropdownDirective) protected bsDropdown;\n @ViewChild(TimepickerComponent) protected bsTimePicker;\n @ViewChild(DateTimePickerComponent) datetimepickerComponent;\n private validateType: string;\n containerTarget: string;\n\n constructor(inj: Injector, WIDGET_CONFIG, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this.i18nService = this.inj.get(AbstractI18nService);\n this.invokeEventCallback('beforeload');\n\n this.datePipe = this.inj.get(ToDatePipe);\n this.selectedLocale = this.i18nService.getSelectedLocale();\n this._dateOptions.todayPosition = 'left';\n this._dateOptions.clearPosition = 'right';\n this.meridians = getLocaleDayPeriods(this.selectedLocale, FormStyle.Format, TranslationWidth.Abbreviated);\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n\n this.cancelLocaleChangeSubscription = this.getAppInstance().subscribe(\"locale-changed\", (locale) => {\n this.datePipe.datePipe.locale = locale.angular;\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage('LABEL_TODAY_DATE');\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage('LABEL_CLEAR_DATE');\n });\n }\n\n\n /**\n * returns true if the input value is default (i.e open date picker on input click)\n * @param1 dropdownvalue, user selected value (by default datepicker opens on input click)\n * **/\n protected isDropDownDisplayEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATEPICKER_DROPDOWN_OPTIONS.DEFAULT;\n }\n\n /**\n * returns true if the input value is default (i.e Data entry can be done either by selecting from the Date/DateTime/Time Picker or by entering manually using the keyboard. )\n * @param1 dropdownvalue, user selected value\n * **/\n protected isDataEntryModeEnabledOnInput(dropdownvalue) {\n return dropdownvalue === DATAENTRYMODE_DROPDOWN_OPTIONS.DEFAULT;\n }\n /**\n * This method is used to show validation message depending on the isNativePicker flag.\n */\n private showValidation($event, displayValue, isNativePicker, msg) {\n if (isNativePicker) {\n console.warn('min max date validation failed ', msg);\n return $($event.target).val(displayValue);\n }\n }\n\n resetDisplayInput() {\n $(this.nativeElement).find('.display-input').val('');\n }\n\n public validate(c: AbstractControl) {\n if (this.invalidDateTimeFormat) {\n return {\n invalidDateTimeFormat: {\n valid: false\n }\n };\n }\n if (!isUndefined(this.dateNotInRange) && this.dateNotInRange) {\n return {\n dateNotInRange: {\n valid: false\n },\n };\n }\n if (!isUndefined(this.timeNotInRange) && this.timeNotInRange) {\n return {\n timeNotInRange: {\n valid: false\n },\n };\n }\n /* WMS-18269 | Extending the existing validation for 'required' */\n if (this['show'] && this['required']) {\n return !!c.value ? null : { required: true };\n }\n this.validateType = '';\n return null;\n }\n\n /**\n * This method is used to validate date pattern and time pattern\n * If user selects one pattern in design time and if he tries to enter the date in another pattern then the device is throwing an error\n */\n protected formatValidation(newVal, inputVal, isNativePicker?: boolean) {\n const pattern = this.datepattern || this.timepattern;\n const timeZone = this.timeZone;\n const formattedDate = getFormattedDate(this.datePipe, newVal, pattern, timeZone, null, null, this);\n inputVal = inputVal.trim();\n if (inputVal) {\n if (pattern === 'timestamp') {\n if (!_isNaN(inputVal) && parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n } else {\n if (isNativePicker) {\n // format the date value only when inputVal is obtained from $event.target.value, as the format doesnt match.\n inputVal = getFormattedDate(this.datePipe, inputVal, pattern, timeZone);\n }\n if (inputVal !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.validateType = 'incorrectformat';\n this.invokeOnChange(this.datavalue, undefined, false);\n return false;\n }\n }\n\n }\n return true;\n }\n\n /**\n * This method is used to validate min date, max date, exclude dates and exclude days\n * In mobile if invalid dates are entered, device is showing an alert.\n * In web if invalid dates are entered, device is showing validation message.\n */\n protected minDateMaxDateValidationOnInput(newVal, $event?: Event, displayValue?: string, isNativePicker?: boolean) {\n if (newVal) {\n const dateTimeVal = newVal;\n newVal = moment(newVal).startOf('day').toDate();\n const minDate = moment(getDateObj(this.mindate)).startOf('day').toDate();\n const maxDate = moment(getDateObj(this.maxdate)).startOf('day').toDate();\n if (this.mindate && newVal < minDate) {\n const msg = `${this.appLocale.LABEL_MINDATE_VALIDATION_MESSAGE} ${this.mindate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, minDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'mindate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.maxdate && newVal > maxDate) {\n const msg = `${this.appLocale.LABEL_MAXDATE_VALIDATION_MESSAGE} ${this.maxdate}.`;\n this.invokeOnChange(this.datavalue, undefined, false);\n if (isNativePicker && getFormattedDate(this.datePipe, maxDate, this.datepattern, this.timeZone, null, null, this) === displayValue) {\n return $($event.target).val(displayValue);\n }\n this.dateNotInRange = true;\n this.validateType = 'maxdate';\n return this.showValidation($event, displayValue, isNativePicker, msg);\n }\n if (this.excludedates) {\n let excludeDatesArray;\n if (isString(this.excludedates)) {\n excludeDatesArray = split(this.excludedates, ',');\n } else {\n excludeDatesArray = this.excludedates;\n }\n excludeDatesArray = excludeDatesArray.map(d => getFormattedDate(this.datePipe, d, this.datepattern, this.timeZone, null, null, this));\n if (excludeDatesArray.indexOf(getFormattedDate(this.datePipe, dateTimeVal, this.datepattern, this.timeZone, null, null, this)) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedates';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n if (this.excludedays) {\n const excludeDaysArray = split(this.excludedays, ',');\n const day = get(dateTimeVal, 'getDay') ? dateTimeVal.getDay() : dateTimeVal;\n if (excludeDaysArray.indexOf(day.toString()) > -1) {\n this.dateNotInRange = true;\n this.validateType = 'excludedays';\n this.invokeOnChange(this.datavalue, undefined, false);\n return;\n }\n }\n }\n\n if (!isNativePicker) {\n this.dateNotInRange = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n }\n\n /**\n * This method is used to highlight the current date\n */\n protected hightlightToday(newDate) {\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const month = new Date(newDate).toLocaleString('default', { month: 'long' });\n const year = newDate.getFullYear().toString();\n\n if(activeMonth == month && activeYear == new Date().getFullYear() && newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n const toDay = new Date().getDate().toString();\n filter($(`span:contains(${toDay})`).not('.is-other-month'), (obj) => {\n if ($(obj).text() === toDay) {\n $(obj).addClass('current-date text-info');\n }\n });\n }\n }\n\n /**\n * This method is used to find the new date is from another year or not\n * @param newDate - newly selected date value\n */\n private isOtheryear(newDate) {\n return (newDate.getMonth() === 0 && this.activeDate.getMonth() === 11) || (newDate.getMonth() === 11 && this.activeDate.getMonth() === 0);\n }\n\n public showDatePickerModal(bsDataval) {\n bsDataval ? this.activeDate = bsDataval : this.activeDate = new Date();\n this.setNextData(this.activeDate);\n this.datetimepickerComponent.show();\n setTimeout(() => {\n this.addDatepickerMouseEvents();\n this.setActiveDateFocus(this.activeDate, true);\n }, 500);\n return ;\n }\n\n /**\n * This method is used to load other month days or other month or other year\n * @param btnClass - class(previous/next) of the button which we have to click\n * @param timePeriod - String value decides to load other month days or other month or other year\n */\n private goToOtherMonthOryear(btnClass, timePeriod) {\n const $node = $(`.bs-datepicker-head .${btnClass}`);\n if ($node.attr('disabled')) {\n return;\n }\n $node.trigger('click');\n if (timePeriod === 'days') {\n this.loadDays();\n } else if (timePeriod === 'month') {\n this.loadMonths();\n } else if (timePeriod === 'year') {\n this.loadYears();\n }\n }\n\n /**\n * This method is used to set focus for active day\n * @param newDate - newly selected date value\n * @param isMouseEvent - boolean value represents the event is mouse event/ keyboard event\n */\n private setActiveDateFocus(newDate, isMouseEvent?: boolean) {\n this.setNextData(newDate);\n this.clicked = false;\n const activeMonth = this.activeDate.getMonth();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getMonth() < activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('next', 'days') : this.goToOtherMonthOryear('previous', 'days');\n } else if (newDate.getMonth() > activeMonth) {\n this.isOtheryear(newDate) ? this.goToOtherMonthOryear('previous', 'days') : this.goToOtherMonthOryear('next', 'days');\n }\n }\n setTimeout(() => {\n const newDay = newDate.getDate().toString();\n filter($(`span:contains(${newDay})`).not('.is-other-month'), (obj) => {\n const activeMonth = $(`.bs-datepicker-head .current`).first().text();\n const activeYear = $(\".bs-datepicker-head .current\").eq(1).text();\n const monthName = new Date().toLocaleString('default', { month: 'long' });\n if ($(obj).text() === newDay && activeMonth == monthName && activeYear == new Date().getFullYear()) {\n if ($(obj).hasClass('selected')) {\n $(obj).parent().attr('aria-selected', 'true');\n }\n $(obj).attr('aria-label', moment(newDate).format('dddd, MMMM Do YYYY'));\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '-1');\n $(obj).attr('tabindex', '0');\n $(obj).focus();\n this.activeDate = newDate;\n }\n });\n if (newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {\n this.hightlightToday(newDate);\n }\n });\n\n }\n\n private getMonth(date, inc) {\n const currentMonth = new Date(date);\n\n let month = currentMonth.getMonth();\n const year = currentMonth.getFullYear();\n\n month += inc;\n\n const newDate = new Date(year, month);\n\n const fullMonth = newDate.toLocaleString('en-US', { month: 'long' });\n\n return {\n date: newDate,\n fullMonth: fullMonth\n };\n }\n\n /**\n * This method sets focus for months/days depending on the loaded datepicker table\n */\n private setFocusForMonthOrDay() {\n const activeMonthOrYear = $(`.bs-datepicker-head .current`).first().text();\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n if (parseInt(activeMonthOrYear) !== this.activeDate.getFullYear()) {\n this.loadMonths();\n }\n const newDate = new Date(parseInt(activeMonthOrYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n const newMonth = months.indexOf(activeMonthOrYear);\n if (newMonth !== this.activeDate.getMonth()) {\n this.loadDays();\n }\n const newDate = new Date(this.activeDate.getFullYear(), newMonth, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years depending on the loaded datepicker table\n */\n private setFocusForCurrentMonthOryear() {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n this.setActiveYearFocus(this.activeDate, true);\n }\n }\n\n /**\n * This method sets focus for months/years/days depending on the loaded datepicker table\n */\n private setFocusForDate(count) {\n const datePickerBody = $('.bs-datepicker-body');\n if (datePickerBody.find('table.months').length > 0) {\n this.loadMonths();\n const newDate = new Date(this.activeDate.getFullYear() + count, 0, this.activeDate.getDate());\n this.setActiveMonthFocus(newDate, true);\n } else if (datePickerBody.find('table.years').length > 0) {\n this.loadYears();\n const startYear = datePickerBody.find('table.years span').first().text();\n const newDate = new Date(parseInt(startYear), this.activeDate.getMonth(), this.activeDate.getDate());\n this.setActiveYearFocus(newDate, true);\n } else if (datePickerBody.find('table.days').length > 0) {\n this.loadDays();\n const newDate = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth() + count, 1);\n this.setActiveDateFocus(newDate, true);\n }\n }\n\n /**\n * This method is used to add keyboard events while opening the date picker\n * @param scope - scope of the date/datetime widget\n * @param isDateTime - boolean value represents the loaded widget is date or datetime\n */\n protected addDatepickerKeyboardEvents(scope, isDateTime) {\n this.elementScope = scope;\n const dateContainer = document.querySelector(`.${scope.dateContainerCls}`) as HTMLElement;\n setAttr(dateContainer, 'tabindex', '0');\n dateContainer.onkeydown = (event) => {\n // Check for Shift+Tab key or Tab key or escape\n if (event.key === 'Escape') {\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n };\n this.loadDays();\n this.setActiveDateFocus(this.activeDate);\n }\n private setNextData(nextDate) {\n this.next = this.getMonth(nextDate, 1);\n this.prev = this.getMonth(nextDate, -1);\n }\n /**\n * This method is used to add tabindex, keybord and mouse events for days\n */\n private loadDays() {\n setTimeout(() => {\n $('[bsdatepickerdaydecorator]').not('.is-other-month').attr('tabindex', '0');\n // if (this.clicked === false) {\n // this.next = this.getMonth(this.activeDate, 1);\n // this.prev = this.getMonth(this.activeDate, -1);\n // }\n this.addKeyBoardEventsForDays();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for days\n */\n private addKeyBoardEventsForDays() {\n const datePickerBody = $('.bs-datepicker-body');\n datePickerBody.keydown((event) => {\n let newdate;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header month name to load list of months\n $('.bs-datepicker-head .current').first().click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-7, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'days').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'PageDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveDateFocus(newdate);\n } else if (event.key === 'Enter') {\n if ($(document.activeElement).hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.elementScope.hideDatepickerDropdown();\n const displayInputElem = this.elementScope.nativeElement.querySelector('.display-input') as HTMLElement;\n setTimeout(() => displayInputElem.focus());\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n private focusBlurDatePickerHeadButtons() {\n const datePickerHeadButton = $('.bs-datepicker-head button');\n datePickerHeadButton.on('focus', function() { $(this).css('background-color', '#9AA0A3'); });\n datePickerHeadButton.on('blur', function() { $(this).css('background-color', ''); });\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for months\n */\n private loadMonths() {\n setTimeout(() => {\n this.addKeyBoardEventsForMonths();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method sets keyboard events for months\n */\n private addKeyBoardEventsForMonths() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadDays();\n const newDate = new Date(this.activeDate.getFullYear(), this.activeDate.getMonth(), 1);\n this.setActiveDateFocus(newDate);\n } else if (event.ctrlKey && event.key === 'ArrowUp') {\n // clicking on table header year to load list of years\n $('.bs-datepicker-head .current').first().click();\n this.loadYears();\n this.setActiveYearFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-3, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'month').toDate();\n this.setActiveMonthFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to add tabindex, keybord and mouse events for years\n */\n private loadYears() {\n setTimeout(() => {\n this.addKeyBoardEventsForYears();\n this.addDatepickerMouseEvents();\n });\n }\n\n /**\n * This method is used to set focus for active month\n */\n private setActiveMonthFocus(newDate, isMoouseEvent?: boolean) {\n this.setNextData(newDate);\n const newMonth = months[newDate.getMonth()];\n // check for keyboard event\n if (!isMoouseEvent) {\n if (newDate.getFullYear() < this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('previous', 'month');\n } else if (newDate.getFullYear() > this.activeDate.getFullYear()) {\n this.goToOtherMonthOryear('next', 'month');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.months span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.months span:contains(${newMonth})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets keyboard events for years\n */\n private addKeyBoardEventsForYears() {\n $('.bs-datepicker-body').keydown((event) => {\n let newdate;\n if ((event.ctrlKey && event.key === 'ArrowDown') || event.key === 'Enter') {\n if ($(document.activeElement).parent().hasClass('disabled')) {\n return;\n }\n $(document.activeElement).click();\n this.loadMonths();\n this.setActiveMonthFocus(this.activeDate);\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(+4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n newdate = moment(this.activeDate).add(-4, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowLeft') {\n newdate = moment(this.activeDate).add(-1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n } else if (event.key === 'ArrowRight') {\n newdate = moment(this.activeDate).add(+1, 'year').toDate();\n this.setActiveYearFocus(newdate);\n }\n });\n this.focusBlurDatePickerHeadButtons();\n }\n\n /**\n * This method is used to set focus for active year\n */\n private setActiveYearFocus(newDate, isMouseEvent?: boolean) {\n const newYear = newDate.getFullYear();\n const datePickerYears = $('.bs-datepicker-body table.years span');\n const startYear = datePickerYears.first().text();\n const endYear = datePickerYears.last().text();\n // check for keyboard event\n if (!isMouseEvent) {\n if (newDate.getFullYear() < parseInt(startYear)) {\n this.goToOtherMonthOryear('previous', 'year');\n } else if (newDate.getFullYear() > parseInt(endYear)) {\n this.goToOtherMonthOryear('next', 'year');\n }\n }\n setTimeout(() => {\n $(`.bs-datepicker-body table.years span`).attr('tabindex', '-1');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).attr('tabindex', '0');\n $(`.bs-datepicker-body table.years span:contains(${newYear})`).focus();\n this.activeDate = newDate;\n });\n }\n\n /**\n * This method sets focus for timepicker first input field(hours field) while opening time picker\n * @param scope - scope of the time picker widget\n */\n protected focusTimePickerPopover(scope) {\n this.elementScope = scope;\n // setTimeout is used so that by then time input has the updated value. focus is setting back to the input field\n this.elementScope.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n $('timepicker .form-group').first().find('> input.form-control').focus();\n });\n });\n\n\n }\n /**\n * This function sets the keyboard events to Timepicker popup\n */\n protected bindTimePickerKeyboardEvents() {\n setTimeout(() => {\n const $timepickerPopup = $('body').find('> bs-dropdown-container timepicker');\n $timepickerPopup.attr('tabindex', 0);\n this.addEventsOnTimePicker($timepickerPopup);\n });\n }\n\n protected focusOnInputEl() {\n if ($(this.nativeElement).closest('.caption-floating').length > 0) {\n setTimeout(() => {\n $(this.nativeElement).find('.app-textbox').focus();\n }, 100);\n }\n }\n\n /**\n * This function checks whether the given date is valid or not\n * @returns boolean value, true if date is valid else returns false\n */\n private isValidDate(date) {\n return date && date instanceof Date && !isNaN(date.getTime());\n }\n\n /**\n * This function checks whether the given time is valid or not\n */\n private timeFormatValidation() {\n const enteredDate = $(this.nativeElement).find('input').val();\n const newVal = getNativeDateObject(enteredDate, {meridians: this.meridians, pattern: this.datepattern});\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n private updateTimeValue(el, value, fieldName) {\n let minEl = el.find('input[aria-label=\"minutes\"]');\n let secEl = el.find('input[aria-label=\"seconds\"]');\n minEl.value = secEl.value = '00';\n if (value.length < 2) {\n setTimeout(() => {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }, 500);\n } else {\n fieldName === 'minutes' ? this.bsTimePicker.updateMinutes(minEl) : this.bsTimePicker.updateSeconds(secEl);\n }\n }\n\n /**\n * This function sets the events to given element\n * @param $el - element on which the event is added\n */\n private addEventsOnTimePicker($el: JQuery) {\n const inputFields = $el.find('.bs-timepicker-field');\n // WMS-19382: update minutes and seconds to 0 when we enter hour value\n inputFields.first().on('keyup', evt => {\n const hourValue = (evt.target as any).value;\n forEach(inputFields, (field, index) => {\n // @ts-ignore\n if (evt.target !== field && field.value === '' && hourValue.length) {\n const fieldName = index === 1 ? 'minutes' : 'seconds';\n this.updateTimeValue($el, hourValue, fieldName);\n }\n });\n });\n this.removeKeyupListener = () => {\n inputFields.first().off('keyup');\n };\n $el.on('keydown', event => {\n const $target = $(event.target);\n const $parent = $target.parent();\n const elementScope = this.elementScope;\n\n let stopPropogation, preventDefault;\n\n if (event.key === 'Escape') {\n elementScope.hideTimepickerDropdown();\n }\n\n if ($target.hasClass('bs-timepicker-field')) {\n if ($parent.is(':first-child')) {\n if ((event.shiftKey && event.key === 'Tab') || event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else if ($parent.is(':last-child') || ($parent.next().next().find('button.disabled').length)) {\n if (event.key === 'Tab' || event.key === 'Escape' || event.key === 'Enter') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n } else {\n if (event.key === 'Enter' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n stopPropogation = true;\n preventDefault = true;\n }\n }\n if (stopPropogation) {\n event.stopPropagation();\n }\n if (preventDefault) {\n event.preventDefault();\n }\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if (event.key === 'ArrowDown') {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if (event.key === 'ArrowUp') {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n if (event.key === 'Tab') {\n this.invalidDateTimeFormat = false;\n this.invokeOnChange(this.datavalue, undefined, false);\n const pattern = this.datepattern || this.timepattern;\n if (getFormattedDate(elementScope.datePipe, elementScope.bsTimeValue, pattern, this.timeZone, null, null, this) === elementScope.displayValue) {\n $(this.nativeElement).find('.display-input').val(elementScope.displayValue);\n }\n }\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n this.timeFormatValidation();\n }\n } else if ($target.hasClass('btn-default')) {\n if (event.key === 'Tab' || event.key === 'Escape') {\n elementScope.setIsTimeOpen(false);\n this.focus();\n }\n }\n });\n $el.find('a').on('click', evt => {\n const elementScope = this.elementScope;\n const $target = $(evt.target);\n if (elementScope.mintime && elementScope.maxtime && !this.isValidDate(elementScope.bsTimeValue)) {\n if ($target.find('span').hasClass('bs-chevron-down')) {\n elementScope.bsTimeValue = elementScope.maxTime;\n } else if ($target.find('span').hasClass('bs-chevron-up')) {\n elementScope.bsTimeValue = elementScope.minTime;\n }\n }\n this.timeFormatValidation();\n });\n }\n\n public updateFormat(pattern) {\n if (pattern === 'datepattern') {\n this._dateOptions.dateInputFormat = this.datepattern;\n this.showseconds = includes(this.datepattern, 's');\n this.ismeridian = includes(this.datepattern, 'h');\n } else if (pattern === 'timepattern') {\n this.showseconds = includes(this.timepattern, 's');\n this.ismeridian = includes(this.timepattern, 'h');\n }\n }\n\n getMobileInput() {\n return this.nativeElement.querySelector('.mobile-input') as HTMLElement;\n }\n\n onDateTimeInputBlur() {\n // removing the opacity on blur of the mobile widget\n const displayInputElem = this.getMobileInput();\n if (displayInputElem && !hasCordova()) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.remove('add-opacity');\n }\n displayInputElem.classList.remove('remove-opacity');\n }\n }\n\n onDateTimeInputFocus(skipFocus: boolean = false): void {\n if (!this.loadNativeDateInput) {\n return;\n }\n const displayInputElem = this.getMobileInput();\n // toggling the classes to show and hide the native widget using opacity\n if (skipFocus && !hasCordova()) {\n const children = this.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n children[i].classList.add('add-opacity');\n }\n displayInputElem.classList.add('remove-opacity');\n return;\n }\n\n if (displayInputElem && this._triggeredByUser) {\n displayInputElem.focus();\n displayInputElem.click();\n }\n }\n\n getCordovaPluginDatePickerApi() {\n if (isIos()) {\n return get(window, 'cordova.wavemaker.datePicker.selectDate');\n }\n }\n\n /**\n * This method sets the mouse events to Datepicker popup. These events are required when we navigate date picker through mouse.\n */\n private addDatepickerMouseEvents() {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n\n $(\".bs-datepicker-head\").on(\"click\", \".previous\", (event) => {\n this.next = this.getMonth(this.activeDate, 0);\n this.prev = this.getMonth(this.activeDate, -2);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(-1);\n }\n var prevMon = this.getMonth(this.activeDate, -1);\n\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Previous Month, ${prevMon.fullMonth} and year ${prevMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .previous`).focus();\n\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".next\", (event) => {\n this.next = this.getMonth(this.activeDate, 2);\n this.prev = this.getMonth(this.activeDate, 0);\n this.clicked = true;\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForDate(1);\n }\n var nextMon = this.getMonth(this.activeDate, 1);\n setTimeout(() => {\n $(\".bs-datepicker-head .previous span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next span\").attr(\"aria-hidden\", 'true');\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n $('.bs-datepicker-head .current').first().append(`<h2 aria-hidden=\"false\" aria-atomic=\"true\" aria-live='polite' class=\"sr-only\">Changed to Next Month, ${nextMon.fullMonth} and year ${nextMon.date.getFullYear()}</h2>`);\n $('.bs-datepicker-head').on('focus', '.current', function () {\n $('.bs-datepicker-head .current').find('h2').remove();\n })\n $(`.bs-datepicker-head .next`).focus();\n });\n\n });\n $(\".bs-datepicker-head\").on(\"click\", \".current\", (event) => {\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForCurrentMonthOryear();\n }\n });\n $('.bs-datepicker-body').on(\"click\", \".bs-datepicker-action-buttons\", (event) => {\n event.stopPropagation();\n // check for original mouse click\n if (event.originalEvent) {\n this.setFocusForMonthOrDay();\n }\n });\n // if(!this.clicked) {\n $(\".bs-datepicker-head .next\").attr('aria-label', `Next Month, ${this.next.fullMonth} ${this.next.date.getFullYear()}`);\n $(\".bs-datepicker-head .previous\").attr('aria-label', `Previous Month, ${this.prev.fullMonth} ${this.prev.date.getFullYear()}`);\n // }\n }\n\n blurDateInput(isPickerOpen) {\n const displayInputElem = this.nativeElement.querySelector('.display-input') as HTMLElement;\n if (isPickerOpen) {\n setTimeout(() => displayInputElem.blur());\n }\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 === 'datepattern') {\n this.updateFormat(key);\n } else if (key === 'showweeks') {\n this._dateOptions.showWeekNumbers = nv;\n } else if (key === 'mindate') {\n this._dateOptions.minDate = (nv === CURRENT_DATE) ? this.mindate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'maxdate') {\n this._dateOptions.maxDate = (nv === CURRENT_DATE) ? this.maxdate = new Date() : getDateObj(nv);\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'excludedates' || key === 'excludedays') {\n if (this.excludedays) {\n this.excludedDaysToDisable = split(this.excludedays, ',').map((day) => {\n return +day;\n });\n }\n if (this.excludedates) {\n this.excludedDatesToDisable = this.excludedates;\n if (isString(this.excludedates)) {\n // @ts-ignore\n this.excludedDatesToDisable = split(this.excludedates, ',');\n }\n this.excludedDatesToDisable = this.excludedDatesToDisable.map(d => getDateObj(d));\n }\n this.minDateMaxDateValidationOnInput(this.datavalue);\n } else if (key === 'selectfromothermonth') {\n this._dateOptions.selectFromOtherMonth = nv;\n\n } else if (key === 'todaybutton') {\n this._dateOptions.showTodayButton = nv;\n } else if (key === 'clearbutton') {\n this._dateOptions.showClearButton = nv;\n } else if (key === 'todaybuttonlabel') {\n this._dateOptions.todayButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'clearbuttonlabel') {\n this._dateOptions.clearButtonLabel = this.i18nService.getLocalizedMessage(nv) || nv;\n } else if (key === 'showcustompicker') {\n this.loadNativeDateInput = isMobile() && !this.showcustompicker;\n } else if (key === 'adaptiveposition') {\n this._dateOptions.adaptivePosition = nv;\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.containerTarget = getContainerTargetClass(this.nativeElement);\n this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);\n\n // this mobileinput width varies in ios hence setting width here.\n const mobileInput = this.getMobileInput();\n if (mobileInput) {\n setTimeout(() => {\n mobileInput.style.width = '100%';\n mobileInput.style.height = '100%';\n });\n }\n }\n\n ngOnDestroy() {\n if (this.dateOnShowSubscription) {\n this.dateOnShowSubscription.unsubscribe();\n }\n if(this.cancelLocaleChangeSubscription) {\n this.cancelLocaleChangeSubscription();\n }\n\n super.ngOnDestroy();\n }\n\n public ngOnDetach() {\n this.datetimepickerComponent?.hideModal();\n }\n\n setTimezone(locale) {\n this.i18nService.setTimezone(locale, this);\n }\n}\n","import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType, isMobileApp } from '@wm/core';\n\nexport const dateProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', { value: 'default', ...PROP_STRING }],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['datepattern', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['excludedays', PROP_STRING],\n ['excludedates', PROP_STRING],\n ['hint', PROP_STRING],\n ['maxdate', PROP_STRING],\n ['mindate', PROP_STRING],\n ['name', PROP_STRING],\n ['outputformat', { value: 'yyyy-MM-dd', ...PROP_STRING }],\n ['placeholder', { value: 'Select Date', ...PROP_STRING }],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['showdropdownon', { value: 'default', ...PROP_STRING }],\n ['showbuttonbar', { value: true, ...PROP_BOOLEAN }], // TODO not addressed\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['showindevice', { displayType: 'inline-block', value: 'all', ...PROP_STRING }],\n ['showweeks', { value: false, ...PROP_BOOLEAN }],\n ['tabindex', { value: 0, ...PROP_NUMBER }],\n ['selectfromothermonth', { value: true, ...PROP_BOOLEAN }],\n ['todaybutton', { value: true, ...PROP_BOOLEAN }],\n ['clearbutton', { value: true, ...PROP_BOOLEAN }],\n ['adaptiveposition', {value: true, ...PROP_BOOLEAN}],\n ['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...PROP_STRING }],\n ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }],\n ['showdateformatasplaceholder', PROP_BOOLEAN],\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-date',\n dateProps\n );\n registerFormWidget(\n FormWidgetType.DATE,\n new Map(dateProps)\n );\n};\n","import IMask from \"imask\";\ndeclare const moment;\n\nexport function validateTheMaskedDate (format, locale) {\n if(format == 'timestamp') {\n return false;\n }\n let modifiedFormat = format.toUpperCase().replace(/E/g, 'd');\n if((modifiedFormat.split('D').length - 1) === 1) {\n modifiedFormat = modifiedFormat.replace('D', 'DD');\n }\n if((modifiedFormat.split('M').length - 1) === 1 ) {\n modifiedFormat = modifiedFormat.replace('M', 'MM');\n }\n const parseFn= str => {\n return moment(str, modifiedFormat).toDate();\n };\n const formatFn = date => {\n return moment(date, modifiedFormat).format(modifiedFormat);\n };\n return {\n mask: Date,\n pattern: modifiedFormat,\n format: formatFn,\n parse: parseFn,\n\n blocks: {\n YYYY: {\n mask: IMask.MaskedRange,\n from: 1900,\n to: 9999,\n placeholderChar:'Y',\n maxLength: 4,\n },\n YYY: {\n mask: IMask.MaskedRange,\n from: 900,\n to: 999,\n placeholderChar:'Y',\n maxLength: 3,\n },\n YY: {\n mask: IMask.MaskedRange,\n from: 0,\n to: 99,\n placeholderChar:'Y',\n maxLength: 2,\n },\n Y: {\n mask: IMask.MaskedRange,\n from: 1900,\n to: 9999,\n placeholderChar:'Y',\n maxLength: 4,\n },\n M: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n placeholderChar:'M',\n maxLength: 2,\n },\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n placeholderChar:'M',\n maxLength: 2,\n },\n MMM: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 12 }, (_, i) =>\n new Date(0, i).toLocaleString(locale, { month: 'short' })\n ),\n placeholderChar:'M',\n maxLength: 3,\n },\n MMMM: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 12 }, (_, i) =>\n new Date(0, i).toLocaleString(locale, { month: 'long' })\n ),\n placeholderChar: \"M\",\n maxLength: 4\n },\n DD: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n placeholderChar:'D',\n maxLength: 2,\n },\n D: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n placeholderChar:'D',\n maxLength: 2,\n },\n ddd: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 7 }, (_, i) =>\n new Date(0, 0, i + 1).toLocaleString(locale, { weekday: 'short' })\n ),\n placeholderChar:'E',\n maxLength: 3,\n },\n dddd: {\n mask: IMask.MaskedEnum,\n enum: Array.from({ length: 7 }, (_, i) =>\n new Date(0, 0, i + 1).toLocaleString(locale, { weekday: 'long' })\n ),\n placeholderChar:'E',\n minLength: 6,\n },\n },\n autofix: true,\n lazy: false,\n overwrite: true,\n skipInvalid: true\n }\n}\n"," <input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n #dateInput\n [imask]=\"mask\"\n [unmask]=\"true\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event); updateIMask()\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || readonly\"\n [autofocus]=\"autofocus\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n (change)=\"onDisplayDateChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event);\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isOpen\"\n #datepicker=\"bsDatepicker\"\n bsDatepicker\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n placement=\"bottom right\"\n [isDisabled]=\"disabled || readonly\"\n [bsValue]=\"bsDataValue\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n (bsValueChange)=\"onDateChange($event)\">\n</div>\n\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n mode=\"DATE\"\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDataValue\"\n (change)=\"onDateChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDataValue)\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event);\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : hint || 'Choose Date'\"\n role=\"button\">\n </div>\n</ng-template>\n","import {ChangeDetectorRef, Component, Inject, Injector, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';\n\n\nimport {\n adjustContainerPosition,\n addEventListenerOnElement,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDateObj,\n getDisplayDateTimeFormat,\n getFormattedDate,\n adjustContainerRightEdges,\n getMomentLocaleObject\n} from '@wm/core';\nimport { IWidgetConfig, provideAs, provideAsWidgetRef, setFocusTrap, styler } from '@wm/components/base';\nimport { BaseDateTimeComponent } from './../base-date-time.component';\nimport { registerProps } from './date.props';\nimport { validateTheMaskedDate } from './imaskUtil';\nimport { IMaskDirective } from 'angular-imask';\nimport {includes, isNaN, parseInt} from \"lodash-es\";\n\ndeclare const _, $;\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst DEFAULT_CLS = 'app-date input-group';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-date',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n selector: '[wmDate]',\n templateUrl: './date.component.html',\n providers: [\n provideAs(DateComponent, NG_VALUE_ACCESSOR, true),\n provideAs(DateComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(DateComponent)\n ]\n})\nexport class DateComponent extends BaseDateTimeComponent {\n static initializeProps = registerProps();\n\n public bsDataValue;\n public showdropdownon: string;\n private dateContainerCls: string;\n public isOpen: boolean = false;\n private isEnterPressedOnDateInput = false;\n private _bsDefaultLoadCheck: boolean;\n public hint: string;\n\n private deregisterEventListener;\n private isCurrentDate;\n private focusTrap;\n private showdateformatasplaceholder = false;\n mask;\n private maskDateInputFormat;\n\n get timestamp() {\n return this.bsDataValue ? this.bsDataValue.valueOf() : undefined;\n }\n\n get dateInputFormat() {\n return this._dateOptions.dateInputFormat || 'yyyy-MM-dd';\n }\n\n get displayValue() {\n if(this.showdateformatasplaceholder && this.imask?.maskRef && this.maskDateInputFormat) {\n return getFormattedDate(this.datePipe, this.bsDataValue, this.maskDateInputFormat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n return getFormattedDate(this.datePipe, this.bsDataValue, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.bsDataValue, 'yyyy-MM-dd', this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n // @ts-ignore\n get datavalue() {\n return getFormattedDate(this.datePipe, this.bsDataValue, this.outputformat, this.timeZone, null, this.isCurrentDate, this) || '';\n }\n\n // Todo[Shubham]: needs to be redefined\n // sets the dataValue and computes the display model values\n // @ts-ignore\n set datavalue(newVal) {\n if (newVal === CURRENT_DATE) {\n setTimeout(() => {\n this.bsDataValue = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n }, 50);\n this.isCurrentDate = true;\n } else {\n this.bsDataValue = newVal ? getDateObj(newVal, {isNativePicker: this.loadNativeDateInput}, this.timeZone) : undefined;\n this.isCurrentDate = false;\n }\n // update the previous datavalue.\n this.invokeOnChange(this.datavalue, undefined, true);\n this.cdRef.detectChanges();\n }\n\n @ViewChild(BsDatepickerDirective) protected bsDatePickerDirective;\n @ViewChild('dateInput', {read: IMaskDirective}) imask: IMaskDirective<any>;\n\n // TODO use BsLocaleService to set the current user's locale to see the localized labels\n constructor(\n inj: Injector,\n private cdRef: ChangeDetectorRef,\n private appDefaults: AppDefaults,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n\n this.dateContainerCls = `app-date-${this.widgetId}`;\n this._dateOptions.containerClass = `app-date ${this.dateContainerCls}`;\n this._dateOptions.showWeekNumbers = false;\n this._bsDefaultLoadCheck = true;\n this.datepattern = this.appDefaults.dateFormat || getDisplayDateTimeFormat(FormWidgetType.DATE);\n this.updateFormat('datepattern');\n }\n /**\n * This is an internal method triggered when the date input changes\n */\n onDisplayDateChange($event, isNativePicker: boolean = false) {\n this.updateIMask();\n if (this.isEnterPressedOnDateInput) {\n this.isEnterPressedOnDateInput = false;\n return;\n }\n const newVal = getDateObj($event.target.value, {pattern: this.datepattern, isNativePicker: isNativePicker});\n // date pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value, isNativePicker)) {\n return;\n }\n // min date and max date validation in mobile view.\n // if invalid dates are entered, device is showing an alert.\n if (isNativePicker && this.minDateMaxDateValidationOnInput(newVal, $event, this.displayValue, isNativePicker)) {\n return;\n }\n this.setDataValue(newVal);\n }\n\n // sets the dataValue and computes the display model values\n private setDataValue(newVal): void {\n this.invalidDateTimeFormat = false;\n // min date and max date validation in web.\n // if invalid dates are entered, device is showing validation message.\n this.minDateMaxDateValidationOnInput(newVal);\n if (getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this) === this.displayValue) {\n $(this.nativeElement).find('.display-input').val(this.displayValue);\n }\n if (newVal) {\n this.bsDataValue = newVal;\n this.updateIMask();\n } else {\n this.bsDataValue = undefined;\n }\n this.invokeOnChange(this.datavalue, {}, true);\n }\n\n onDatePickerOpen() {\n this.isOpen = true;\n this.activeDate = this.bsDataValue ? this.bsDataValue : (this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date());\n if (!this.bsDataValue) {\n this.hightlightToday(this.activeDate);\n }\n this.updateIMask();\n\n // We are using the two input tags(To maintain the modal and proxy modal) for the date control.\n // So actual bootstrap input target width we made it to 0, so bootstrap calculating the calendar container top position improperly.\n // To fix the container top position set the width 1px;\n this.$element.find('.model-holder').width('1px');\n const dpContainerEl = $('bs-datepicker-container');\n dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');\n $('.bs-calendar-container').removeAttr('role');\n const datePickerContainer = $('.bs-datepicker-container')[0];\n this.focusTrap = setFocusTrap(datePickerContainer, true);\n this.focusTrap.activate();\n this.addDatepickerKeyboardEvents(this, false);\n adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n adjustContainerRightEdges($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n\n if(this.timeZone) {\n const todayBtn = document.querySelector(`.${this.dateContainerCls} .bs-datepicker-buttons .btn-today-wrapper button`) as HTMLElement;\n const setTodayTZHandler = (event) => {\n const todayTZ = getMomentLocaleObject(this.timeZone);\n if(new Date(this.bsDataValue).toDateString() !== new Date(todayTZ).toDateString()) {\n this.bsDataValue = todayTZ;\n }\n todayBtn.removeEventListener('click', setTodayTZHandler);\n };\n todayBtn.addEventListener('click', setTodayTZHandler)\n }\n }\n onInputBlur($event) {\n this.updateIMask();\n if (!$($event.relatedTarget).hasClass('current-date')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n\n updateIMask() {\n this.imask?.maskRef?.updateValue();\n }\n\n public hideDatepickerDropdown() {\n this.invokeOnTouched();\n this.isOpen = false;\n this.focusTrap?.deactivate();\n this.isEnterPressedOnDateInput = false;\n if (this.deregisterEventListener) {\n this.deregisterEventListener();\n }\n this.blurDateInput(this.isOpen);\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 (!includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the date widget\n */\n public toggleDpDropdown($event, skipFocus: boolean = false) {\n if (this.loadNativeDateInput) {\n // Fixes click event getting triggred twice in Mobile devices.\n if (!skipFocus) {\n this.onDateTimeInputFocus();\n }\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n // this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n $event.stopPropagation();\n return;\n }\n this.bsDatePickerDirective.toggle();\n this.addBodyClickListener(this.bsDatePickerDirective.isOpen);\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const bsDateContainerElement = bodyElement.querySelector(`.${this.dateContainerCls}`);\n this.deregisterEventListener = addEventListenerOnElement(bodyElement, bsDateContainerElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.isOpen = false;\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This is an internal method triggered when pressing key on the date input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n if (event.key === 'Enter') {\n const newVal = getDateObj(event.target.value, {pattern: this.datepattern});\n event.preventDefault();\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, null, this.isCurrentDate, this);\n const inputVal = event.target.value.trim();\n if (inputVal && this.datepattern === 'timestamp') {\n if (!isNaN(inputVal) && parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n }\n } else if (inputVal && inputVal !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n } else {\n this.invalidDateTimeFormat = false;\n this.isEnterPressedOnDateInput = true;\n this.bsDatePickerDirective.bsValue = event.target.value ? newVal : '';\n this.updateIMask();\n }\n this.toggleDpDropdown(event);\n } else {\n this.hideDatepickerDropdown();\n }\n } else {\n this.hideDatepickerDropdown();\n }\n }\n\n /**\n * This is an internal method triggered when the date selection changes\n */\n onDateChange(newVal): void {\n /**\n * Ngx-bootstrap upgrade : To avoid the page load datechange event;\n * TODO:\n * https://github.com/valor-software/ngx-bootstrap/issues/6016\n * For above issue, once we get the solution from Ngx-Bootstrap team, remove the _bsDefaultLoadCheck check and update accordingly.\n * */\n if (this._bsDefaultLoadCheck) {\n this._bsDefaultLoadCheck = false;\n return;\n }\n\n this.setDataValue(newVal);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'showdateformatasplaceholder') {\n this.showdateformatasplaceholder = nv;\n this.imask?.destroyMask();\n if (this.showdateformatasplaceholder && this.datepattern !== 'timestamp') {\n this.mask = validateTheMaskedDate(this.datepattern, this.selectedLocale);\n this.maskDateInputFormat = this.dateInputFormat;\n this.maskDateInputFormat = (this.dateInputFormat.split('d').length - 1) === 1 ? this.maskDateInputFormat.replace('d', 'dd') : this.maskDateInputFormat;\n this.maskDateInputFormat = (this.dateInputFormat.split('M').length - 1) === 1 ? this.maskDateInputFormat.replace('M', 'MM') : this.maskDateInputFormat;\n this.updateIMask();\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","import { FormWidgetType, isMobileApp } from '@wm/core';\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const dateTimeProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', { value: 'default', ...PROP_STRING }],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['datepattern', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['excludedays', PROP_STRING],\n ['excludedates', PROP_STRING],\n ['hint', PROP_STRING],\n ['hourstep', { value: 1, ...PROP_NUMBER }],\n ['maxdate', PROP_STRING],\n ['mindate', PROP_STRING],\n ['minutestep', { value: 15, ...PROP_NUMBER }],\n ['name', PROP_STRING],\n ['outputformat', { value: 'timestamp', ...PROP_STRING }],\n ['placeholder', { value: 'Select date time', ...PROP_STRING }],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['secondsstep', { value: 1, ...PROP_NUMBER }],\n ['shortcutkey', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['showdropdownon', { value: 'default', ...PROP_STRING }],\n ['showbuttonbar', PROP_BOOLEAN],\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['showindevice', { displayType: 'inline-block', value: 'all', ...PROP_STRING }],\n ['showweeks', PROP_BOOLEAN],\n ['tabindex', { value: 0, ...PROP_NUMBER }],\n ['timestamp', PROP_STRING],\n ['selectfromothermonth', { value: true, ...PROP_BOOLEAN }],\n ['todaybutton', { value: true, ...PROP_BOOLEAN }],\n ['clearbutton', { value: true, ...PROP_BOOLEAN }],\n ['adaptiveposition', {value: true, ...PROP_BOOLEAN}],\n ['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...PROP_STRING }],\n ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }]\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-datetime',\n dateTimeProps\n );\n registerFormWidget(\n FormWidgetType.DATETIME,\n new Map(dateTimeProps)\n );\n registerFormWidget(\n FormWidgetType.TIMESTAMP,\n new Map(dateTimeProps)\n );\n};\n"," <div dropdown\n [isOpen]=\"isTimeOpen\"\n autoClose=\"false\"\n [container]=\"'body'\"\n (onShown)=\"onTimepickerOpen()\"\n style=\"display: inherit;\">\n <input class=\"form-control app-textbox display-input\"\n [attr.aria-label]=\"hint\"\n focus-target\n [name]=\"name\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n type=\"text\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDateChange($event)\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-date\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n aria-label=\"Select time\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleTimePicker(!isTimeOpen, $event)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-time\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n focus-target\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isDateOpen\"\n placement=\"bottom right\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n #datepicker=bsDatepicker\n bsDatepicker\n [isDisabled]=\"disabled || readonly || isCurrentDate\"\n [bsValue]=\"bsDateValue\"\n (bsValueChange)=\"onModelUpdate($event, 'date')\">\n </div>\n <div *dropdownMenu\n class=\"dropdown-menu\"\n aria-label=\"timepicker dropdown\"\n aria-controls=\"time\"\n (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"disabled || readonly || isCurrentDate\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\"\n (ngModelChange)=\"onModelUpdate($event, 'time')\"></timepicker>\n </div>\n </div>\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDateValue\"\n (change)=\"onModelUpdate($event, 'date')\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDateValue)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : hint || 'Choose Date'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event)\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n NgZone,\n OnDestroy,\n Optional,\n ViewChild\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\nimport { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';\nimport { TimepickerConfig } from 'ngx-bootstrap/timepicker';\n\nimport {\n AbstractI18nService,\n addClass,\n addEventListenerOnElement,\n adjustContainerPosition,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDateObj,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getNativeDateObject,\n adjustContainerRightEdges,\n App,\n getMomentLocaleObject\n} from '@wm/core';\nimport { provideAsWidgetRef, provideAs, styler, setFocusTrap } from '@wm/components/base';\n\nimport {BaseDateTimeComponent, getTimepickerConfig} from './../base-date-time.component';\nimport { registerProps } from './date-time.props';\nimport {debounce, forEach, includes, isNaN, parseInt} from \"lodash-es\";\n\ndeclare const $;\ndeclare const moment;\n\nconst DEFAULT_CLS = 'app-datetime input-group';\nconst WIDGET_CONFIG = { widgetType: 'wm-datetime', hostClass: DEFAULT_CLS };\n\nconst CURRENT_DATE = 'CURRENT_DATE';\n\n@Component({\n selector: '[wmDateTime]',\n templateUrl: './date-time.component.html',\n providers: [\n provideAs(DatetimeComponent, NG_VALUE_ACCESSOR, true),\n provideAs(DatetimeComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(DatetimeComponent),\n { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }\n ]\n})\nexport class DatetimeComponent extends BaseDateTimeComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n /**\n * The below propeties prefixed with \"bs\" always holds the value that is selected from the datepicker.\n * The bsDateTimeValue = bsDateValue + bsTimeValue.\n */\n private bsDateTimeValue: any;\n public bsDateValue;\n private bsTimeValue;\n private proxyModel;\n private app: App;\n public hint: string;\n public showdropdownon: string;\n private deregisterDatepickerEventListener;\n private deregisterTimepickeEventListener;\n private isEnterPressedOnDateInput = false;\n private focusTrap;\n\n get timestamp() {\n return this.proxyModel ? this.proxyModel.valueOf() : undefined;\n }\n\n get dateInputFormat() {\n return this._dateOptions.dateInputFormat || 'yyyy-MM-ddTHH:mm:ss';\n }\n\n /**\n * The displayValue is the display value of the bsDateTimeValue after applying the datePattern on it.\n * @returns {any|string}\n */\n get displayValue(): any {\n return getFormattedDate(this.datePipe, this.proxyModel, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this) || '';\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.proxyModel, 'yyyy-MM-ddTHH:mm:ss', this.timeZone, (this as any).key, this.isCurrentDate, this) || '';\n }\n\n @ViewChild(BsDatepickerDirective) bsDatePickerDirective;\n\n /**\n * This property checks if the timePicker is Open\n */\n public isTimeOpen = false;\n\n /**\n * This property checks if the datePicker is Open\n */\n public isDateOpen = false;\n\n /**\n * This timeinterval is used to run the timer when the time component value is set to CURRENT_TIME in properties panel.\n */\n private timeinterval: any;\n\n /**\n * This property is set to TRUE if the time component value is set to CURRENT_TIME; In this case the timer keeps changing the time value until the widget is available.\n */\n public isCurrentDate = false;\n\n private _debouncedOnChange: Function = debounce(this.invokeOnChange, 10);\n\n private dateContainerCls: string;\n\n // @ts-ignore\n get datavalue(): any {\n if (this.isCurrentDate && !this.proxyModel) {\n return CURRENT_DATE;\n }\n return getFormattedDate(this.datePipe, this.proxyModel, this.outputformat, this.timeZone, null, null, this);\n }\n\n /**Todo[Shubham]: needs to be redefined\n * This property sets the default value for the date selection\n */\n // @ts-ignore\n set datavalue(newVal: any) {\n if (newVal === CURRENT_DATE) {\n this.isCurrentDate = true;\n this.setTimeInterval();\n } else {\n this.proxyModel = newVal ? getDateObj(newVal, {isNativePicker: this.loadNativeDateInput}, this.timeZone) : undefined;\n this.clearTimeInterval();\n this.isCurrentDate = false;\n }\n this.bsTimeValue = this.bsDateValue = this.proxyModel;\n this.cdRef.detectChanges();\n }\n\n constructor(\n inj: Injector,\n private ngZone: NgZone,\n private cdRef: ChangeDetectorRef,\n private appDefaults: AppDefaults,\n app: App,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n this.registerDestroyListener(() => this.clearTimeInterval());\n styler(this.nativeElement, this);\n this.app = app;\n this.dateContainerCls = `app-date-${this.widgetId}`;\n this._dateOptions.containerClass = `app-date ${this.dateContainerCls}`;\n this._dateOptions.showWeekNumbers = false;\n this.datepattern = this.appDefaults.dateTimeFormat || getDisplayDateTimeFormat(FormWidgetType.DATETIME);\n this.updateFormat('datepattern');\n }\n\n /**\n * This is an internal method used to maintain a time interval to update the time model when the data value is set to CURRENT_TIME\n */\n private setTimeInterval() {\n if (this.timeinterval) {\n return;\n }\n this.timeinterval = setInterval(() => {\n const currentTime = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n this.onModelUpdate(currentTime);\n }, 1000);\n }\n\n /**\n * This is an internal method used to clear the time interval created\n */\n private clearTimeInterval() {\n if (this.timeinterval) {\n clearInterval(this.timeinterval);\n this.timeinterval = null;\n }\n }\n\n /**\n * This is an internal method to toggle the time picker\n */\n public toggleTimePicker(newVal, $event?: any) {\n if (this.loadNativeDateInput) {\n this.onDateTimeInputFocus();\n return;\n }\n this.isTimeOpen = newVal;\n if ($event && $event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n }\n this.addTimepickerClickListener(this.isTimeOpen);\n }\n\n private addTimepickerClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const dropdownElement = $(bodyElement).find('>bs-dropdown-container .dropdown-menu').get(0);\n this.deregisterTimepickeEventListener = addEventListenerOnElement(bodyElement, dropdownElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.toggleTimePicker(false);\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This function sets the value isOpen/isTimeOpen (i.e when datepicker popup is closed) based on widget type(i.e DateTime, Time)\n * @param val - isOpen/isTimeOpen is set based on the timepicker popup is open/closed\n */\n private setIsTimeOpen(val: boolean) {\n this.isTimeOpen = val;\n }\n\n private hideTimepickerDropdown() {\n this.invokeOnTouched();\n this.toggleTimePicker(false);\n if (this.deregisterTimepickeEventListener) {\n this.deregisterTimepickeEventListener();\n }\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: this.displayValue, nativeEl: parentEl});\n }\n }\n\n /**\n * This is an internal method to add a click listener once the time dropdown is open\n */\n public onTimepickerOpen() {\n // adding class for time widget dropdown menu\n const tpElements = document.querySelectorAll('timepicker');\n forEach(tpElements, (element) => {\n addClass(element.parentElement as HTMLElement, 'app-datetime', true);\n });\n\n this.bsDatePickerDirective.hide();\n this.focusTimePickerPopover(this);\n this.bindTimePickerKeyboardEvents();\n adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n adjustContainerRightEdges($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n }\n\n public onDatePickerOpen() {\n this.isDateOpen = !this.isDateOpen;\n this.toggleTimePicker(false);\n // We are using the two input tags(To maintain the modal and proxy modal) for the date control.\n // So actual bootstrap input target width we made it to 0 so bootstrap calculating the calendar container top position impropery.\n // To fix the container top position set the width 1px;\n this.$element.find('.model-holder').width('1px');\n const dpContainerEl = $('bs-datepicker-container');\n dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');\n $('.bs-calendar-container').removeAttr('role');\n const datePickerContainer = $('.bs-datepicker-container')[0];\n this.focusTrap = setFocusTrap(datePickerContainer, true);\n this.focusTrap.activate();\n\n this.bsDateValue ? this.activeDate = this.bsDateValue : this.activeDate = new Date();\n if (!this.bsDateValue) {\n this.hightlightToday(this.activeDate);\n }\n this.addDatepickerKeyboardEvents(this, true);\n adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);\n }\n\n /**\n * This is an internal method to update the model\n */\n public onModelUpdate(newVal, type?) {\n\n if (type === 'date') {\n this.invalidDateTimeFormat = false;\n if (getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this) === this.displayValue) {\n $(this.nativeElement).find('.display-input').val(this.displayValue);\n }\n }\n // min date and max date validation in web.\n // if invalid dates are entered, device is showing validation message.\n this.minDateMaxDateValidationOnInput(newVal);\n if (!newVal) {\n // Set timevalue as 00:00:00 if we remove any one from hours/minutes/seconds field in timepicker after selecting date\n if (this.bsDateValue && this.bsTimePicker && (this.bsTimePicker.hours === '' || this.bsTimePicker.minutes === '' || this.bsTimePicker.seconds === '')) {\n this.bsDateValue = this.bsTimeValue = this.proxyModel = moment(this.bsDateValue).startOf('day').toDate();\n } else {\n this.bsDateValue = this.bsTimeValue = this.proxyModel = undefined;\n }\n // When the datavalue is manually cleared, both newval and datavalue are undefined but prevDataValue exists - trigger change cb\n if (newVal !== this.datavalue || (!this.datavalue && (this as any).prevDatavalue)) {\n this._debouncedOnChange(this.datavalue, {}, true);\n }\n return;\n }\n if (type === 'date') {\n if (this.isDateOpen) {\n this.toggleTimePicker(true);\n }\n }\n this.proxyModel = newVal;\n if (this.proxyModel) {\n this.bsDateValue = this.bsTimeValue = newVal;\n }\n this._debouncedOnChange(this.datavalue, {}, true);\n this.cdRef.detectChanges();\n\n // Update timepicker with formatted time, when timezone is provided.\n const timePickerFields = $('.bs-timepicker-field');\n if (this.timeZone && (this as any).key === 'datetimestamp' && timePickerFields.length) {\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.getTimePattern(), this.timeZone, (this as any).key, null, this);\n this.updateTimepickerFields(formattedDate, timePickerFields);\n }\n }\n\n // deduces the timepattern from datepattern set in the studio\n private getTimePattern() {\n let timepattern;\n const timePatternStartIndex = this.datepattern.toLowerCase().indexOf('h');\n let timePatternEndIndex = this.datepattern.toLowerCase().indexOf(':ss');\n if (timePatternEndIndex > -1) {\n // adding the index to +3 to incluse :ss\n timePatternEndIndex += 3;\n } else {\n timePatternEndIndex = this.datepattern.toLowerCase().indexOf(':mm');\n // adding the index to +3 to incluse :mm\n if (timePatternEndIndex > -1) {\n timePatternEndIndex += 3;\n }\n }\n const hasMeridian = this.datepattern.toLowerCase().indexOf('a');\n timepattern = this.datepattern.substr(timePatternStartIndex, timePatternEndIndex);\n if (hasMeridian > -1)\n timepattern += ' a';\n return timepattern;\n }\n\n private updateTimepickerFields(date, timePickerFields) {\n const meridianField = $('timepicker button.text-center');\n const formattedArr = date.split(' ');\n const formattedTime = formattedArr[0].split(':');\n for (let i=0; i<timePickerFields.length; i++) {\n timePickerFields[i].value = formattedTime[i]\n }\n if (meridianField?.html()?.trim() !== formattedArr[1]) {\n meridianField.text(formattedArr[1]);\n }\n }\n\n /**\n * This is an internal method used to Prevent time picker close while changing time value\n */\n private preventTpClose($event) {\n $event.stopImmediatePropagation();\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the date widget\n */\n public toggleDpDropdown($event, skipFocus: boolean = false) {\n if (this.loadNativeDateInput) {\n //Fixes click event getting triggred twice in Mobile devices.\n if(!skipFocus){\n this.onDateTimeInputFocus();\n }\n return;\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n //this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n $event.stopPropagation();\n return;\n }\n this.bsDatePickerDirective.toggle();\n this.addBodyClickListener(this.bsDatePickerDirective.isOpen);\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const bsDateContainerElement = bodyElement.querySelector(`.${this.dateContainerCls}`);\n this.deregisterDatepickerEventListener = addEventListenerOnElement(bodyElement, bsDateContainerElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.bsDatePickerDirective.hide();\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n public hideDatepickerDropdown() {\n this.isDateOpen = false;\n this.focusTrap?.deactivate();\n this.invokeOnTouched();\n this.bsDatePickerDirective.hide();\n\n // To open the timepicker menu when user wants to update time without changing the date.\n if(this.bsDateValue) {\n this.toggleTimePicker(true);\n }\n this.isEnterPressedOnDateInput = false;\n if (this.deregisterDatepickerEventListener) {\n this.deregisterDatepickerEventListener();\n }\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: this.displayValue, nativeEl: parentEl});\n }\n this.blurDateInput(this.isDateOpen);\n }\n\n public onDateChange($event, isNativePicker?: boolean) {\n if (this.isEnterPressedOnDateInput) {\n this.isEnterPressedOnDateInput = false;\n return;\n }\n let newVal = $event.target.value.trim();\n newVal = newVal ? getNativeDateObject(newVal, {pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians, isNativePicker: this.loadNativeDateInput}) : undefined;\n // datetime pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value, isNativePicker)) {\n return;\n }\n // min date and max date validation in mobile view.\n // if invalid dates are entered, device is showing an alert.\n if (isNativePicker && this.minDateMaxDateValidationOnInput(newVal, $event, this.displayValue, isNativePicker)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.onModelUpdate(newVal);\n }\n\n /**\n * This is an internal method triggered when pressing key on the datetime input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n let newVal = event.target.value.trim();\n if (event.key === 'Enter' || event.key === 'ArrowDown') {\n newVal = newVal ? getNativeDateObject(newVal, {pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians}) : undefined;\n event.preventDefault();\n const formattedDate = getFormattedDate(this.datePipe, newVal, this.dateInputFormat, this.timeZone, (this as any).key, this.isCurrentDate, this);\n const inputVal = event.target.value.trim();\n if (inputVal && this.datepattern === 'timestamp') {\n if (!isNaN(inputVal) && parseInt(inputVal) !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n }\n } else if (inputVal && inputVal !== formattedDate) {\n this.invalidDateTimeFormat = true;\n this.invokeOnChange(this.datavalue, event, false);\n } else {\n this.invalidDateTimeFormat = false;\n this.isEnterPressedOnDateInput = true;\n this.bsDatePickerDirective.bsValue = newVal;\n }\n this.toggleDpDropdown(event);\n } else {\n this.hideDatepickerDropdown();\n this.hideTimepickerDropdown();\n }\n } else {\n this.hideDatepickerDropdown();\n this.hideTimepickerDropdown();\n }\n }\n\n private isValid(event) {\n if (!event) {\n const enteredDate = $(this.nativeElement).find('input').val();\n const newVal = getNativeDateObject(enteredDate, {pattern: this.loadNativeDateInput ? this.outputformat : this.datepattern, meridians: this.meridians, isNativePicker: this.loadNativeDateInput});\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n }\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 (!includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n onInputBlur($event) {\n if (!$($event.relatedTarget).hasClass('current-date')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n}\n","import { FormWidgetType, isMobileApp } from '@wm/core';\n\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const timeProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', {value: 'default', ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['hourstep', {value: 1, ...PROP_NUMBER}],\n ['maxtime', PROP_STRING],\n ['mintime', PROP_STRING],\n ['minutestep', {value: 15, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['outputformat', {value: 'HH:mm:ss', ...PROP_STRING}],\n ['placeholder', {value: 'Select time', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showdropdownon', {value: 'default', ...PROP_STRING}],\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['secondsstep', {value: 1, ...PROP_NUMBER}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['timepattern', PROP_STRING],\n ['timestamp', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-time',\n timeProps\n );\n registerFormWidget(\n FormWidgetType.TIME,\n new Map(timeProps)\n );\n};\n"," <div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input class=\"form-control app-textbox display-input\" [attr.aria-label]=\"hint\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"></timepicker>\n </div>\n </div>\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : hint || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n</ng-template>\n","import {Component, Inject, Injector, NgZone, OnDestroy, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\nimport { TimepickerConfig } from 'ngx-bootstrap/timepicker';\nimport {\n $appDigest,\n AbstractI18nService,\n addClass,\n addEventListenerOnElement,\n adjustContainerPosition,\n App,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getNativeDateObject,\n getMomentLocaleObject\n} from '@wm/core';\nimport { provideAsWidgetRef, provideAs, styler } from '@wm/components/base';\n\nimport {BaseDateTimeComponent, getTimepickerConfig} from './../base-date-time.component';\nimport { registerProps } from './time.props';\nimport {forEach, get, includes} from \"lodash-es\";\n\ndeclare const $;\ndeclare const moment;\n\nconst CURRENT_TIME = 'CURRENT_TIME';\nconst DEFAULT_CLS = 'input-group app-timeinput';\nconst WIDGET_CONFIG = {widgetType: 'wm-time', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: '[wmTime]',\n templateUrl: './time.component.html',\n providers: [\n provideAs(TimeComponent, NG_VALUE_ACCESSOR, true),\n provideAs(TimeComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(TimeComponent),\n { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }\n ]\n})\nexport class TimeComponent extends BaseDateTimeComponent implements OnDestroy {\n static initializeProps = registerProps();\n /**\n * This property sets the display pattern of the time selected\n */\n timepattern: string;\n\n /**\n * This property sets the output format for the selected time datavalue\n */\n outputformat: string;\n\n public showdropdownon: string;\n public mintime;\n public maxtime;\n public hint: string;\n\n private deregisterEventListener;\n private app: App;\n private displayInputElem: HTMLElement;\n\n get timestamp() {\n return this.bsTimeValue ? this.bsTimeValue.valueOf() : undefined;\n }\n\n // @ts-ignore\n get datavalue(): any {\n if (this.isCurrentTime && !this.bsTimeValue) {\n return CURRENT_TIME;\n }\n return getFormattedDate(this.datePipe, this.bsTimeValue, this.outputformat, this.timeZone, null, null, this) || '';\n }\n\n /**Todo[Shubham]: needs to be redefined\n * This property sets the default value for the time selection\n */\n // @ts-ignore\n set datavalue(newVal: any) {\n if (newVal) {\n if (newVal === CURRENT_TIME) {\n this.isCurrentTime = true;\n this.setTimeInterval();\n } else {\n this.clearTimeInterval();\n this.bsTimeValue = getNativeDateObject(newVal, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput});\n this.isCurrentTime = false;\n this.mintimeMaxtimeValidation();\n }\n } else {\n this.bsTimeValue = undefined;\n this.clearTimeInterval();\n this.isCurrentTime = false;\n }\n this.invokeOnChange(this.datavalue);\n $appDigest();\n }\n\n get displayValue() {\n return getFormattedDate(this.datePipe, this.bsTimeValue, this.timepattern, this.timeZone, null, null, this) || '';\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.bsTimeValue, 'HH:mm:ss', this.timeZone, null, null, this) || '';\n }\n\n /* Internal property to have a flag to check the given datavalue is of Current time*/\n public isCurrentTime: boolean;\n\n private timeinterval: any;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private minTime: Date;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private maxTime: Date;\n\n /**\n * This is an internal property used to toggle the timepicker dropdown\n */\n public status = { isopen: false };\n\n /**\n * This is an internal property used to map the main model to the time widget\n */\n private bsTimeValue: Date;\n\n constructor(\n inj: Injector,\n private ngZone: NgZone,\n private appDefaults: AppDefaults,\n app: App,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this);\n /**\n * Destroy the timer once the date widget is gone\n */\n this.registerDestroyListener(() => this.clearTimeInterval());\n\n this.timepattern = this.appDefaults.timeFormat || getDisplayDateTimeFormat(FormWidgetType.TIME);\n this.updateFormat('timepattern');\n this.app = app;\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'timepattern') {\n this.updateFormat('timepattern');\n }\n if (key === 'mintime') {\n this.minTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput }); // TODO it is supposed to be time conversion, not to the day\n this.mintimeMaxtimeValidation();\n } else if (key === 'maxtime') {\n this.maxTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.mintimeMaxtimeValidation();\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n setValidateType(min, max, val) {\n if (this.timeNotInRange) {\n if (val < min) {\n (this as any).validateType = 'mintime';\n } else if (val > max) {\n (this as any).validateType = 'maxtime';\n }\n }\n }\n\n /**\n * This is an internal method used to validate mintime and maxtime\n */\n private mintimeMaxtimeValidation() {\n this.timeNotInRange = this.minTime && this.maxTime && (this.bsTimeValue < this.minTime || this.bsTimeValue > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, this.bsTimeValue);\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the time widget\n */\n public toggleDropdown($event, skipFocus: boolean = false): void {\n if (this.loadNativeDateInput) {\n //Fixes click event getting triggred twice in Mobile devices.\n if(!skipFocus){\n this.onDateTimeInputFocus();\n }\n return;\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', {$event: $event});\n //this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n return;\n }\n this.ngZone.run(() => {\n this.status.isopen = !this.status.isopen;\n });\n this.addBodyClickListener(this.status.isopen);\n }\n\n /**\n * This is an internal method used to Prevent time picker close while changing time value\n */\n private preventTpClose($event) {\n $event.stopImmediatePropagation();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: this.displayValue, nativeEl: parentEl});\n }\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const dropdownElement = $(bodyElement).find('>bs-dropdown-container .dropdown-menu').get(0);\n this.deregisterEventListener = addEventListenerOnElement(bodyElement, dropdownElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.status.isopen = false;\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This is an internal method triggered when pressing key on the time input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n if (event.key === 'Enter' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.toggleDropdown(event);\n } else {\n this.hideTimepickerDropdown();\n }\n } else {\n this.hideTimepickerDropdown();\n }\n }\n\n /**\n * This is an internal method triggered when the time input changes\n */\n onDisplayTimeChange($event) {\n const newVal = getNativeDateObject($event.target.value, {meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n // time pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.onTimeChange(newVal);\n }\n\n onInputBlur($event) {\n if (!$($event.relatedTarget).hasClass('bs-timepicker-field')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', {$event});\n }\n }\n\n /**\n * This is an internal method used to execute the on time change functionality\n */\n private onTimeChange(newVal, isNativePicker?: boolean) {\n let timeValue,\n timeInputValue,\n minTimeMeridian,\n maxTimeMeridian;\n // For nativePicker, newVal is event, get the dateobject from the event.\n if (isNativePicker) {\n newVal = getNativeDateObject(newVal.target.value, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n }\n if (newVal) {\n this.bsTimeValue = newVal;\n // if the newVal is valid but not in the given range then highlight the input field\n this.timeNotInRange = this.minTime && this.maxTime && (newVal < this.minTime || newVal > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, newVal);\n } else {\n // sometimes library is not returning the correct value when the min and max time are given, displaying the datavalue based on the value given by the user\n if (this.bsTimePicker && this.bsTimePicker.min && this.bsTimePicker.max) {\n minTimeMeridian = moment(new Date(this.bsTimePicker.min)).format('A');\n maxTimeMeridian = moment(new Date(this.bsTimePicker.max)).format('A');\n timeValue = this.bsTimePicker.hours + ':' + (this.bsTimePicker.minutes || 0) + ':' + (this.bsTimePicker.seconds || 0) + (this.bsTimePicker.showMeridian ? (' ' + minTimeMeridian) : '');\n timeInputValue = getNativeDateObject(timeValue, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.bsTimePicker.meridian = minTimeMeridian;\n this.timeNotInRange = (this.bsTimePicker.min > timeInputValue || this.bsTimePicker.max < timeInputValue);\n this.setValidateType(this.bsTimePicker.min, this.bsTimePicker.max, timeInputValue);\n }\n this.bsTimeValue = timeInputValue;\n }\n this.invokeOnTouched();\n this.invokeOnChange(this.datavalue, {}, true);\n }\n\n /**\n * This is an internal method used to maintain a time interval to update the time model when the data value is set to CURRENT_TIME\n */\n private setTimeInterval() {\n if (this.timeinterval) {\n return;\n }\n this.timeinterval = setInterval( () => {\n const now = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n now.setSeconds(now.getSeconds() + 1);\n this.datavalue = CURRENT_TIME;\n this.onTimeChange(now);\n }, 1000);\n }\n\n /**\n * This is an internal method used to clear the time interval created\n */\n private clearTimeInterval() {\n if (this.timeinterval) {\n clearInterval(this.timeinterval);\n this.timeinterval = null;\n }\n }\n\n /**\n * This function sets the value isOpen/isTimeOpen (i.e when datepicker popup is closed) based on widget type(i.e DateTime, Time)\n * @param val - isOpen/isTimeOpen is set based on the timepicker popup is open/closed\n */\n private setIsTimeOpen(val: boolean) {\n this.status.isopen = val;\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', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, eventCallback, locals);\n }\n }\n\n public hideTimepickerDropdown() {\n this.invokeOnTouched();\n this.status.isopen = false;\n if (this.deregisterEventListener) {\n this.deregisterEventListener();\n }\n this.removeKeyupListener();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: this.displayValue, nativeEl: parentEl});\n }\n this.blurDateInput(true);\n }\n\n private isValid(event) {\n if (!event) {\n const enteredDate = $(this.nativeElement).find('input').val();\n const newVal = getNativeDateObject(enteredDate, {meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n }\n }\n /**\n * This is an internal method to add css class for dropdown while opening the time dropdown\n */\n public onShown() {\n const tpElements = document.querySelectorAll('timepicker');\n forEach(tpElements, element => {\n addClass(element.parentElement as HTMLElement, 'app-datetime', true);\n });\n this.focusTimePickerPopover(this);\n this.bindTimePickerKeyboardEvents();\n adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n }\n\n public assignModel() {\n if (!this.displayInputElem) {\n this.displayInputElem = this.getMobileInput();\n }\n (this.displayInputElem as any).value = get(this, 'nativeDisplayValue');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { DateComponent } from './date/date.component';\nimport { DateTimePickerComponent, TimePickerComponent } from './date-time/date-time-picker.component';\nimport { DatetimeComponent } from './date-time/date-time.component';\nimport { TimeComponent } from './time/time.component';\nimport { PickerComponent, PickerGroupComponent } from './picker/picker.component';\nimport { IMaskModule } from 'angular-imask';\n\n\nconst components = [\n DateComponent,\n DatetimeComponent,\n TimeComponent,\n DateTimePickerComponent,\n TimePickerComponent,\n PickerComponent,\n PickerGroupComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n BsDatepickerModule,\n BsDropdownModule,\n FormsModule,\n TimepickerModule,\n WmComponentsModule,\n IMaskModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class EpochModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_c0","CURRENT_DATE","_isNaN","parseInt","registerProps","DEFAULT_CLS","WIDGET_CONFIG","isNaN","_c1"],"mappings":"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"}
|