@wavemaker/app-ng-runtime 11.8.0-next.24904 → 11.8.0-next.27301
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/bundles/index.umd.js +5 -5
- app-ng-runtime/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +1 -1
- app-ng-runtime/build-task/esm2022/page/page.build.mjs +3 -2
- app-ng-runtime/build-task/fesm2022/index.mjs +2 -1
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +5 -5
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +3 -2
- app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +1 -1
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/bundles/index.umd.js +6 -6
- app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +4 -3
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs +3 -2
- app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/bundles/index.umd.js +203 -171
- app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +1 -1
- app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +12 -11
- app-ng-runtime/components/base/esm2022/pipes/wm-pipe.mjs +3 -2
- app-ng-runtime/components/base/esm2022/utils/data-utils.mjs +30 -29
- app-ng-runtime/components/base/esm2022/utils/form-utils.mjs +47 -41
- 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 +4 -3
- app-ng-runtime/components/base/esm2022/widgets/common/base/base-field-validations.mjs +24 -21
- app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +12 -11
- app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +40 -14
- app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +1 -1
- app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +3 -2
- app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +6 -5
- 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/widget-proxy-provider.mjs +4 -3
- app-ng-runtime/components/base/fesm2022/index.mjs +206 -173
- 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/utils/data-utils.d.ts +0 -1
- app-ng-runtime/components/base/utils/widget-utils.d.ts +2 -2
- app-ng-runtime/components/base/widgets/common/base/base-field-validations.d.ts +1 -1
- app-ng-runtime/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
- app-ng-runtime/components/basic/default/bundles/index.umd.js +10 -10
- app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +4 -3
- app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +6 -5
- app-ng-runtime/components/basic/default/fesm2022/index.mjs +7 -6
- app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +13 -13
- app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +5 -4
- app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +6 -5
- app-ng-runtime/components/basic/progress/esm2022/utils.mjs +3 -3
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs +10 -9
- app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +15 -10
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +14 -8
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +13 -7
- 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/bundles/index.umd.js +67 -65
- 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/search.component.mjs +31 -30
- app-ng-runtime/components/basic/search/fesm2022/index.mjs +66 -63
- app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/basic/tree/bundles/index.umd.js +9 -9
- app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +7 -6
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs +6 -5
- app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/chart/bundles/index.umd.js +72 -63
- app-ng-runtime/components/chart/chart.component.d.ts +1 -1
- app-ng-runtime/components/chart/chart.utils.d.ts +3 -3
- app-ng-runtime/components/chart/esm2022/chart.component.mjs +58 -48
- app-ng-runtime/components/chart/esm2022/chart.utils.mjs +14 -13
- app-ng-runtime/components/chart/fesm2022/index.mjs +69 -59
- app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +16 -16
- app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +14 -13
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +13 -12
- app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +5 -5
- app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +3 -2
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/panel.component.d.ts +1 -1
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +17 -17
- app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +15 -14
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +14 -13
- app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/bundles/index.umd.js +75 -75
- app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +10 -9
- app-ng-runtime/components/data/form/esm2022/form.component.mjs +54 -53
- app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
- app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +11 -10
- app-ng-runtime/components/data/form/fesm2022/index.mjs +77 -76
- app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form.component.d.ts +2 -2
- app-ng-runtime/components/data/form/live-form/live-form.directive.d.ts +1 -1
- app-ng-runtime/components/data/list/bundles/index.umd.js +692 -687
- app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +1 -1
- app-ng-runtime/components/data/list/esm2022/list.animator.mjs +5 -3
- app-ng-runtime/components/data/list/esm2022/list.component.mjs +687 -682
- app-ng-runtime/components/data/list/fesm2022/index.mjs +690 -684
- app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/list.component.d.ts +53 -53
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +1 -1
- app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +2 -2
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +14 -14
- app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +12 -11
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs +11 -10
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/bundles/index.umd.js +175 -172
- app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
- app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +19 -18
- app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +7 -6
- app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +53 -55
- app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
- app-ng-runtime/components/data/table/esm2022/table.component.mjs +98 -91
- app-ng-runtime/components/data/table/fesm2022/index.mjs +172 -168
- app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +6 -6
- app-ng-runtime/components/data/table/table.component.d.ts +2 -2
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +2 -2
- app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
- app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +1 -1
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +33 -31
- app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +31 -28
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs +30 -27
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +29 -28
- app-ng-runtime/components/input/chips/chips.component.d.ts +1 -1
- app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +27 -25
- app-ng-runtime/components/input/chips/fesm2022/index.mjs +26 -24
- app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/base-form.component.d.ts +3 -3
- app-ng-runtime/components/input/default/bundles/index.umd.js +75 -62
- app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
- app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +4 -4
- app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +14 -8
- app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +3 -2
- app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +6 -4
- app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +29 -23
- app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +4 -3
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +4 -3
- app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
- app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +4 -3
- app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +20 -18
- app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +2 -2
- app-ng-runtime/components/input/default/fesm2022/index.mjs +75 -62
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -1
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +53 -51
- app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +34 -31
- app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +5 -4
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +5 -4
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +7 -6
- app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +1 -1
- app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +6 -5
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +48 -45
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +15 -15
- app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +13 -12
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +12 -11
- app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/bundles/index.umd.js +12 -12
- app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +10 -9
- app-ng-runtime/components/input/rating/fesm2022/index.mjs +9 -8
- app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +1 -1
- app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +2 -2
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +23 -22
- app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +3 -2
- app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +6 -5
- app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +8 -7
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +10 -8
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +20 -18
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +12 -1
- app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +1 -1
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/bundles/index.umd.js +6 -6
- app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
- app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +3 -2
- app-ng-runtime/components/prefab/fesm2022/index.mjs +3 -2
- app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +119 -130
- app-ng-runtime/core/esm2022/public_api.mjs +2 -2
- app-ng-runtime/core/esm2022/services/field-type.service.mjs +3 -2
- app-ng-runtime/core/esm2022/services/field-widget.service.mjs +3 -2
- app-ng-runtime/core/esm2022/services/pagination.service.mjs +7 -6
- app-ng-runtime/core/esm2022/services/state-persistence.service.mjs +17 -16
- app-ng-runtime/core/esm2022/services/utils.service.mjs +3 -2
- app-ng-runtime/core/esm2022/services/viewport.service.mjs +3 -2
- app-ng-runtime/core/esm2022/utils/build-utils.mjs +5 -4
- app-ng-runtime/core/esm2022/utils/expression-parser.mjs +5 -4
- 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/fesm2022/index.mjs +117 -123
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/public_api.d.ts +1 -1
- 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/bundles/index.umd.js +7 -7
- app-ng-runtime/http/esm2022/http.service.mjs +5 -4
- 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 +4 -3
- app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +24 -20
- app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +5 -4
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +12 -8
- app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +5 -3
- app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +3 -2
- app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +5 -4
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +21 -16
- app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +7 -7
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +2 -2
- app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +4 -3
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs +4 -3
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +8 -8
- app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.component.mjs +4 -3
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs +3 -2
- app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +5 -5
- app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +3 -2
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +2 -1
- app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +9 -9
- app-ng-runtime/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +7 -6
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +6 -5
- app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/core/bundles/index.umd.js +25 -25
- app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +5 -4
- app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +3 -2
- app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +4 -3
- app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +6 -5
- app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +3 -2
- app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +5 -4
- app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +9 -8
- app-ng-runtime/mobile/core/fesm2022/index.mjs +22 -21
- 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/bundles/index.umd.js +161 -144
- app-ng-runtime/mobile/offline/esm2022/models/local-db-store.mjs +23 -21
- app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +7 -6
- app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +37 -35
- app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +54 -45
- app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +5 -4
- 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/multi-part-param-transformer.mjs +9 -5
- 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/fesm2022/index.mjs +156 -138
- app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime/bundles/index.umd.js +11 -8
- app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +3 -2
- app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +6 -2
- app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +4 -3
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs +8 -4
- app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +2 -2
- app-ng-runtime/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +3 -3
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +2 -2
- app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/mobile/variables/bundles/index.umd.js +23 -16
- app-ng-runtime/mobile/variables/esm2022/services/camera-service.mjs +2 -2
- app-ng-runtime/mobile/variables/esm2022/services/datasync-service.mjs +10 -9
- app-ng-runtime/mobile/variables/esm2022/services/file-service.mjs +11 -3
- app-ng-runtime/mobile/variables/fesm2022/index.mjs +19 -11
- app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/oAuth/bundles/index.umd.js +12 -12
- app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +4 -3
- app-ng-runtime/oAuth/esm2022/oAuth.utils.mjs +8 -7
- app-ng-runtime/oAuth/fesm2022/index.mjs +9 -8
- app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +121 -120
- app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +4 -3
- app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +14 -13
- app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +13 -12
- app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +15 -14
- app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +14 -13
- app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +6 -5
- app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -10
- app-ng-runtime/runtime/base/esm2022/guards/page-not-found.guard.mjs +1 -1
- app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +3 -2
- app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +1 -1
- app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +17 -14
- app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +7 -6
- app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +3 -2
- app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +4 -3
- app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +12 -10
- app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +8 -7
- app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +3 -2
- app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +7 -6
- app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +6 -5
- app-ng-runtime/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +6 -7
- app-ng-runtime/runtime/base/fesm2022/index.mjs +119 -117
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/runtime/base/services/i18n.service.d.ts +1 -1
- app-ng-runtime/runtime/dynamic/bundles/index.umd.js +7 -7
- app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +4 -3
- app-ng-runtime/runtime/dynamic/esm2022/main.mjs +3 -2
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +4 -3
- app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- 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/bundles/index.umd.js +14 -14
- app-ng-runtime/security/esm2022/security.service.mjs +12 -11
- app-ng-runtime/security/fesm2022/index.mjs +11 -10
- app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/security/security.service.d.ts +1 -1
- app-ng-runtime/swipey/esm2022/swipe.animation.mjs +1 -1
- app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
- 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/bundles/index.umd.js +155 -145
- app-ng-runtime/variables/esm2022/manager/action/login-action.manager.mjs +15 -14
- 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/web-socket-variable.manager.mjs +11 -10
- app-ng-runtime/variables/esm2022/service/variables.service.mjs +7 -6
- 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/fesm2022/index.mjs +169 -158
- app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/variables/util/variable/service-variable.utils.d.ts +1 -1
|
@@ -6,6 +6,7 @@ import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
|
|
|
6
6
|
import * as i1 from '@wm/core';
|
|
7
7
|
import { getClonedObject, getSessionStorageItem, isMobile, CoreModule } from '@wm/core';
|
|
8
8
|
import { PROP_STRING, PROP_NUMBER, PROP_ANY, PROP_BOOLEAN, register, StylableComponent, APPLY_STYLES_TYPE, styler, createArrayFrom, getEvaluatedData, provideAsWidgetRef, WmComponentsModule } from '@wm/components/base';
|
|
9
|
+
import { isObject, isDate, extend, includes, capitalize, clone, isEmpty, get, mapKeys, each } from 'lodash-es';
|
|
9
10
|
|
|
10
11
|
const registerProps = () => {
|
|
11
12
|
const props = new Map([
|
|
@@ -90,8 +91,10 @@ class CalendarComponent extends StylableComponent {
|
|
|
90
91
|
selectDate() {
|
|
91
92
|
let start, end;
|
|
92
93
|
// checks if datavalue is an object and not a Date object
|
|
93
|
-
if (
|
|
94
|
+
if (isObject(this.datavalue) && !isDate(this.datavalue)) {
|
|
95
|
+
// @ts-ignore
|
|
94
96
|
start = moment(this.datavalue.start);
|
|
97
|
+
// @ts-ignore
|
|
95
98
|
end = moment(this.datavalue.end);
|
|
96
99
|
}
|
|
97
100
|
else {
|
|
@@ -216,7 +219,7 @@ class CalendarComponent extends StylableComponent {
|
|
|
216
219
|
*/
|
|
217
220
|
convertEventObjForOldAndNewData(eventObj) {
|
|
218
221
|
const _eventMetadata = eventObj.extendedProps;
|
|
219
|
-
|
|
222
|
+
extend(eventObj, _eventMetadata);
|
|
220
223
|
return eventObj;
|
|
221
224
|
}
|
|
222
225
|
eventResize(eventResizeInfo) {
|
|
@@ -260,19 +263,19 @@ class CalendarComponent extends StylableComponent {
|
|
|
260
263
|
const ctrls = this.controls, viewType = this.calendartype, regEx = new RegExp('\\bday\\b', 'g');
|
|
261
264
|
let left = '', right = '';
|
|
262
265
|
if (ctrls && viewType) {
|
|
263
|
-
if (
|
|
266
|
+
if (includes(ctrls, 'navigation')) {
|
|
264
267
|
left += ' prev next';
|
|
265
268
|
}
|
|
266
|
-
if (
|
|
269
|
+
if (includes(ctrls, 'today')) {
|
|
267
270
|
left += ' today';
|
|
268
271
|
}
|
|
269
|
-
if (
|
|
272
|
+
if (includes(ctrls, 'year')) {
|
|
270
273
|
right += (viewType === VIEW_TYPES.LIST) ? 'listYear' : '';
|
|
271
274
|
}
|
|
272
|
-
if (
|
|
275
|
+
if (includes(ctrls, 'month')) {
|
|
273
276
|
right += (viewType === VIEW_TYPES.LIST) ? ' listMonth' : ' dayGridMonth';
|
|
274
277
|
}
|
|
275
|
-
if (
|
|
278
|
+
if (includes(ctrls, 'week')) {
|
|
276
279
|
right += (viewType === VIEW_TYPES.BASIC) ? ' dayGridWeek' : (viewType === VIEW_TYPES.LIST) ? ' listWeek' : ' timeGridWeek';
|
|
277
280
|
}
|
|
278
281
|
if (regEx.test(ctrls)) {
|
|
@@ -284,7 +287,7 @@ class CalendarComponent extends StylableComponent {
|
|
|
284
287
|
if (right.charAt(0) === ' ') {
|
|
285
288
|
right = right.substring(1);
|
|
286
289
|
}
|
|
287
|
-
|
|
290
|
+
extend(this.calendarOptions.calendar.headerToolbar, { 'start': left, 'end': right });
|
|
288
291
|
}
|
|
289
292
|
}
|
|
290
293
|
constructor(inj, i18nService, explicitContext) {
|
|
@@ -374,7 +377,7 @@ class CalendarComponent extends StylableComponent {
|
|
|
374
377
|
break;
|
|
375
378
|
case 'view':
|
|
376
379
|
if (nv !== 'month' || this.calendartype === VIEW_TYPES.LIST) {
|
|
377
|
-
this.calendarOptions.calendar.defaultView = this.calendartype +
|
|
380
|
+
this.calendarOptions.calendar.defaultView = this.calendartype + capitalize(nv);
|
|
378
381
|
}
|
|
379
382
|
else {
|
|
380
383
|
this.calendarOptions.calendar.defaultView = nv;
|
|
@@ -408,8 +411,8 @@ class CalendarComponent extends StylableComponent {
|
|
|
408
411
|
calculateHeight(height) {
|
|
409
412
|
const $parent = $(this.nativeElement).parent(), elHeight = height || '650px';
|
|
410
413
|
let parentHeight = $parent.css('height'), computedHeight;
|
|
411
|
-
if (
|
|
412
|
-
if (
|
|
414
|
+
if (includes(elHeight, '%')) {
|
|
415
|
+
if (includes(parentHeight, '%')) {
|
|
413
416
|
parentHeight = $parent.height();
|
|
414
417
|
}
|
|
415
418
|
computedHeight = (parseInt(parentHeight, 10) * Number(elHeight.replace(/\%/g, ''))) / 100;
|
|
@@ -450,23 +453,23 @@ class CalendarComponent extends StylableComponent {
|
|
|
450
453
|
className: this.eventclass || 'className'
|
|
451
454
|
};
|
|
452
455
|
eventSource.forEach((obj) => {
|
|
453
|
-
obj._eventMetadata =
|
|
454
|
-
if (
|
|
456
|
+
obj._eventMetadata = clone(obj);
|
|
457
|
+
if (isEmpty(obj._eventMetadata.url)) {
|
|
455
458
|
delete obj._eventMetadata.url;
|
|
456
459
|
}
|
|
457
|
-
if (
|
|
460
|
+
if (isEmpty(obj.url)) {
|
|
458
461
|
delete obj.url;
|
|
459
462
|
}
|
|
460
|
-
|
|
463
|
+
mapKeys(properties, (value, key) => {
|
|
461
464
|
let objVal;
|
|
462
465
|
if (key === 'title') {
|
|
463
466
|
objVal = getEvaluatedData(obj, { expression: value }, this.viewParent);
|
|
464
467
|
}
|
|
465
468
|
else if (key === 'allDay') {
|
|
466
|
-
objVal = !!
|
|
469
|
+
objVal = !!get(obj, value);
|
|
467
470
|
}
|
|
468
471
|
else {
|
|
469
|
-
objVal =
|
|
472
|
+
objVal = get(obj, value);
|
|
470
473
|
}
|
|
471
474
|
if (!objVal) {
|
|
472
475
|
return;
|
|
@@ -477,11 +480,11 @@ class CalendarComponent extends StylableComponent {
|
|
|
477
480
|
return eventSource;
|
|
478
481
|
}
|
|
479
482
|
setLocale() {
|
|
480
|
-
const year =
|
|
481
|
-
const month =
|
|
482
|
-
const week =
|
|
483
|
-
const day =
|
|
484
|
-
const today =
|
|
483
|
+
const year = get(this.appLocale, 'LABEL_CALENDAR_YEAR') || BUTTON_TEXT.YEAR;
|
|
484
|
+
const month = get(this.appLocale, 'LABEL_CALENDAR_MONTH') || BUTTON_TEXT.MONTH;
|
|
485
|
+
const week = get(this.appLocale, 'LABEL_CALENDAR_WEEK') || BUTTON_TEXT.WEEK;
|
|
486
|
+
const day = get(this.appLocale, 'LABEL_CALENDAR_DAY') || BUTTON_TEXT.DAY;
|
|
487
|
+
const today = get(this.appLocale, 'LABEL_CALENDAR_TODAY') || BUTTON_TEXT.TODAY;
|
|
485
488
|
this.calendarOptions.calendar.buttonText = { year, month, week, day, today,
|
|
486
489
|
'listYear': year,
|
|
487
490
|
'listMonth': month,
|
|
@@ -494,7 +497,7 @@ class CalendarComponent extends StylableComponent {
|
|
|
494
497
|
* @param options
|
|
495
498
|
*/
|
|
496
499
|
overrideDefaults(options) {
|
|
497
|
-
if (
|
|
500
|
+
if (isObject(options)) {
|
|
498
501
|
Object.entries(options).map(option => this.$fullCalendar.setOption(option[0], option[1]));
|
|
499
502
|
}
|
|
500
503
|
}
|
|
@@ -539,7 +542,7 @@ class CalendarComponent extends StylableComponent {
|
|
|
539
542
|
* @param eventObject
|
|
540
543
|
*/
|
|
541
544
|
addEventSource(eventObject) {
|
|
542
|
-
if (
|
|
545
|
+
if (isEmpty(eventObject)) {
|
|
543
546
|
console.warn('addEventSource method requires an object as a parameter.');
|
|
544
547
|
return;
|
|
545
548
|
}
|
|
@@ -606,11 +609,11 @@ class CalendarComponent extends StylableComponent {
|
|
|
606
609
|
const self = this;
|
|
607
610
|
this.$fullCalendar.batchRendering(function () {
|
|
608
611
|
const events = self.$fullCalendar.getEvents();
|
|
609
|
-
|
|
612
|
+
each(events, function (event) {
|
|
610
613
|
const eventData = self.$fullCalendar.getEventById(event.id);
|
|
611
614
|
eventData.remove();
|
|
612
615
|
});
|
|
613
|
-
|
|
616
|
+
each(self.dataSetEvents.events, function (event) {
|
|
614
617
|
self.$fullCalendar.addEvent(event);
|
|
615
618
|
});
|
|
616
619
|
});
|
|
@@ -653,7 +656,7 @@ class CalendarComponent extends StylableComponent {
|
|
|
653
656
|
type: ViewChild,
|
|
654
657
|
args: ['datepicker']
|
|
655
658
|
}] }); })();
|
|
656
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "calendar.component.ts", lineNumber:
|
|
659
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "calendar.component.ts", lineNumber: 102 }); })();
|
|
657
660
|
|
|
658
661
|
const components = [
|
|
659
662
|
CalendarComponent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/calendar/src/calendar.props.ts","../../../../../projects/components/widgets/input/calendar/src/calendar.component.ts","../../../../../projects/components/widgets/input/calendar/src/calendar.component.html","../../../../../projects/components/widgets/input/calendar/src/calendar.module.ts","../../../../../projects/components/widgets/input/calendar/src/index.ts"],"sourcesContent":["import { isMobileApp } from '@wm/core';\n\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n const props = new Map(\n [\n ['calendartype', {value: 'basic', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['controls', {value: 'navigation, today, year, month, week, day', ...PROP_STRING}],\n ['dataset', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['eventallday', PROP_STRING],\n ['eventclass', PROP_STRING],\n ['eventend', PROP_STRING],\n ['eventstart', PROP_STRING],\n ['eventtitle', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showindevice', {displayType: 'inline-block', value: 'all', ...PROP_STRING}],\n ['view', PROP_STRING],\n ['selectionmode', PROP_STRING]\n ]\n );\n register('wm-calendar', props);\n};\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ElementRef,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {AbstractI18nService, getClonedObject, getSessionStorageItem, isMobile} from '@wm/core';\n\nimport {\n APPLY_STYLES_TYPE,\n createArrayFrom,\n getEvaluatedData,\n IRedrawableComponent,\n provideAsWidgetRef,\n StylableComponent,\n styler\n} from '@wm/components/base';\n\nimport {registerProps} from './calendar.props';\n\ndeclare const _, $, moment;\n\nconst DEFAULT_CLS = 'app-calendar';\nconst dateFormats = ['yyyy-MM-dd', 'yyyy-M-dd', 'M-dd-yyyy', 'MM-dd-yy', 'yyyy, dd MMMM', 'yyyy, MMM dd', 'MM/dd/yyyy', 'M/d/yyyy', 'EEE, dd MMM yyyy', 'EEE MMM dd yyyy', 'EEEE, MMMM dd, yyyy', 'timestamp'];\nconst defaultHeaderOptions = {\n start: 'prev next today',\n center: 'title',\n end: 'dayGridMonth dayGridWeek dayGridDay'\n};\nconst VIEW_TYPES = {\n BASIC: 'basic',\n AGENDA: 'agenda',\n LIST: 'list'\n};\nconst BUTTON_TEXT = {\n YEAR: 'Year',\n MONTH: 'Month',\n WEEK: 'Week',\n DAY: 'Day',\n TODAY: 'Today'\n};\nconst SELECTION_MODES = {\n NONE: 'none',\n SINGLE: 'single',\n MULTIPLE: 'multiple'\n};\nconst NEXT_DAY_THRESHOLD = {\n START: '00:00',\n END: '24:00'\n};\nconst getEventMomentValue = (value, key) => {\n let isDate = false;\n\n dateFormats.forEach((format) => {\n // moment supports uppercase formats\n if (moment(value, format.toUpperCase(), true).isValid()) {\n isDate = true;\n return false;\n }\n });\n\n // if the value is date then for end date the value should be end of the day as the calendar is approximating it to the start.\n if (isDate && key === 'end') {\n return moment(value).endOf('day');\n }\n\n return moment(value);\n};\nconst getUTCDateTime = (dateObj) => {\n dateObj = moment(dateObj);\n const year = dateObj.format('YYYY'),\n // javascript starts the month count from '0' where as moment returns the human count\n month = dateObj.format('MM') - 1,\n day = dateObj.format('DD'),\n hours = dateObj.format('HH'),\n minutes = dateObj.format('mm'),\n seconds = dateObj.format('ss');\n return new Date(year, month, day, hours, minutes, seconds);\n};\nconst WIDGET_CONFIG = {widgetType: 'wm-calendar', hostClass: DEFAULT_CLS};\nconst dateFormat = 'YYYY/MM/DD';\n\n@Component({\n selector: '[wmCalendar]',\n templateUrl: './calendar.component.html',\n styleUrls: ['../../../../../../node_modules/fullcalendar/main.css'],\n providers: [\n provideAsWidgetRef(CalendarComponent)\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CalendarComponent extends StylableComponent implements AfterContentInit, AfterViewInit, OnInit, OnDestroy, IRedrawableComponent {\n static initializeProps = registerProps();\n // The calendar element reference\n @ViewChild('calendar') _calendar: ElementRef;\n @ViewChild('datepicker') _datepicker: ElementRef;\n\n public selecteddates: any;\n public selecteddata: any;\n public currentview: object;\n public dataset: any;\n public calendartype;\n public controls = 'navigation, today, year, month, week, day';\n public datavalue;\n public eventtitle;\n public eventstart;\n public eventend;\n public eventallday;\n public eventclass;\n\n private eventSources: Array<any> = [];\n\n private dataSetEvents = {\n events: []\n };\n private oldData;\n // map the fullcalendar Element rendered\n private $fullCalendar;\n // model to the mobile calendar\n private proxyModel;\n private eventData;\n private events;\n private changesStack = [];\n\n // calendarOptions to the calendar\n private calendarOptions: any = {\n calendar: {\n height: 600,\n eventSources: this.eventSources,\n editable: true,\n locale: getSessionStorageItem('selectedLocale') || 'en',\n selectable: false,\n longPressDelay: isMobile() ? 1 : 1000,\n headerToolbar: defaultHeaderOptions,\n nextDayThreshold: NEXT_DAY_THRESHOLD,\n views: {\n month: {\n dayMaxEventsRow: true\n }\n },\n unselectAuto: false,\n eventDrop: this.eventDrop.bind(this),\n eventResizeStart: this.onEventChangeStart.bind(this),\n eventDragStart: this.onEventChangeStart.bind(this),\n eventResize: this.eventResize.bind(this),\n eventClick: this.eventClick.bind(this),\n select: this.select.bind(this),\n eventDidMount: this.eventDidMount.bind(this),\n viewDidMount: this.viewDidMount.bind(this),\n datesSet: this.datesSet.bind(this),\n dateClick: this.dateClick.bind(this)\n }\n };\n public view: string;\n private dayClass: Array<any> = [];\n private cancelLocaleChangeSubscription;\n\n // this function selects the default date given for the calendar\n selectDate() {\n let start, end;\n // checks if datavalue is an object and not a Date object\n if (_.isObject(this.datavalue) && !_.isDate(this.datavalue)) {\n start = moment(this.datavalue.start);\n end = moment(this.datavalue.end);\n } else {\n start = moment(this.datavalue);\n end = moment(this.datavalue).add(1, 'day').startOf('day');\n }\n\n this.$fullCalendar.gotoDate( moment(start)._d); // after selecting the date go to the date.\n\n this.$fullCalendar.select(start.valueOf(), end.valueOf());\n }\n\n // changes the calendar view to the default date given for the calendar.\n public gotoDate() {\n this.$fullCalendar.gotoDate( moment(this.datavalue)._d);\n }\n\n // this function takes the calendar view to the a year ahead\n public gotoNextYear() {\n this.$fullCalendar.nextYear();\n }\n\n // this function takes the calendar view to the a year before\n public gotoPrevYear() {\n this.$fullCalendar.prevYear();\n }\n\n /**\n * this function takes the calendar view to the specified month\n * @param monthVal, 1-12 value of month\n */\n public gotoMonth(monthVal) {\n let presentDay = this.$fullCalendar.getDate();\n const presentMonthVal = presentDay.getMonth();\n presentDay = moment(presentDay);\n if (presentMonthVal < monthVal) {\n this.$fullCalendar.gotoDate(presentDay.add(monthVal - presentMonthVal - 1, 'M').valueOf());\n } else {\n this.$fullCalendar.gotoDate(presentDay.subtract( presentMonthVal - monthVal + 1, 'M').valueOf());\n }\n }\n\n // this function takes the calendar view to the a month ahead\n public gotoNextMonth() {\n const presentDay = moment(this.$fullCalendar.getDate());\n this.$fullCalendar.gotoDate(presentDay.add(1, 'M').valueOf());\n }\n\n // this function takes the calendar view to the a month before\n public gotoPrevMonth() {\n const presentDay = moment(this.$fullCalendar.getDate());\n this.$fullCalendar.gotoDate(presentDay.subtract(1, 'M').valueOf());\n }\n\n\n // this function re-renders the events assigned to the calendar.\n public rerenderEvents() {\n this.$fullCalendar.render();\n }\n\n private setSelectedData(start, end) {\n let dataset = this.dataset;\n if (!dataset) {\n return;\n }\n\n const filteredDates = [];\n const eventStartKey = this.eventstart || 'start';\n const eventEndKey = this.eventend || 'end';\n const startDate = moment(new Date(start)).format('MM/DD/YYYY');\n const endDate = moment(new Date(end)).subtract(1, 'days').format('MM/DD/YYYY');\n\n dataset = dataset.data || dataset;\n dataset.forEach((value) => {\n if (!value[eventStartKey]) {\n return;\n }\n const eventStartDate = moment(new Date(value[eventStartKey])).format('MM/DD/YYYY');\n const eventEndDate = moment(new Date(value[eventEndKey] || value[eventStartKey])).format('MM/DD/YYYY');\n const eventExists = moment(eventStartDate).isSameOrAfter(startDate) && moment(eventEndDate).isSameOrBefore(endDate);\n if (eventExists) {\n filteredDates.push(value);\n }\n });\n return filteredDates;\n }\n\n private eventDrop(eventDropInfo) {\n let newDataObj = this.convertEventObjForOldAndNewData(eventDropInfo.event);\n let oldDataObj = this.convertEventObjForOldAndNewData(eventDropInfo.oldEvent);\n this.invokeEventCallback('eventdrop', {$event: eventDropInfo.jsEvent, $newData: newDataObj, $oldData: oldDataObj, $delta: eventDropInfo.delta, $revertFunc: eventDropInfo.revert, $ui: {}, $view: eventDropInfo.view});\n }\n\n // Returns the default date when the datavalue is provided\n getDefaultDate() {\n if (this.datavalue) {\n return new Date(this.datavalue);\n }\n }\n\n getDefaultOptions() {\n return this.calendarOptions;\n }\n\n getLib() {\n return 'fullcalendar';\n }\n\n private select($selectionInfo) {\n this.selecteddates = {start: getUTCDateTime($selectionInfo.start), end: getUTCDateTime($selectionInfo.end)};\n this.selecteddata = this.setSelectedData($selectionInfo.start, $selectionInfo.end);\n this.invokeEventCallback('select', {$start: $selectionInfo.start.valueOf(), $end: $selectionInfo.end.valueOf(), $view: $selectionInfo.view, $data: this.selecteddata});\n }\n\n /**\n * this functions unselects all the selections in calendar\n */\n public unselect() {\n this.$fullCalendar.unselect();\n }\n\n /**\n * this function is to add extendedProps data to the data object.\n * this is done for backward compatibility\n * @param eventObj event object as per new version (v5)\n * @returns _eventMetadata event object as per the old version (v3)\n */\n private convertEventObj(eventObj) {\n if (!eventObj.extendedProps._eventMetadata) {\n return eventObj;\n }\n const _eventMetadata = eventObj.extendedProps._eventMetadata;\n Object.setPrototypeOf(_eventMetadata, eventObj);\n return _eventMetadata;\n }\n\n /**\n * this function is to add extendedProps data to the data object exluding start end title allDay objects if the key name matches.\n * * this is done for backward compatibility\n * @param eventObj event object as per new version (v5)\n * @returns data event object as per the old version (v3)\n */\n private convertEventObjForOldAndNewData(eventObj) {\n const _eventMetadata = eventObj.extendedProps;\n _.extend(eventObj, _eventMetadata);\n return eventObj;\n }\n\n private eventResize(eventResizeInfo) {\n let newDataObj = this.convertEventObjForOldAndNewData(eventResizeInfo.event);\n let oldDataObj = this.convertEventObjForOldAndNewData(eventResizeInfo.oldEvent);\n this.invokeEventCallback('eventresize', {$event: eventResizeInfo.jsEvent, $newData: newDataObj, $oldData: oldDataObj, $delta: eventResizeInfo.delta, $revertFunc: eventResizeInfo.revert, $ui: {}, $view: eventResizeInfo.view});\n }\n\n private onEventChangeStart(event) {\n this.oldData = getClonedObject(event);\n }\n\n private eventClick(eventClickInfo) {\n let eventObj = this.convertEventObj(eventClickInfo.event);\n this.invokeEventCallback('eventclick', {$event: eventClickInfo.jsEvent, $data: eventObj, $view: eventClickInfo.view});\n }\n\n private eventDidMount(event) {\n let eventObj = this.convertEventObj(event.event);\n if (this.calendartype === VIEW_TYPES.LIST) {\n this.$element.find('.fc-list-table').addClass('table');\n }\n this.invokeEventCallback('eventrender', {$event: event.el, $data: eventObj, $view: event.view});\n }\n\n private viewDidMount($view) {\n if (this.calendartype === VIEW_TYPES.LIST) {\n this.$element.find('.fc-list-table').addClass('table');\n }\n this.invokeEventCallback('viewrender', {$view: $view});\n }\n\n /**\n * This function gets called when the view of the calendar changes.\n * @param data contains the start end data of the calendar view.\n */\n private datesSet(data) {\n this.currentview = {start: moment(data.start).format(\"YYYY-MM-DD\"), end: moment(data.end).format(\"YYYY-MM-DD\")};\n }\n\n private dateClick($info) {\n const dateInfo = getUTCDateTime($info.date).valueOf();\n this.invokeEventCallback('dateclick', {$dateInfo: dateInfo});\n }\n\n // update the calendar header options once the controls changes\n private updateCalendarHeaderOptions() {\n const ctrls = this.controls, viewType = this.calendartype,\n regEx = new RegExp('\\\\bday\\\\b', 'g');\n let left = '', right = '';\n if (ctrls && viewType) {\n if (_.includes(ctrls, 'navigation')) {\n left += ' prev next';\n }\n\n if (_.includes(ctrls, 'today')) {\n left += ' today';\n }\n\n if (_.includes(ctrls, 'year')) {\n right += (viewType === VIEW_TYPES.LIST) ? 'listYear' : '';\n }\n\n if (_.includes(ctrls, 'month')) {\n right += (viewType === VIEW_TYPES.LIST) ? ' listMonth' : ' dayGridMonth';\n }\n\n if (_.includes(ctrls, 'week')) {\n right += (viewType === VIEW_TYPES.BASIC) ? ' dayGridWeek' : (viewType === VIEW_TYPES.LIST) ? ' listWeek' : ' timeGridWeek';\n }\n\n if (regEx.test(ctrls)) {\n right += (viewType === VIEW_TYPES.BASIC) ? ' dayGridDay' : (viewType === VIEW_TYPES.LIST) ? ' listDay' : ' timeGridDay';\n }\n if (left.charAt(0) === ' ') {\n left = left.substring(1);\n }\n if (right.charAt(0) === ' ') {\n right = right.substring(1);\n }\n _.extend(this.calendarOptions.calendar.headerToolbar, {'start': left, 'end': right});\n }\n }\n\n constructor(inj: Injector, i18nService: AbstractI18nService, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this.eventSources.push(this.dataSetEvents);\n const FullCalendar = window['FullCalendar'];\n if (!FullCalendar.__wm_locale_initialized) {\n i18nService.initCalendarLocale();\n FullCalendar.__wm_locale_initialized = true;\n }\n\n this.cancelLocaleChangeSubscription = this.getAppInstance().subscribe(\"locale-changed\", (libLocale) => {\n this.setLocale();\n this.applyCalendarOptions('option', 'locale', libLocale.fullCalendar || 'en');\n this.redraw();\n });\n }\n\n ngOnInit() {\n super.ngOnInit();\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER, ['height']);\n this.setLocale();\n }\n\n onStyleChange(key, nv, ov?) {\n super.onStyleChange(key, nv, ov);\n if (key === 'height') {\n this.calendarOptions.calendar.height = this.calculateHeight(nv);\n this.updateCalendarOptions('option', 'height', this.calendarOptions.calendar.height);\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n super.onPropertyChange(key, nv, ov);\n switch (key) {\n case 'selectionmode':\n if (nv !== SELECTION_MODES.NONE) {\n this.calendarOptions.calendar.selectable = true;\n this.updateCalendarOptions('option', 'selectable', true);\n if (nv === SELECTION_MODES.SINGLE) {\n this.calendarOptions.calendar.selectConstraint = {\n startTime: '00:00',\n endTime: '24:00'\n };\n this.updateCalendarOptions('option', 'selectConstraint', this.calendarOptions.calendar.selectConstraint);\n } else {\n this.updateCalendarOptions('option', 'selectConstraint', {});\n }\n } else {\n this.calendarOptions.calendar.selectable = false;\n this.updateCalendarOptions('option', 'selectable', false);\n }\n break;\n case 'view':\n if (nv !== 'month' || this.calendartype === VIEW_TYPES.LIST) {\n this.calendarOptions.calendar.defaultView = this.calendartype + _.capitalize(nv);\n } else {\n this.calendarOptions.calendar.defaultView = nv;\n }\n this.updateCalendarOptions('changeView', this.calendarOptions.calendar.defaultView);\n break;\n case 'calendartype':\n this.calendartype = nv || 'dayGrid';\n case 'controls':\n this.updateCalendarHeaderOptions();\n break;\n case 'dataset':\n let dataSet;\n const self = this;\n this.dataset = nv;\n dataSet = createArrayFrom(getClonedObject(nv));\n dataSet = this.constructCalendarDataset(dataSet);\n this.dataSetEvents.events = dataSet.filter((event) => {\n event.start = event.start || event.end;\n if (event.start) {\n return true;\n }\n });\n\n this.renderEventDataSet();\n break;\n case 'show':\n this.$fullCalendar?.changeView(this.getViewType(this.view ? this.view : 'dayGridMonth'));\n }\n }\n\n // to calculate the height for the event limit and parsing the value when it is percentage based.\n private calculateHeight(height): number {\n const $parent = $(this.nativeElement).parent(),\n elHeight = height || '650px';\n\n let parentHeight = $parent.css('height'),\n computedHeight: number;\n\n if (_.includes(elHeight, '%')) {\n if (_.includes(parentHeight, '%')) {\n parentHeight = $parent.height();\n }\n computedHeight = (parseInt(parentHeight, 10) * Number(elHeight.replace(/\\%/g, ''))) / 100;\n } else {\n computedHeight = parseInt(elHeight, 10);\n }\n this.calendarOptions.calendar.views.month.eventLimit = parseInt('' + computedHeight / 200, 10) + 1;\n return computedHeight;\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n const calendarEl = this._calendar.nativeElement;\n const FullCalendar = window['FullCalendar'];\n const calendar = new FullCalendar.Calendar(calendarEl, this.calendarOptions.calendar);\n this.$fullCalendar = calendar;\n this.invokeEventCallback('beforerender', {'$event' : {}});\n calendar.render();\n\n // if the changes are already stacked before calendar renders then execute them when needed\n if (this.changesStack.length) {\n this.changesStack.forEach((changeObj) => {\n this.applyCalendarOptions(changeObj.operationType, changeObj.argumentKey, changeObj.argumentValue);\n });\n this.changesStack.length = 0;\n }\n\n //WMS-22412 : change calender's view based on the configuration set from studio\n setTimeout(() => {\n this.$fullCalendar.changeView(this.getViewType(this.view ? this.view : 'dayGridMonth'));\n },50);\n }\n\n // constructs the calendar dataset by mapping the eventstart, eventend, eventtitle etc.,\n private constructCalendarDataset(eventSource) {\n const properties = {\n title: this.eventtitle || 'title',\n allDay: this.eventallday || 'allday',\n start: this.eventstart || 'start',\n end: this.eventend || 'end',\n className: this.eventclass || 'className'\n };\n\n eventSource.forEach((obj) => {\n obj._eventMetadata = _.clone(obj);\n if (_.isEmpty(obj._eventMetadata.url)) {\n delete obj._eventMetadata.url;\n }\n if (_.isEmpty(obj.url)) {\n delete obj.url;\n }\n\n _.mapKeys(properties, (value, key) => {\n let objVal;\n if (key === 'title') {\n objVal = getEvaluatedData(obj, {expression: value}, this.viewParent);\n } else if (key === 'allDay') {\n objVal = !!_.get(obj, value);\n } else {\n objVal = _.get(obj, value);\n }\n if (!objVal) {\n return;\n }\n obj[key] = objVal;\n });\n });\n return eventSource;\n }\n\n private setLocale() {\n const year = _.get(this.appLocale, 'LABEL_CALENDAR_YEAR') || BUTTON_TEXT.YEAR;\n const month = _.get(this.appLocale, 'LABEL_CALENDAR_MONTH') || BUTTON_TEXT.MONTH;\n const week = _.get(this.appLocale, 'LABEL_CALENDAR_WEEK') || BUTTON_TEXT.WEEK;\n const day = _.get(this.appLocale, 'LABEL_CALENDAR_DAY') || BUTTON_TEXT.DAY;\n const today = _.get(this.appLocale, 'LABEL_CALENDAR_TODAY') || BUTTON_TEXT.TODAY;\n this.calendarOptions.calendar.buttonText = { year, month, week, day, today,\n 'listYear': year,\n 'listMonth': month,\n 'listWeek': week,\n 'listDay': day\n };\n }\n\n /**\n * override the default calendar options with the newSet of options\n * @param options\n */\n overrideDefaults(options) {\n if (_.isObject(options)) {\n Object.entries(options).map(option => this.$fullCalendar.setOption(option[0], option[1]));\n }\n }\n\n /**\n * if the operations are performed before the calendar renders, the changes are pushed into changesStack and will be executed after the calendar gets rendered\n * if the calendar is already rendered, then the specific operation will be performed according to the operation type\n * @param operationType\n * @param argumentKey\n * @param argumentValue\n */\n updateCalendarOptions(operationType: string, argumentKey?: any, argumentValue?: any): void {//\n if (!this.$fullCalendar) {\n this.changesStack.push({\n operationType: operationType,\n argumentKey: argumentKey,\n argumentValue: argumentValue\n });\n return;\n }\n this.applyCalendarOptions(operationType, argumentKey, argumentValue);\n }\n\n redraw() {\n this.updateCalendarOptions('render');\n this.$fullCalendar?.changeView(this.getViewType(this.view ? this.view : 'dayGridMonth'));\n }\n\n // on date change invoke the select event, and if date has event on it then invoke the event click.\n private onValueChange(value: Date): void {\n this.proxyModel = value;\n const selectedDate = this.proxyModel && moment(this.proxyModel).startOf('day').format(dateFormat),\n selectedEventData = this.eventData[selectedDate],\n start = moment(this.proxyModel),\n end = moment(this.proxyModel).endOf('day');\n this.selecteddata = selectedEventData;\n this.selecteddates = {\n 'start': moment(selectedDate).valueOf(),\n 'end' : moment(selectedDate).endOf('day').valueOf()\n };\n this.calendarOptions.calendar.select(start.valueOf(), end.valueOf(), {}, this, selectedEventData);\n if (selectedEventData) {\n this.calendarOptions.calendar.eventClick(selectedEventData, {}, this);\n }\n }\n\n /**\n * This function will receive an object containing source of calendar, apikey and calendarId and will integrate the respective calendar with fullcalendar.\n * @param eventObject\n */\n public addEventSource(eventObject) {\n if (_.isEmpty(eventObject)) {\n console.warn('addEventSource method requires an object as a parameter.');\n return;\n }\n if (eventObject.source === 'google') {\n if (!eventObject.googleCalendarApiKey || !eventObject.googleCalendarId ) {\n console.warn('For google calendar integration, \\'googleCalendarApiKey\\' and \\'googleCalendarId\\' should be passed in the parameter object.');\n return;\n }\n this.$fullCalendar.setOption('googleCalendarApiKey', eventObject.googleCalendarApiKey);\n this.$fullCalendar.addEventSource({\n googleCalendarId: eventObject.googleCalendarId\n });\n }\n }\n\n /**\n * get the viewTypeKey according to the calendarType and viewType selected\n * @param viewKey\n */\n getViewType(viewKey) {\n const calendarType = this.calendartype;\n const view = this.view;\n let result;\n\n if (view === 'month') {\n result = (calendarType === VIEW_TYPES.LIST) ? 'listMonth' : 'dayGridMonth';\n } else if (view === 'week') {\n result = (calendarType === VIEW_TYPES.BASIC) ? 'dayGridWeek' : (calendarType === VIEW_TYPES.LIST) ? 'listWeek' : 'timeGridWeek';\n } else if (view === 'day') {\n result = (calendarType === VIEW_TYPES.BASIC) ? 'dayGridDay' : (calendarType === VIEW_TYPES.LIST) ? 'listDay' : 'timeGridDay';\n } else if (view === 'year') {\n result = (calendarType === VIEW_TYPES.LIST) ? 'listYear' : '';\n } else {\n result = viewKey;\n }\n return result;\n }\n\n /**\n * @param operationType\n * @param argumentKey\n * @param argumentValue\n * Handle various operations like Rendering Calendar, changing the calendar viewType, setting the calendarOptions according to the operationType.\n */\n applyCalendarOptions(operationType: string, argumentKey?: any, argumentValue?: any): void {\n switch (operationType) {\n case 'render':\n this.$fullCalendar.render();\n break;\n case 'option':\n this.$fullCalendar.setOption(argumentKey, argumentValue);\n break;\n case 'changeView':\n const view = this.getViewType(argumentKey);\n this.$fullCalendar.changeView(view);\n break;\n }\n }\n\n /**\n * Adds the new eventsDataSet to the calendar object with addEvent Method and re-renders the calendar\n */\n renderEventDataSet() {\n const self = this;\n this.$fullCalendar.batchRendering(function() {\n const events = self.$fullCalendar.getEvents();\n _.each( events, function( event) {\n const eventData = self.$fullCalendar.getEventById(event.id);\n eventData.remove();\n });\n _.each( self.dataSetEvents.events, function( event) {\n self.$fullCalendar.addEvent(event);\n });\n });\n }\n\n ngOnDestroy() {\n if(this.cancelLocaleChangeSubscription) {\n this.cancelLocaleChangeSubscription();\n }\n }\n}\n","<div #calendar [attr.aria-label]=\"view || 'month'\"></div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\nimport { CoreModule } from '@wm/core';\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { CalendarComponent } from './calendar.component';\n\nconst components = [\n CalendarComponent\n];\n\n@NgModule({\n imports: [\n CoreModule,\n BsDatepickerModule,\n CommonModule,\n FormsModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class CalendarModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/calendar/src/calendar.props.ts","../../../../../projects/components/widgets/input/calendar/src/calendar.component.ts","../../../../../projects/components/widgets/input/calendar/src/calendar.component.html","../../../../../projects/components/widgets/input/calendar/src/calendar.module.ts","../../../../../projects/components/widgets/input/calendar/src/index.ts"],"sourcesContent":["import { isMobileApp } from '@wm/core';\n\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n const props = new Map(\n [\n ['calendartype', {value: 'basic', ...PROP_STRING}],\n ['class', PROP_STRING],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['controls', {value: 'navigation, today, year, month, week, day', ...PROP_STRING}],\n ['dataset', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['eventallday', PROP_STRING],\n ['eventclass', PROP_STRING],\n ['eventend', PROP_STRING],\n ['eventstart', PROP_STRING],\n ['eventtitle', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showindevice', {displayType: 'inline-block', value: 'all', ...PROP_STRING}],\n ['view', PROP_STRING],\n ['selectionmode', PROP_STRING]\n ]\n );\n register('wm-calendar', props);\n};\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ElementRef,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {AbstractI18nService, getClonedObject, getSessionStorageItem, isMobile} from '@wm/core';\n\nimport {\n APPLY_STYLES_TYPE,\n createArrayFrom,\n getEvaluatedData,\n IRedrawableComponent,\n provideAsWidgetRef,\n StylableComponent,\n styler\n} from '@wm/components/base';\n\nimport {registerProps} from './calendar.props';\nimport {capitalize, clone, each, extend, get, includes, isDate, isEmpty, isObject, mapKeys} from \"lodash-es\";\n\ndeclare const $;\ndeclare const moment;\n\nconst DEFAULT_CLS = 'app-calendar';\nconst dateFormats = ['yyyy-MM-dd', 'yyyy-M-dd', 'M-dd-yyyy', 'MM-dd-yy', 'yyyy, dd MMMM', 'yyyy, MMM dd', 'MM/dd/yyyy', 'M/d/yyyy', 'EEE, dd MMM yyyy', 'EEE MMM dd yyyy', 'EEEE, MMMM dd, yyyy', 'timestamp'];\nconst defaultHeaderOptions = {\n start: 'prev next today',\n center: 'title',\n end: 'dayGridMonth dayGridWeek dayGridDay'\n};\nconst VIEW_TYPES = {\n BASIC: 'basic',\n AGENDA: 'agenda',\n LIST: 'list'\n};\nconst BUTTON_TEXT = {\n YEAR: 'Year',\n MONTH: 'Month',\n WEEK: 'Week',\n DAY: 'Day',\n TODAY: 'Today'\n};\nconst SELECTION_MODES = {\n NONE: 'none',\n SINGLE: 'single',\n MULTIPLE: 'multiple'\n};\nconst NEXT_DAY_THRESHOLD = {\n START: '00:00',\n END: '24:00'\n};\nconst getEventMomentValue = (value, key) => {\n let isDate = false;\n\n dateFormats.forEach((format) => {\n // moment supports uppercase formats\n if (moment(value, format.toUpperCase(), true).isValid()) {\n isDate = true;\n return false;\n }\n });\n\n // if the value is date then for end date the value should be end of the day as the calendar is approximating it to the start.\n if (isDate && key === 'end') {\n return moment(value).endOf('day');\n }\n\n return moment(value);\n};\nconst getUTCDateTime = (dateObj) => {\n dateObj = moment(dateObj);\n const year = dateObj.format('YYYY'),\n // javascript starts the month count from '0' where as moment returns the human count\n month = dateObj.format('MM') - 1,\n day = dateObj.format('DD'),\n hours = dateObj.format('HH'),\n minutes = dateObj.format('mm'),\n seconds = dateObj.format('ss');\n return new Date(year, month, day, hours, minutes, seconds);\n};\nconst WIDGET_CONFIG = {widgetType: 'wm-calendar', hostClass: DEFAULT_CLS};\nconst dateFormat = 'YYYY/MM/DD';\n\n@Component({\n selector: '[wmCalendar]',\n templateUrl: './calendar.component.html',\n styleUrls: ['../../../../../../node_modules/fullcalendar/main.css'],\n providers: [\n provideAsWidgetRef(CalendarComponent)\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class CalendarComponent extends StylableComponent implements AfterContentInit, AfterViewInit, OnInit, OnDestroy, IRedrawableComponent {\n static initializeProps = registerProps();\n // The calendar element reference\n @ViewChild('calendar') _calendar: ElementRef;\n @ViewChild('datepicker') _datepicker: ElementRef;\n\n public selecteddates: any;\n public selecteddata: any;\n public currentview: object;\n public dataset: any;\n public calendartype;\n public controls = 'navigation, today, year, month, week, day';\n public datavalue;\n public eventtitle;\n public eventstart;\n public eventend;\n public eventallday;\n public eventclass;\n\n private eventSources: Array<any> = [];\n\n private dataSetEvents = {\n events: []\n };\n private oldData;\n // map the fullcalendar Element rendered\n private $fullCalendar;\n // model to the mobile calendar\n private proxyModel;\n private eventData;\n private events;\n private changesStack = [];\n\n // calendarOptions to the calendar\n private calendarOptions: any = {\n calendar: {\n height: 600,\n eventSources: this.eventSources,\n editable: true,\n locale: getSessionStorageItem('selectedLocale') || 'en',\n selectable: false,\n longPressDelay: isMobile() ? 1 : 1000,\n headerToolbar: defaultHeaderOptions,\n nextDayThreshold: NEXT_DAY_THRESHOLD,\n views: {\n month: {\n dayMaxEventsRow: true\n }\n },\n unselectAuto: false,\n eventDrop: this.eventDrop.bind(this),\n eventResizeStart: this.onEventChangeStart.bind(this),\n eventDragStart: this.onEventChangeStart.bind(this),\n eventResize: this.eventResize.bind(this),\n eventClick: this.eventClick.bind(this),\n select: this.select.bind(this),\n eventDidMount: this.eventDidMount.bind(this),\n viewDidMount: this.viewDidMount.bind(this),\n datesSet: this.datesSet.bind(this),\n dateClick: this.dateClick.bind(this)\n }\n };\n public view: string;\n private dayClass: Array<any> = [];\n private cancelLocaleChangeSubscription;\n\n // this function selects the default date given for the calendar\n selectDate() {\n let start, end;\n // checks if datavalue is an object and not a Date object\n if (isObject(this.datavalue) && !isDate(this.datavalue)) {\n // @ts-ignore\n start = moment(this.datavalue.start);\n // @ts-ignore\n end = moment(this.datavalue.end);\n } else {\n start = moment(this.datavalue);\n end = moment(this.datavalue).add(1, 'day').startOf('day');\n }\n\n this.$fullCalendar.gotoDate( moment(start)._d); // after selecting the date go to the date.\n\n this.$fullCalendar.select(start.valueOf(), end.valueOf());\n }\n\n // changes the calendar view to the default date given for the calendar.\n public gotoDate() {\n this.$fullCalendar.gotoDate( moment(this.datavalue)._d);\n }\n\n // this function takes the calendar view to the a year ahead\n public gotoNextYear() {\n this.$fullCalendar.nextYear();\n }\n\n // this function takes the calendar view to the a year before\n public gotoPrevYear() {\n this.$fullCalendar.prevYear();\n }\n\n /**\n * this function takes the calendar view to the specified month\n * @param monthVal, 1-12 value of month\n */\n public gotoMonth(monthVal) {\n let presentDay = this.$fullCalendar.getDate();\n const presentMonthVal = presentDay.getMonth();\n presentDay = moment(presentDay);\n if (presentMonthVal < monthVal) {\n this.$fullCalendar.gotoDate(presentDay.add(monthVal - presentMonthVal - 1, 'M').valueOf());\n } else {\n this.$fullCalendar.gotoDate(presentDay.subtract( presentMonthVal - monthVal + 1, 'M').valueOf());\n }\n }\n\n // this function takes the calendar view to the a month ahead\n public gotoNextMonth() {\n const presentDay = moment(this.$fullCalendar.getDate());\n this.$fullCalendar.gotoDate(presentDay.add(1, 'M').valueOf());\n }\n\n // this function takes the calendar view to the a month before\n public gotoPrevMonth() {\n const presentDay = moment(this.$fullCalendar.getDate());\n this.$fullCalendar.gotoDate(presentDay.subtract(1, 'M').valueOf());\n }\n\n\n // this function re-renders the events assigned to the calendar.\n public rerenderEvents() {\n this.$fullCalendar.render();\n }\n\n private setSelectedData(start, end) {\n let dataset = this.dataset;\n if (!dataset) {\n return;\n }\n\n const filteredDates = [];\n const eventStartKey = this.eventstart || 'start';\n const eventEndKey = this.eventend || 'end';\n const startDate = moment(new Date(start)).format('MM/DD/YYYY');\n const endDate = moment(new Date(end)).subtract(1, 'days').format('MM/DD/YYYY');\n\n dataset = dataset.data || dataset;\n dataset.forEach((value) => {\n if (!value[eventStartKey]) {\n return;\n }\n const eventStartDate = moment(new Date(value[eventStartKey])).format('MM/DD/YYYY');\n const eventEndDate = moment(new Date(value[eventEndKey] || value[eventStartKey])).format('MM/DD/YYYY');\n const eventExists = moment(eventStartDate).isSameOrAfter(startDate) && moment(eventEndDate).isSameOrBefore(endDate);\n if (eventExists) {\n filteredDates.push(value);\n }\n });\n return filteredDates;\n }\n\n private eventDrop(eventDropInfo) {\n let newDataObj = this.convertEventObjForOldAndNewData(eventDropInfo.event);\n let oldDataObj = this.convertEventObjForOldAndNewData(eventDropInfo.oldEvent);\n this.invokeEventCallback('eventdrop', {$event: eventDropInfo.jsEvent, $newData: newDataObj, $oldData: oldDataObj, $delta: eventDropInfo.delta, $revertFunc: eventDropInfo.revert, $ui: {}, $view: eventDropInfo.view});\n }\n\n // Returns the default date when the datavalue is provided\n getDefaultDate() {\n if (this.datavalue) {\n return new Date(this.datavalue);\n }\n }\n\n getDefaultOptions() {\n return this.calendarOptions;\n }\n\n getLib() {\n return 'fullcalendar';\n }\n\n private select($selectionInfo) {\n this.selecteddates = {start: getUTCDateTime($selectionInfo.start), end: getUTCDateTime($selectionInfo.end)};\n this.selecteddata = this.setSelectedData($selectionInfo.start, $selectionInfo.end);\n this.invokeEventCallback('select', {$start: $selectionInfo.start.valueOf(), $end: $selectionInfo.end.valueOf(), $view: $selectionInfo.view, $data: this.selecteddata});\n }\n\n /**\n * this functions unselects all the selections in calendar\n */\n public unselect() {\n this.$fullCalendar.unselect();\n }\n\n /**\n * this function is to add extendedProps data to the data object.\n * this is done for backward compatibility\n * @param eventObj event object as per new version (v5)\n * @returns _eventMetadata event object as per the old version (v3)\n */\n private convertEventObj(eventObj) {\n if (!eventObj.extendedProps._eventMetadata) {\n return eventObj;\n }\n const _eventMetadata = eventObj.extendedProps._eventMetadata;\n Object.setPrototypeOf(_eventMetadata, eventObj);\n return _eventMetadata;\n }\n\n /**\n * this function is to add extendedProps data to the data object exluding start end title allDay objects if the key name matches.\n * * this is done for backward compatibility\n * @param eventObj event object as per new version (v5)\n * @returns data event object as per the old version (v3)\n */\n private convertEventObjForOldAndNewData(eventObj) {\n const _eventMetadata = eventObj.extendedProps;\n extend(eventObj, _eventMetadata);\n return eventObj;\n }\n\n private eventResize(eventResizeInfo) {\n let newDataObj = this.convertEventObjForOldAndNewData(eventResizeInfo.event);\n let oldDataObj = this.convertEventObjForOldAndNewData(eventResizeInfo.oldEvent);\n this.invokeEventCallback('eventresize', {$event: eventResizeInfo.jsEvent, $newData: newDataObj, $oldData: oldDataObj, $delta: eventResizeInfo.delta, $revertFunc: eventResizeInfo.revert, $ui: {}, $view: eventResizeInfo.view});\n }\n\n private onEventChangeStart(event) {\n this.oldData = getClonedObject(event);\n }\n\n private eventClick(eventClickInfo) {\n let eventObj = this.convertEventObj(eventClickInfo.event);\n this.invokeEventCallback('eventclick', {$event: eventClickInfo.jsEvent, $data: eventObj, $view: eventClickInfo.view});\n }\n\n private eventDidMount(event) {\n let eventObj = this.convertEventObj(event.event);\n if (this.calendartype === VIEW_TYPES.LIST) {\n this.$element.find('.fc-list-table').addClass('table');\n }\n this.invokeEventCallback('eventrender', {$event: event.el, $data: eventObj, $view: event.view});\n }\n\n private viewDidMount($view) {\n if (this.calendartype === VIEW_TYPES.LIST) {\n this.$element.find('.fc-list-table').addClass('table');\n }\n this.invokeEventCallback('viewrender', {$view: $view});\n }\n\n /**\n * This function gets called when the view of the calendar changes.\n * @param data contains the start end data of the calendar view.\n */\n private datesSet(data) {\n this.currentview = {start: moment(data.start).format(\"YYYY-MM-DD\"), end: moment(data.end).format(\"YYYY-MM-DD\")};\n }\n\n private dateClick($info) {\n const dateInfo = getUTCDateTime($info.date).valueOf();\n this.invokeEventCallback('dateclick', {$dateInfo: dateInfo});\n }\n\n // update the calendar header options once the controls changes\n private updateCalendarHeaderOptions() {\n const ctrls = this.controls, viewType = this.calendartype,\n regEx = new RegExp('\\\\bday\\\\b', 'g');\n let left = '', right = '';\n if (ctrls && viewType) {\n if (includes(ctrls, 'navigation')) {\n left += ' prev next';\n }\n\n if (includes(ctrls, 'today')) {\n left += ' today';\n }\n\n if (includes(ctrls, 'year')) {\n right += (viewType === VIEW_TYPES.LIST) ? 'listYear' : '';\n }\n\n if (includes(ctrls, 'month')) {\n right += (viewType === VIEW_TYPES.LIST) ? ' listMonth' : ' dayGridMonth';\n }\n\n if (includes(ctrls, 'week')) {\n right += (viewType === VIEW_TYPES.BASIC) ? ' dayGridWeek' : (viewType === VIEW_TYPES.LIST) ? ' listWeek' : ' timeGridWeek';\n }\n\n if (regEx.test(ctrls)) {\n right += (viewType === VIEW_TYPES.BASIC) ? ' dayGridDay' : (viewType === VIEW_TYPES.LIST) ? ' listDay' : ' timeGridDay';\n }\n if (left.charAt(0) === ' ') {\n left = left.substring(1);\n }\n if (right.charAt(0) === ' ') {\n right = right.substring(1);\n }\n extend(this.calendarOptions.calendar.headerToolbar, {'start': left, 'end': right});\n }\n }\n\n constructor(inj: Injector, i18nService: AbstractI18nService, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this.eventSources.push(this.dataSetEvents);\n const FullCalendar = window['FullCalendar'];\n if (!FullCalendar.__wm_locale_initialized) {\n i18nService.initCalendarLocale();\n FullCalendar.__wm_locale_initialized = true;\n }\n\n this.cancelLocaleChangeSubscription = this.getAppInstance().subscribe(\"locale-changed\", (libLocale) => {\n this.setLocale();\n this.applyCalendarOptions('option', 'locale', libLocale.fullCalendar || 'en');\n this.redraw();\n });\n }\n\n ngOnInit() {\n super.ngOnInit();\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER, ['height']);\n this.setLocale();\n }\n\n onStyleChange(key, nv, ov?) {\n super.onStyleChange(key, nv, ov);\n if (key === 'height') {\n this.calendarOptions.calendar.height = this.calculateHeight(nv);\n this.updateCalendarOptions('option', 'height', this.calendarOptions.calendar.height);\n }\n }\n\n onPropertyChange(key, nv, ov?) {\n super.onPropertyChange(key, nv, ov);\n switch (key) {\n case 'selectionmode':\n if (nv !== SELECTION_MODES.NONE) {\n this.calendarOptions.calendar.selectable = true;\n this.updateCalendarOptions('option', 'selectable', true);\n if (nv === SELECTION_MODES.SINGLE) {\n this.calendarOptions.calendar.selectConstraint = {\n startTime: '00:00',\n endTime: '24:00'\n };\n this.updateCalendarOptions('option', 'selectConstraint', this.calendarOptions.calendar.selectConstraint);\n } else {\n this.updateCalendarOptions('option', 'selectConstraint', {});\n }\n } else {\n this.calendarOptions.calendar.selectable = false;\n this.updateCalendarOptions('option', 'selectable', false);\n }\n break;\n case 'view':\n if (nv !== 'month' || this.calendartype === VIEW_TYPES.LIST) {\n this.calendarOptions.calendar.defaultView = this.calendartype + capitalize(nv);\n } else {\n this.calendarOptions.calendar.defaultView = nv;\n }\n this.updateCalendarOptions('changeView', this.calendarOptions.calendar.defaultView);\n break;\n case 'calendartype':\n this.calendartype = nv || 'dayGrid';\n case 'controls':\n this.updateCalendarHeaderOptions();\n break;\n case 'dataset':\n let dataSet;\n const self = this;\n this.dataset = nv;\n dataSet = createArrayFrom(getClonedObject(nv));\n dataSet = this.constructCalendarDataset(dataSet);\n this.dataSetEvents.events = dataSet.filter((event) => {\n event.start = event.start || event.end;\n if (event.start) {\n return true;\n }\n });\n\n this.renderEventDataSet();\n break;\n case 'show':\n this.$fullCalendar?.changeView(this.getViewType(this.view ? this.view : 'dayGridMonth'));\n }\n }\n\n // to calculate the height for the event limit and parsing the value when it is percentage based.\n private calculateHeight(height): number {\n const $parent = $(this.nativeElement).parent(),\n elHeight = height || '650px';\n\n let parentHeight: any = $parent.css('height'),\n computedHeight: number;\n\n if (includes(elHeight, '%')) {\n if (includes(parentHeight, '%')) {\n parentHeight = $parent.height();\n }\n computedHeight = (parseInt(parentHeight, 10) * Number(elHeight.replace(/\\%/g, ''))) / 100;\n } else {\n computedHeight = parseInt(elHeight, 10);\n }\n this.calendarOptions.calendar.views.month.eventLimit = parseInt('' + computedHeight / 200, 10) + 1;\n return computedHeight;\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n const calendarEl = this._calendar.nativeElement;\n const FullCalendar = window['FullCalendar'];\n const calendar = new FullCalendar.Calendar(calendarEl, this.calendarOptions.calendar);\n this.$fullCalendar = calendar;\n this.invokeEventCallback('beforerender', {'$event' : {}});\n calendar.render();\n\n // if the changes are already stacked before calendar renders then execute them when needed\n if (this.changesStack.length) {\n this.changesStack.forEach((changeObj) => {\n this.applyCalendarOptions(changeObj.operationType, changeObj.argumentKey, changeObj.argumentValue);\n });\n this.changesStack.length = 0;\n }\n\n //WMS-22412 : change calender's view based on the configuration set from studio\n setTimeout(() => {\n this.$fullCalendar.changeView(this.getViewType(this.view ? this.view : 'dayGridMonth'));\n },50);\n }\n\n // constructs the calendar dataset by mapping the eventstart, eventend, eventtitle etc.,\n private constructCalendarDataset(eventSource) {\n const properties = {\n title: this.eventtitle || 'title',\n allDay: this.eventallday || 'allday',\n start: this.eventstart || 'start',\n end: this.eventend || 'end',\n className: this.eventclass || 'className'\n };\n\n eventSource.forEach((obj) => {\n obj._eventMetadata = clone(obj);\n if (isEmpty(obj._eventMetadata.url)) {\n delete obj._eventMetadata.url;\n }\n if (isEmpty(obj.url)) {\n delete obj.url;\n }\n\n mapKeys(properties, (value, key) => {\n let objVal;\n if (key === 'title') {\n objVal = getEvaluatedData(obj, {expression: value}, this.viewParent);\n } else if (key === 'allDay') {\n objVal = !!get(obj, value);\n } else {\n objVal = get(obj, value);\n }\n if (!objVal) {\n return;\n }\n obj[key] = objVal;\n });\n });\n return eventSource;\n }\n\n private setLocale() {\n const year = get(this.appLocale, 'LABEL_CALENDAR_YEAR') || BUTTON_TEXT.YEAR;\n const month = get(this.appLocale, 'LABEL_CALENDAR_MONTH') || BUTTON_TEXT.MONTH;\n const week = get(this.appLocale, 'LABEL_CALENDAR_WEEK') || BUTTON_TEXT.WEEK;\n const day = get(this.appLocale, 'LABEL_CALENDAR_DAY') || BUTTON_TEXT.DAY;\n const today = get(this.appLocale, 'LABEL_CALENDAR_TODAY') || BUTTON_TEXT.TODAY;\n this.calendarOptions.calendar.buttonText = { year, month, week, day, today,\n 'listYear': year,\n 'listMonth': month,\n 'listWeek': week,\n 'listDay': day\n };\n }\n\n /**\n * override the default calendar options with the newSet of options\n * @param options\n */\n overrideDefaults(options) {\n if (isObject(options)) {\n Object.entries(options).map(option => this.$fullCalendar.setOption(option[0], option[1]));\n }\n }\n\n /**\n * if the operations are performed before the calendar renders, the changes are pushed into changesStack and will be executed after the calendar gets rendered\n * if the calendar is already rendered, then the specific operation will be performed according to the operation type\n * @param operationType\n * @param argumentKey\n * @param argumentValue\n */\n updateCalendarOptions(operationType: string, argumentKey?: any, argumentValue?: any): void {//\n if (!this.$fullCalendar) {\n this.changesStack.push({\n operationType: operationType,\n argumentKey: argumentKey,\n argumentValue: argumentValue\n });\n return;\n }\n this.applyCalendarOptions(operationType, argumentKey, argumentValue);\n }\n\n redraw() {\n this.updateCalendarOptions('render');\n this.$fullCalendar?.changeView(this.getViewType(this.view ? this.view : 'dayGridMonth'));\n }\n\n // on date change invoke the select event, and if date has event on it then invoke the event click.\n private onValueChange(value: Date): void {\n this.proxyModel = value;\n const selectedDate = this.proxyModel && moment(this.proxyModel).startOf('day').format(dateFormat),\n selectedEventData = this.eventData[selectedDate],\n start = moment(this.proxyModel),\n end = moment(this.proxyModel).endOf('day');\n this.selecteddata = selectedEventData;\n this.selecteddates = {\n 'start': moment(selectedDate).valueOf(),\n 'end' : moment(selectedDate).endOf('day').valueOf()\n };\n this.calendarOptions.calendar.select(start.valueOf(), end.valueOf(), {}, this, selectedEventData);\n if (selectedEventData) {\n this.calendarOptions.calendar.eventClick(selectedEventData, {}, this);\n }\n }\n\n /**\n * This function will receive an object containing source of calendar, apikey and calendarId and will integrate the respective calendar with fullcalendar.\n * @param eventObject\n */\n public addEventSource(eventObject) {\n if (isEmpty(eventObject)) {\n console.warn('addEventSource method requires an object as a parameter.');\n return;\n }\n if (eventObject.source === 'google') {\n if (!eventObject.googleCalendarApiKey || !eventObject.googleCalendarId ) {\n console.warn('For google calendar integration, \\'googleCalendarApiKey\\' and \\'googleCalendarId\\' should be passed in the parameter object.');\n return;\n }\n this.$fullCalendar.setOption('googleCalendarApiKey', eventObject.googleCalendarApiKey);\n this.$fullCalendar.addEventSource({\n googleCalendarId: eventObject.googleCalendarId\n });\n }\n }\n\n /**\n * get the viewTypeKey according to the calendarType and viewType selected\n * @param viewKey\n */\n getViewType(viewKey) {\n const calendarType = this.calendartype;\n const view = this.view;\n let result;\n\n if (view === 'month') {\n result = (calendarType === VIEW_TYPES.LIST) ? 'listMonth' : 'dayGridMonth';\n } else if (view === 'week') {\n result = (calendarType === VIEW_TYPES.BASIC) ? 'dayGridWeek' : (calendarType === VIEW_TYPES.LIST) ? 'listWeek' : 'timeGridWeek';\n } else if (view === 'day') {\n result = (calendarType === VIEW_TYPES.BASIC) ? 'dayGridDay' : (calendarType === VIEW_TYPES.LIST) ? 'listDay' : 'timeGridDay';\n } else if (view === 'year') {\n result = (calendarType === VIEW_TYPES.LIST) ? 'listYear' : '';\n } else {\n result = viewKey;\n }\n return result;\n }\n\n /**\n * @param operationType\n * @param argumentKey\n * @param argumentValue\n * Handle various operations like Rendering Calendar, changing the calendar viewType, setting the calendarOptions according to the operationType.\n */\n applyCalendarOptions(operationType: string, argumentKey?: any, argumentValue?: any): void {\n switch (operationType) {\n case 'render':\n this.$fullCalendar.render();\n break;\n case 'option':\n this.$fullCalendar.setOption(argumentKey, argumentValue);\n break;\n case 'changeView':\n const view = this.getViewType(argumentKey);\n this.$fullCalendar.changeView(view);\n break;\n }\n }\n\n /**\n * Adds the new eventsDataSet to the calendar object with addEvent Method and re-renders the calendar\n */\n renderEventDataSet() {\n const self = this;\n this.$fullCalendar.batchRendering(function() {\n const events = self.$fullCalendar.getEvents();\n each(events, function (event) {\n const eventData = self.$fullCalendar.getEventById(event.id);\n eventData.remove();\n });\n each(self.dataSetEvents.events, function (event) {\n self.$fullCalendar.addEvent(event);\n });\n });\n }\n\n ngOnDestroy() {\n if(this.cancelLocaleChangeSubscription) {\n this.cancelLocaleChangeSubscription();\n }\n }\n}\n","<div #calendar [attr.aria-label]=\"view || 'month'\"></div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\nimport { CoreModule } from '@wm/core';\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { CalendarComponent } from './calendar.component';\n\nconst components = [\n CalendarComponent\n];\n\n@NgModule({\n imports: [\n CoreModule,\n BsDatepickerModule,\n CommonModule,\n FormsModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class CalendarModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@wm/components/base'), require('@wm/components/basic/search'), require('@angular/forms'), require('@wm/core'), require('@wm/components/input')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@wm/components/base', '@wm/components/basic/search', '@angular/forms', '@wm/core', '@wm/components/input'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.input = global.wm.components.input || {}, global.wm.components.input.chips = {}), global.ng.core, global.ng.common, global.wm.components.base, global.wm.components.basic.search, global.ng.forms, global.wm.core, global.wm.components.input));
|
|
5
|
-
})(this, (function (exports, i0, i1, i3, i2, forms, core, input) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@wm/components/base'), require('@wm/components/basic/search'), require('@angular/forms'), require('@wm/core'), require('@wm/components/input'), require('lodash-es')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@wm/components/base', '@wm/components/basic/search', '@angular/forms', '@wm/core', '@wm/components/input', 'lodash-es'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.input = global.wm.components.input || {}, global.wm.components.input.chips = {}), global.ng.core, global.ng.common, global.wm.components.base, global.wm.components.basic.search, global.ng.forms, global.wm.core, global.wm.components.input, global._));
|
|
5
|
+
})(this, (function (exports, i0, i1, i3, i2, forms, core, input, lodashEs) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespaceDefault(e) {
|
|
8
8
|
var n = Object.create(null);
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
this._debounceUpdateQueryModel = core.debounce((val) => {
|
|
148
148
|
this.updateQueryModel(val).then(() => {
|
|
149
149
|
if (this.bindChipclass) {
|
|
150
|
-
|
|
150
|
+
lodashEs.forEach(this.chipsList, (item, index) => {
|
|
151
151
|
this.registerChipItemClass(item, index);
|
|
152
152
|
});
|
|
153
153
|
}
|
|
@@ -228,12 +228,12 @@
|
|
|
228
228
|
return Promise.resolve();
|
|
229
229
|
}
|
|
230
230
|
// clone the data as the updations on data will change the datavalue.
|
|
231
|
-
let dataValue =
|
|
231
|
+
let dataValue = lodashEs.clone(data);
|
|
232
232
|
const prevChipsList = this.chipsList;
|
|
233
233
|
this.chipsList = [];
|
|
234
234
|
// update the model when model has items more than maxsize
|
|
235
235
|
if (this.maxsize && dataValue.length > this.maxsize) {
|
|
236
|
-
this._modelByValue = dataValue =
|
|
236
|
+
this._modelByValue = dataValue = lodashEs.slice(dataValue, 0, this.maxsize);
|
|
237
237
|
data = dataValue;
|
|
238
238
|
}
|
|
239
239
|
const searchQuery = [];
|
|
@@ -247,8 +247,8 @@
|
|
|
247
247
|
* 6. If value is not object and allowonlyselect is false, then create a customModel and replace this value with customModel and prepare datasetItem from this value
|
|
248
248
|
*/
|
|
249
249
|
dataValue.forEach((val, i) => {
|
|
250
|
-
const itemFound =
|
|
251
|
-
return
|
|
250
|
+
const itemFound = lodashEs.find(this.datasetItems, item => {
|
|
251
|
+
return lodashEs.isObject(item.value) ? lodashEs.isEqual(item.value, val) : lodashEs.toString(item.value) === lodashEs.toString(val);
|
|
252
252
|
});
|
|
253
253
|
if (itemFound) {
|
|
254
254
|
this.chipsList.push(itemFound);
|
|
@@ -258,7 +258,7 @@
|
|
|
258
258
|
}
|
|
259
259
|
else if (this.datafield === i3.ALLFIELDS) {
|
|
260
260
|
let dataObj, isCustom = false;
|
|
261
|
-
if (!
|
|
261
|
+
if (!lodashEs.isObject(val)) {
|
|
262
262
|
dataObj = this.createCustomDataModel(val);
|
|
263
263
|
isCustom = true;
|
|
264
264
|
if (dataObj) {
|
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
// if custom chips is already generated, val will be object as {'dataField_val': 'entered_val'}
|
|
270
270
|
// Hence check this val in previous chipList and assign the iscustom flag
|
|
271
271
|
const prevChipObj = prevChipsList.find(obj => {
|
|
272
|
-
return
|
|
272
|
+
return lodashEs.isEqual(obj.value, val);
|
|
273
273
|
});
|
|
274
274
|
if (prevChipObj) {
|
|
275
275
|
isCustom = prevChipObj.iscustom;
|
|
@@ -290,7 +290,7 @@
|
|
|
290
290
|
.then(response => {
|
|
291
291
|
this.chipsList = this.chipsList.concat(response || []);
|
|
292
292
|
dataValue.forEach((val, i) => {
|
|
293
|
-
const isExists =
|
|
293
|
+
const isExists = lodashEs.find(this.chipsList, (obj) => {
|
|
294
294
|
return obj.value.toString() === val.toString();
|
|
295
295
|
});
|
|
296
296
|
if (!isExists) {
|
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
let allowAdd;
|
|
332
332
|
let chipObj;
|
|
333
333
|
if (searchComponent && core.isDefined(searchComponent.datavalue) && searchComponent.queryModel !== '') {
|
|
334
|
-
if (!searchComponent.query || !
|
|
334
|
+
if (!searchComponent.query || !lodashEs.trim(searchComponent.query)) {
|
|
335
335
|
return;
|
|
336
336
|
}
|
|
337
337
|
chipObj = searchComponent.queryModel;
|
|
@@ -342,7 +342,7 @@
|
|
|
342
342
|
}
|
|
343
343
|
let dataObj;
|
|
344
344
|
if (this.datafield === i3.ALLFIELDS) {
|
|
345
|
-
if (!
|
|
345
|
+
if (!lodashEs.isObject(this.searchComponent.query) && lodashEs.trim(this.searchComponent.query)) {
|
|
346
346
|
dataObj = this.createCustomDataModel(this.searchComponent.query);
|
|
347
347
|
// return if the custom chip is empty
|
|
348
348
|
if (!dataObj) {
|
|
@@ -351,7 +351,7 @@
|
|
|
351
351
|
}
|
|
352
352
|
}
|
|
353
353
|
}
|
|
354
|
-
const data = dataObj ||
|
|
354
|
+
const data = dataObj || lodashEs.trim(this.searchComponent.query);
|
|
355
355
|
if (data) {
|
|
356
356
|
const transformedData = this.getTransformedData(data, true);
|
|
357
357
|
chipObj = transformedData[0];
|
|
@@ -401,9 +401,9 @@
|
|
|
401
401
|
// Check if newItem already exists
|
|
402
402
|
isDuplicate(item) {
|
|
403
403
|
if (this.datafield === i3.ALLFIELDS) {
|
|
404
|
-
return
|
|
404
|
+
return lodashEs.findIndex(this.chipsList, { value: item.value }) > -1;
|
|
405
405
|
}
|
|
406
|
-
return
|
|
406
|
+
return lodashEs.findIndex(this.chipsList, { key: item.key }) > -1;
|
|
407
407
|
}
|
|
408
408
|
// Check if max size is reached
|
|
409
409
|
updateMaxSize() {
|
|
@@ -414,8 +414,9 @@
|
|
|
414
414
|
this.nextItemIndex++;
|
|
415
415
|
return this.searchComponent.getDataSource(query, true, index)
|
|
416
416
|
.then((response) => {
|
|
417
|
-
|
|
418
|
-
|
|
417
|
+
// @ts-ignore
|
|
418
|
+
return lodashEs.filter(query, queryVal => {
|
|
419
|
+
lodashEs.find(response, { value: queryVal });
|
|
419
420
|
});
|
|
420
421
|
});
|
|
421
422
|
}
|
|
@@ -501,9 +502,9 @@
|
|
|
501
502
|
// Remove the item from list
|
|
502
503
|
removeItem($event, item, index, canFocus) {
|
|
503
504
|
$event.stopPropagation();
|
|
504
|
-
const indexes =
|
|
505
|
-
const focusIndex =
|
|
506
|
-
const items =
|
|
505
|
+
const indexes = lodashEs.isArray(index) ? index : [index];
|
|
506
|
+
const focusIndex = lodashEs.max(indexes);
|
|
507
|
+
const items = lodashEs.reduce(indexes, (result, i) => {
|
|
507
508
|
result.push(this.chipsList[i]);
|
|
508
509
|
return result;
|
|
509
510
|
}, []);
|
|
@@ -512,7 +513,7 @@
|
|
|
512
513
|
if (core.isDefined(allowRemove) && !core.toBoolean(allowRemove)) {
|
|
513
514
|
return;
|
|
514
515
|
}
|
|
515
|
-
const prevDatavalue =
|
|
516
|
+
const prevDatavalue = lodashEs.clone(this.datavalue);
|
|
516
517
|
// focus next chip after deletion.
|
|
517
518
|
// if there are no chips in the list focus search box
|
|
518
519
|
setTimeout(() => {
|
|
@@ -531,10 +532,10 @@
|
|
|
531
532
|
$chipsList.get(focusIndex).focus();
|
|
532
533
|
}
|
|
533
534
|
});
|
|
534
|
-
const pulledItems =
|
|
535
|
+
const pulledItems = lodashEs.pullAt(this.chipsList, indexes);
|
|
535
536
|
pulledItems.forEach(datasetItem => {
|
|
536
|
-
this._modelByValue =
|
|
537
|
-
return !(
|
|
537
|
+
this._modelByValue = lodashEs.filter(this._modelByValue, val => {
|
|
538
|
+
return !(lodashEs.isObject(val) ? lodashEs.isEqual(val, datasetItem.value) : lodashEs.toString(val) === lodashEs.toString(datasetItem.value));
|
|
538
539
|
});
|
|
539
540
|
});
|
|
540
541
|
this._unsubscribeDv = false;
|
|
@@ -550,7 +551,7 @@
|
|
|
550
551
|
* @param currentIndex :- the current index of the element.
|
|
551
552
|
*/
|
|
552
553
|
swapElementsInArray(data, newIndex, currentIndex) {
|
|
553
|
-
const draggedItem =
|
|
554
|
+
const draggedItem = lodashEs.pullAt(data, currentIndex)[0];
|
|
554
555
|
data.splice(newIndex, 0, draggedItem);
|
|
555
556
|
}
|
|
556
557
|
/**
|
|
@@ -732,7 +733,7 @@
|
|
|
732
733
|
type: i0.ViewChild,
|
|
733
734
|
args: [i2.SearchComponent, /* TODO: add static flag */ { static: true }]
|
|
734
735
|
}] }); })();
|
|
735
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(ChipsComponent, { className: "ChipsComponent", filePath: "chips.component.ts", lineNumber:
|
|
736
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(ChipsComponent, { className: "ChipsComponent", filePath: "chips.component.ts", lineNumber: 54 }); })();
|
|
736
737
|
|
|
737
738
|
const components = [
|
|
738
739
|
ChipsComponent
|
|
@@ -52,7 +52,7 @@ export declare class ChipsComponent extends DatasetAwareFormComponent implements
|
|
|
52
52
|
private createCustomDataModel;
|
|
53
53
|
private isDuplicate;
|
|
54
54
|
private updateMaxSize;
|
|
55
|
-
protected getDefaultModel(query: Array<string> | string, index?: number): Promise<
|
|
55
|
+
protected getDefaultModel(query: Array<string> | string, index?: number): Promise<string[]>;
|
|
56
56
|
private handleChipClick;
|
|
57
57
|
private handleChipFocus;
|
|
58
58
|
stopEvent($event: Event): void;
|