@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
|
@@ -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/core'), require('@wm/security'), require('@wavemaker/focus-trap
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@wm/core', '@wm/security', '@wavemaker/focus-trap
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.base = {}), global.ng.core, global.ng.common, global.wm.core, global.wm.security, global.focusTrap, global.ng.platformBrowser, global.rxjs, global.rxjs.operators, global.tslib, global.ng.forms, global.swipey));
|
|
5
|
-
})(this, (function (exports, i0, i1$1, i1, security, focusTrap, i1$2, rxjs, operators, tslib, forms, _swipey) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@wm/core'), require('@wm/security'), require('@wavemaker/focus-trap'), require('lodash-es'), require('@angular/platform-browser'), require('rxjs'), require('rxjs/operators'), require('tslib'), require('@angular/forms'), require('@swipey')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@wm/core', '@wm/security', '@wavemaker/focus-trap', 'lodash-es', '@angular/platform-browser', 'rxjs', 'rxjs/operators', 'tslib', '@angular/forms', '@swipey'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.base = {}), global.ng.core, global.ng.common, global.wm.core, global.wm.security, global.focusTrap, global._, global.ng.platformBrowser, global.rxjs, global.rxjs.operators, global.tslib, global.ng.forms, global.swipey));
|
|
5
|
+
})(this, (function (exports, i0, i1$1, i1, security, focusTrap, lodashEs, i1$2, rxjs, operators, tslib, forms, _swipey) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespaceDefault(e) {
|
|
8
8
|
var n = Object.create(null);
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
/* convert indexes to properties, so as to work for even 'key1[0].child1'*/
|
|
101
101
|
strKey.replace(/\[(\w+)\]/g, '.$1').split('.').forEach(key => {
|
|
102
102
|
// If obj is null, then assign val to null.
|
|
103
|
-
val = (val && val[key]) || (
|
|
103
|
+
val = (val && val[key]) || (lodashEs.isNull(obj) ? obj : obj[key]);
|
|
104
104
|
});
|
|
105
105
|
return val;
|
|
106
106
|
}
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
// Handling field name with special charecters
|
|
136
136
|
// Ex: field = "f name"
|
|
137
137
|
if (!bindExpr && !expr) {
|
|
138
|
-
return
|
|
138
|
+
return lodashEs.get(dataObj, field);
|
|
139
139
|
}
|
|
140
140
|
return i1.$parseExpr(expressionValue)(context, Object.assign({}, dataObj, { __1: dataObj }));
|
|
141
141
|
};
|
|
@@ -172,12 +172,12 @@
|
|
|
172
172
|
const getOrderByExpr = pageableObj => {
|
|
173
173
|
pageableObj = pageableObj || [];
|
|
174
174
|
const expressions = [], KEY_VAL_SEPARATOR = ' ', FIELD_SEPARATOR = ',';
|
|
175
|
-
|
|
175
|
+
lodashEs.forEach(pageableObj, obj => {
|
|
176
176
|
if (obj.direction) {
|
|
177
177
|
expressions.push(obj.property + KEY_VAL_SEPARATOR + obj.direction.toLowerCase());
|
|
178
178
|
}
|
|
179
179
|
});
|
|
180
|
-
return
|
|
180
|
+
return lodashEs.join(expressions, FIELD_SEPARATOR);
|
|
181
181
|
};
|
|
182
182
|
const isDataSetWidget = widget => {
|
|
183
183
|
return DATASET_WIDGETS.has(widget);
|
|
@@ -267,13 +267,13 @@
|
|
|
267
267
|
modes.string.push('in', 'notin');
|
|
268
268
|
modes.character.push('in', 'notin');
|
|
269
269
|
}
|
|
270
|
-
|
|
271
|
-
|
|
270
|
+
lodashEs.forEach(typesMap, (types, primType) => {
|
|
271
|
+
lodashEs.forEach(types, type => {
|
|
272
272
|
matchModeTypesMap[type] = modes[primType];
|
|
273
273
|
});
|
|
274
274
|
});
|
|
275
275
|
// this is used in filter criteria when the user types the column name manually and where we dont know the type of the column
|
|
276
|
-
matchModeTypesMap['default'] =
|
|
276
|
+
matchModeTypesMap['default'] = lodashEs.union(modes['number'], modes['string'], modes['character'], modes['date'], modes['date']);
|
|
277
277
|
return matchModeTypesMap;
|
|
278
278
|
};
|
|
279
279
|
const getMatchModeMsgs = (appLocale) => {
|
|
@@ -305,14 +305,14 @@
|
|
|
305
305
|
// Returns array of classes that are evaluated true for given object or array
|
|
306
306
|
const getClassesArray = classVal => {
|
|
307
307
|
let classes = [];
|
|
308
|
-
if (
|
|
308
|
+
if (lodashEs.isArray(classVal)) {
|
|
309
309
|
classVal.forEach(v => {
|
|
310
310
|
classes = classes.concat(getClassesArray(v));
|
|
311
311
|
});
|
|
312
312
|
return classes;
|
|
313
313
|
}
|
|
314
|
-
if (
|
|
315
|
-
|
|
314
|
+
if (lodashEs.isObject(classVal)) {
|
|
315
|
+
lodashEs.forEach(classVal, (val, key) => {
|
|
316
316
|
if (val) {
|
|
317
317
|
classes = classes.concat(key.split(' '));
|
|
318
318
|
}
|
|
@@ -326,9 +326,9 @@
|
|
|
326
326
|
// if the conditional class property has already toAdd and toRemove arrays then take that otherwise build those arrays
|
|
327
327
|
const classToAdd = nv.toAdd || nv;
|
|
328
328
|
const classToRemove = nv.toRemove || ov;
|
|
329
|
-
if (
|
|
330
|
-
toAdd =
|
|
331
|
-
toRemove = classToRemove ? (
|
|
329
|
+
if (lodashEs.isObject(nv)) {
|
|
330
|
+
toAdd = lodashEs.isArray(classToAdd) ? classToAdd : getClassesArray(classToAdd || []);
|
|
331
|
+
toRemove = classToRemove ? (lodashEs.isArray(classToRemove) ? classToRemove : getClassesArray(classToRemove)) : [];
|
|
332
332
|
}
|
|
333
333
|
else {
|
|
334
334
|
toAdd = classToAdd ? [classToAdd] : [];
|
|
@@ -343,9 +343,9 @@
|
|
|
343
343
|
if (!options) {
|
|
344
344
|
options = {};
|
|
345
345
|
}
|
|
346
|
-
|
|
347
|
-
if (
|
|
348
|
-
relatedInfo =
|
|
346
|
+
lodashEs.forEach(dataObject, (value, title) => {
|
|
347
|
+
if (lodashEs.includes(title, '.')) {
|
|
348
|
+
relatedInfo = lodashEs.split(title, '.');
|
|
349
349
|
relatedTable = relatedInfo[0];
|
|
350
350
|
relatedField = relatedInfo[1];
|
|
351
351
|
isRelated = true;
|
|
@@ -354,7 +354,7 @@
|
|
|
354
354
|
modifiedTitle = title;
|
|
355
355
|
}
|
|
356
356
|
else {
|
|
357
|
-
if (
|
|
357
|
+
if (lodashEs.isString(title)) {
|
|
358
358
|
modifiedTitle = i1.prettifyLabel(title);
|
|
359
359
|
modifiedTitle = i1.deHyphenate(modifiedTitle);
|
|
360
360
|
modifiedTitle = namePrefix ? i1.initCaps(namePrefix) + ' ' + modifiedTitle : modifiedTitle;
|
|
@@ -366,7 +366,7 @@
|
|
|
366
366
|
title = namePrefix ? namePrefix + '.' + title : title;
|
|
367
367
|
if (isRelated) {
|
|
368
368
|
// For related columns, shorten the title to last two words
|
|
369
|
-
fieldName =
|
|
369
|
+
fieldName = lodashEs.split(modifiedTitle, ' ');
|
|
370
370
|
fieldName = fieldName.length > 1 ? fieldName[fieldName.length - 2] + ' ' + fieldName[fieldName.length - 1] : fieldName[0];
|
|
371
371
|
}
|
|
372
372
|
else {
|
|
@@ -375,7 +375,7 @@
|
|
|
375
375
|
const defObj = options.setBindingField ? { 'displayName': fieldName, 'field': title, 'relatedTable': relatedTable, 'relatedField': relatedField || modifiedTitle }
|
|
376
376
|
: { 'displayName': fieldName, 'relatedTable': relatedTable, 'relatedField': relatedField || modifiedTitle };
|
|
377
377
|
/*if field is a leaf node, push it in the columnDefs*/
|
|
378
|
-
if (!
|
|
378
|
+
if (!lodashEs.isObject(value) || (lodashEs.isArray(value) && !value[0])) {
|
|
379
379
|
/*if the column counter has reached upperBound return*/
|
|
380
380
|
if (options.upperBound && options.columnCount === options.upperBound) {
|
|
381
381
|
return;
|
|
@@ -391,7 +391,7 @@
|
|
|
391
391
|
columnDefObj.objects.push(defObj);
|
|
392
392
|
}
|
|
393
393
|
/* if field is an array node, process its first child */
|
|
394
|
-
if (
|
|
394
|
+
if (lodashEs.isArray(value) && value[0]) {
|
|
395
395
|
pushFieldDef(value[0], columnDefObj, title + '[0]', options);
|
|
396
396
|
}
|
|
397
397
|
else {
|
|
@@ -402,17 +402,17 @@
|
|
|
402
402
|
};
|
|
403
403
|
const getMetaDataFromData = (data) => {
|
|
404
404
|
let dataObject;
|
|
405
|
-
if (
|
|
406
|
-
if (
|
|
405
|
+
if (lodashEs.isArray(data)) {
|
|
406
|
+
if (lodashEs.isObject(data[0])) {
|
|
407
407
|
dataObject = i1.getClonedObject(data[0]);
|
|
408
408
|
/*Loop over the object to find out any null values. If any null values are present in the first row, check and assign the values from other row.
|
|
409
409
|
* As column generation is dependent on data, for related fields if first row value is null, columns are not generated.
|
|
410
410
|
* To prevent this, check the data in other rows and generate the columns. New keys from others rows are also added*/
|
|
411
|
-
|
|
411
|
+
lodashEs.forEach(data, (row, index) => {
|
|
412
412
|
if ((index + 1) >= 10) { // Limit the data search to first 10 records
|
|
413
413
|
return false;
|
|
414
414
|
}
|
|
415
|
-
|
|
415
|
+
lodashEs.assignWith(dataObject, row, (objValue, srcValue) => {
|
|
416
416
|
return (objValue === null || objValue === undefined) ? srcValue : objValue;
|
|
417
417
|
});
|
|
418
418
|
});
|
|
@@ -801,7 +801,7 @@
|
|
|
801
801
|
if (isDimensionProp(key)) {
|
|
802
802
|
nv = i1.toDimension(nv);
|
|
803
803
|
}
|
|
804
|
-
else if (
|
|
804
|
+
else if (lodashEs.startsWith(nv, 'resources/')) {
|
|
805
805
|
const ref = component;
|
|
806
806
|
if (ref._parentPrefab_ === undefined) {
|
|
807
807
|
ref._parentPrefab_ = component.$element.parent().closest('[prefabname][prefabname!="__self__"]').attr('prefabname') || '';
|
|
@@ -842,7 +842,7 @@
|
|
|
842
842
|
},
|
|
843
843
|
get: (target, key) => {
|
|
844
844
|
const v = target[key];
|
|
845
|
-
if (
|
|
845
|
+
if (lodashEs.isFunction(v)) { // bind the proper context for the methods
|
|
846
846
|
return v.bind(target);
|
|
847
847
|
}
|
|
848
848
|
return v;
|
|
@@ -871,7 +871,7 @@
|
|
|
871
871
|
// bind proper context for the methods
|
|
872
872
|
invokeLater(() => {
|
|
873
873
|
for (const key in instance) {
|
|
874
|
-
if (
|
|
874
|
+
if (lodashEs.isFunction(instance[key]) && key !== 'constructor' && key !== 'super' && !lodashEs.startsWith(key, 'ng')) {
|
|
875
875
|
instance[key] = instance[key].bind(instance);
|
|
876
876
|
}
|
|
877
877
|
}
|
|
@@ -902,21 +902,21 @@
|
|
|
902
902
|
// Gets list of classes to add and remove and applies on the $el
|
|
903
903
|
const updateClasses = (toAdd, toRemove, el) => {
|
|
904
904
|
if (toRemove && toRemove.length) {
|
|
905
|
-
i1.removeClass(el,
|
|
905
|
+
i1.removeClass(el, lodashEs.join(toRemove, ' '));
|
|
906
906
|
}
|
|
907
907
|
if (toAdd && toAdd.length) {
|
|
908
|
-
i1.addClass(el,
|
|
908
|
+
i1.addClass(el, lodashEs.join(toAdd, ' '));
|
|
909
909
|
}
|
|
910
910
|
};
|
|
911
911
|
// To add and remove styles on the $el
|
|
912
912
|
const updateStyles = (nv, ov, el) => {
|
|
913
|
-
if (ov &&
|
|
913
|
+
if (ov && lodashEs.isObject(ov)) {
|
|
914
914
|
const keys = Object.keys(ov || {});
|
|
915
915
|
keys.forEach(function (key) {
|
|
916
916
|
i1.setCSS(el, key, '');
|
|
917
917
|
});
|
|
918
918
|
}
|
|
919
|
-
if (nv &&
|
|
919
|
+
if (nv && lodashEs.isObject(nv)) {
|
|
920
920
|
i1.setCSSFromObj(el, nv);
|
|
921
921
|
}
|
|
922
922
|
};
|
|
@@ -1028,7 +1028,7 @@
|
|
|
1028
1028
|
});
|
|
1029
1029
|
}
|
|
1030
1030
|
if (explicitContext) {
|
|
1031
|
-
|
|
1031
|
+
lodashEs.extend(this.context, explicitContext);
|
|
1032
1032
|
}
|
|
1033
1033
|
}
|
|
1034
1034
|
getNativeElement() {
|
|
@@ -1102,8 +1102,8 @@
|
|
|
1102
1102
|
}
|
|
1103
1103
|
if (parentContexts) {
|
|
1104
1104
|
let parentContextObj = {};
|
|
1105
|
-
if (
|
|
1106
|
-
|
|
1105
|
+
if (lodashEs.isArray(parentContexts)) {
|
|
1106
|
+
lodashEs.forEach(parentContexts, (contextObj) => {
|
|
1107
1107
|
Object.assign(parentContextObj, contextObj);
|
|
1108
1108
|
});
|
|
1109
1109
|
}
|
|
@@ -1261,7 +1261,7 @@
|
|
|
1261
1261
|
this.eventHandlers.set(this.getMappedEventName(eventName), { callback: eventCallback, locals });
|
|
1262
1262
|
// prepend eventName with on and convert it to camelcase.
|
|
1263
1263
|
// eg, "click" ---> onClick
|
|
1264
|
-
const onEventName =
|
|
1264
|
+
const onEventName = lodashEs.camelCase(`on-${eventName}`);
|
|
1265
1265
|
// save the eventCallback in widgetScope.
|
|
1266
1266
|
this[onEventName] = eventCallback;
|
|
1267
1267
|
// events needs to be setup after viewInit
|
|
@@ -1341,7 +1341,7 @@
|
|
|
1341
1341
|
if (_tNodeAttrs === null) {
|
|
1342
1342
|
return actualAttrs.sort();
|
|
1343
1343
|
}
|
|
1344
|
-
|
|
1344
|
+
lodashEs.forEach(_tNodeAttrs, (attr, i) => {
|
|
1345
1345
|
if (typeof attr === 'number') {
|
|
1346
1346
|
return false;
|
|
1347
1347
|
}
|
|
@@ -1366,7 +1366,7 @@
|
|
|
1366
1366
|
* Process the attributes
|
|
1367
1367
|
*/
|
|
1368
1368
|
processAttrs() {
|
|
1369
|
-
|
|
1369
|
+
lodashEs.map(this.getAttributes(), (attrName) => {
|
|
1370
1370
|
let attrValue = this.nativeElement.attributes[attrName].value;
|
|
1371
1371
|
this.$attrs.set(attrName, attrValue);
|
|
1372
1372
|
this.processAttr(attrName, attrValue);
|
|
@@ -1555,9 +1555,9 @@
|
|
|
1555
1555
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
1556
1556
|
}
|
|
1557
1557
|
updateRedrawableComponents(widgets) {
|
|
1558
|
-
|
|
1558
|
+
lodashEs.pickBy(widgets, widget => {
|
|
1559
1559
|
// check for redrawable widget and whether it is already exist in reDrawableComponents query list or not
|
|
1560
|
-
if (widget && widget.nativeElement && widget.nativeElement.hasAttribute('redrawable') && !
|
|
1560
|
+
if (widget && widget.nativeElement && widget.nativeElement.hasAttribute('redrawable') && !lodashEs.includes(this.reDrawableComponents._results, widget)) {
|
|
1561
1561
|
this.reDrawableComponents._results.push(widget);
|
|
1562
1562
|
}
|
|
1563
1563
|
if (widget && widget.Widgets) {
|
|
@@ -1898,7 +1898,7 @@
|
|
|
1898
1898
|
this.registerDestroyListener(this.viewport.subscribe("orientationchange" /* ViewportEvent.ORIENTATION_CHANGE */, data => this.callback('orientationchange', data)));
|
|
1899
1899
|
}
|
|
1900
1900
|
callback(eventName, locals) {
|
|
1901
|
-
locals =
|
|
1901
|
+
locals = lodashEs.assign({ widget: this }, locals);
|
|
1902
1902
|
this.invokeEventCallback(eventName, locals);
|
|
1903
1903
|
}
|
|
1904
1904
|
ngOnAttach() {
|
|
@@ -1943,7 +1943,7 @@
|
|
|
1943
1943
|
if (!value && bindExpr) {
|
|
1944
1944
|
this.widgetRef.registerDestroyListener(
|
|
1945
1945
|
//[Todo-CSP]: expr fn should be generated be default
|
|
1946
|
-
i1.$watch(bindExpr, this.widgetRef.getViewParent(),
|
|
1946
|
+
i1.$watch(bindExpr, this.widgetRef.getViewParent(), lodashEs.get(this.widgetRef, 'context'), nv => {
|
|
1947
1947
|
this.widgetRef.partialParams[name] = nv;
|
|
1948
1948
|
// notify the partial container of the param changes
|
|
1949
1949
|
this.widgetRef.params$.next();
|
|
@@ -2043,7 +2043,7 @@
|
|
|
2043
2043
|
this.resolver = resolver;
|
|
2044
2044
|
this.partialRefProvider = partialRefProvider;
|
|
2045
2045
|
this.contentInitialized = false;
|
|
2046
|
-
this.renderPartial =
|
|
2046
|
+
this.renderPartial = lodashEs.debounce(this._renderPartial, 200);
|
|
2047
2047
|
componentInstance.registerPropertyChangeListener((key, nv, ov) => {
|
|
2048
2048
|
if (key === 'content') {
|
|
2049
2049
|
if (componentInstance.$lazyLoad) {
|
|
@@ -2234,8 +2234,8 @@
|
|
|
2234
2234
|
let iScroll = new IScroll(el, scrollOptions);
|
|
2235
2235
|
if ($events) {
|
|
2236
2236
|
// map all events on previous iscroll to the newly created iscroll.
|
|
2237
|
-
|
|
2238
|
-
|
|
2237
|
+
lodashEs.forEach($events, (listeners, key) => {
|
|
2238
|
+
lodashEs.forEach(listeners, l => {
|
|
2239
2239
|
iScroll.on(key, l);
|
|
2240
2240
|
});
|
|
2241
2241
|
});
|
|
@@ -2264,7 +2264,7 @@
|
|
|
2264
2264
|
}
|
|
2265
2265
|
};
|
|
2266
2266
|
this._$el[0].iscroll = iScroll;
|
|
2267
|
-
|
|
2267
|
+
lodashEs.forEach(this.pendingIscrolls, (_el, index) => {
|
|
2268
2268
|
if (_el.isSameNode(this._$el[0])) {
|
|
2269
2269
|
this.app.notify('iscroll-update', { el: _el });
|
|
2270
2270
|
this.pendingIscrolls.splice(index, 1);
|
|
@@ -2302,7 +2302,7 @@
|
|
|
2302
2302
|
}
|
|
2303
2303
|
// Check for scrollable content and if smoothscroll-container div is already added.
|
|
2304
2304
|
if (iScroll.wrapper
|
|
2305
|
-
&& !
|
|
2305
|
+
&& !lodashEs.includes(iScroll.wrapper.children[0].classList, 'smoothscroll-container')
|
|
2306
2306
|
&& iScroll.wrapper.scrollHeight > iScroll.wrapper.clientHeight) {
|
|
2307
2307
|
const cloneEvents = iScroll._events;
|
|
2308
2308
|
const prevActiveEl = document.activeElement;
|
|
@@ -2392,7 +2392,7 @@
|
|
|
2392
2392
|
this.pipeName = pipeName;
|
|
2393
2393
|
this.customPipeManager = customPipeManager;
|
|
2394
2394
|
this.pipeRef = this.customPipeManager ? this.customPipeManager.getCustomPipe(pipeName) : null;
|
|
2395
|
-
this.isCustomPipe = this.pipeRef &&
|
|
2395
|
+
this.isCustomPipe = this.pipeRef && lodashEs.isFunction(this.pipeRef.formatter);
|
|
2396
2396
|
}
|
|
2397
2397
|
customFormatter(data, args) {
|
|
2398
2398
|
try {
|
|
@@ -2407,7 +2407,7 @@
|
|
|
2407
2407
|
const getEpochValue = data => {
|
|
2408
2408
|
let epoch;
|
|
2409
2409
|
// For data in form of string number ('123'), convert to number (123). And don't parse date objects.
|
|
2410
|
-
if (!
|
|
2410
|
+
if (!lodashEs.isDate(data) && !isNaN(data)) {
|
|
2411
2411
|
data = parseInt(data, 10);
|
|
2412
2412
|
}
|
|
2413
2413
|
// get the timestamp value. If data is time string, append date string to the time value
|
|
@@ -2492,7 +2492,7 @@
|
|
|
2492
2492
|
if (fracSize && !String(fracSize).match(/^(\d+)?\.((\d+)(-(\d+))?)?$/)) {
|
|
2493
2493
|
fracSize = '1.' + fracSize + '-' + fracSize;
|
|
2494
2494
|
}
|
|
2495
|
-
if (!
|
|
2495
|
+
if (!isNaN(+data)) {
|
|
2496
2496
|
const locale = this.i18nService && this.i18nService.getwidgetLocale() ? this.i18nService.getwidgetLocale() : undefined;
|
|
2497
2497
|
const formattedLocale = locale ? locale['number'] : null;
|
|
2498
2498
|
return this.decimalPipe.transform(data, fracSize, formattedLocale);
|
|
@@ -2518,7 +2518,7 @@
|
|
|
2518
2518
|
transform(data, currencySymbol, fracSize) {
|
|
2519
2519
|
const _currencySymbol = (i1.CURRENCY_INFO[currencySymbol] || {}).symbol || currencySymbol || '';
|
|
2520
2520
|
let _val = new ToNumberPipe(this.decimalPipe, this.i18nService).transform(data, fracSize);
|
|
2521
|
-
const isNegativeNumber =
|
|
2521
|
+
const isNegativeNumber = lodashEs.startsWith(_val, '-');
|
|
2522
2522
|
if (isNegativeNumber) {
|
|
2523
2523
|
_val = _val.replace('-', '');
|
|
2524
2524
|
}
|
|
@@ -2542,7 +2542,7 @@
|
|
|
2542
2542
|
}] }], null); })();
|
|
2543
2543
|
class PrefixPipe {
|
|
2544
2544
|
transform(data, padding) {
|
|
2545
|
-
return (
|
|
2545
|
+
return (lodashEs.isUndefined(data) || data === null || data === '') ? data : ((padding || '') + data);
|
|
2546
2546
|
}
|
|
2547
2547
|
static { this.ɵfac = function PrefixPipe_Factory(t) { return new (t || PrefixPipe)(); }; }
|
|
2548
2548
|
static { this.ɵpipe = /*@__PURE__*/ i0__namespace.ɵɵdefinePipe({ name: "prefix", type: PrefixPipe, pure: true }); }
|
|
@@ -2555,7 +2555,7 @@
|
|
|
2555
2555
|
}], null, null); })();
|
|
2556
2556
|
class SuffixPipe {
|
|
2557
2557
|
transform(data, padding) {
|
|
2558
|
-
return (
|
|
2558
|
+
return (lodashEs.isUndefined(data) || data === null || data === '') ? data : (data + (padding || ''));
|
|
2559
2559
|
}
|
|
2560
2560
|
static { this.ɵfac = function SuffixPipe_Factory(t) { return new (t || SuffixPipe)(); }; }
|
|
2561
2561
|
static { this.ɵpipe = /*@__PURE__*/ i0__namespace.ɵɵdefinePipe({ name: "suffix", type: SuffixPipe, pure: true }); }
|
|
@@ -2579,7 +2579,7 @@
|
|
|
2579
2579
|
argumentArr.push(arguments[i]);
|
|
2580
2580
|
}
|
|
2581
2581
|
let pipeRef = this.custmeUserPipe.getCustomPipe(pipename);
|
|
2582
|
-
if (!pipeRef || !
|
|
2582
|
+
if (!pipeRef || !lodashEs.isFunction(pipeRef.formatter)) {
|
|
2583
2583
|
console.warn('formatter is not defined, please check the custom pipes documentation');
|
|
2584
2584
|
return data;
|
|
2585
2585
|
}
|
|
@@ -2647,12 +2647,12 @@
|
|
|
2647
2647
|
return [];
|
|
2648
2648
|
}
|
|
2649
2649
|
// If object is passed as first paramter
|
|
2650
|
-
if (
|
|
2651
|
-
return
|
|
2650
|
+
if (lodashEs.isObject(field)) {
|
|
2651
|
+
return lodashEs.filter(data, field);
|
|
2652
2652
|
}
|
|
2653
2653
|
// If key value pair is provided
|
|
2654
|
-
return
|
|
2655
|
-
return
|
|
2654
|
+
return lodashEs.filter(data, item => {
|
|
2655
|
+
return lodashEs.includes(item[field], value);
|
|
2656
2656
|
});
|
|
2657
2657
|
}
|
|
2658
2658
|
static { this.ɵfac = function FilterPipe_Factory(t) { return new (t || FilterPipe)(); }; }
|
|
@@ -2985,7 +2985,7 @@
|
|
|
2985
2985
|
* closes all the opened dialogs
|
|
2986
2986
|
*/
|
|
2987
2987
|
closeAllDialogs() {
|
|
2988
|
-
|
|
2988
|
+
lodashEs.forEach(openedDialogs.reverse(), (dialog) => {
|
|
2989
2989
|
dialog.close();
|
|
2990
2990
|
});
|
|
2991
2991
|
}
|
|
@@ -3226,7 +3226,7 @@
|
|
|
3226
3226
|
};
|
|
3227
3227
|
// Returns true if widget is autocomplete or chips
|
|
3228
3228
|
function isSearchWidgetType(widget) {
|
|
3229
|
-
return
|
|
3229
|
+
return lodashEs.includes([i1.FormWidgetType.AUTOCOMPLETE, i1.FormWidgetType.TYPEAHEAD, i1.FormWidgetType.CHIPS], widget);
|
|
3230
3230
|
}
|
|
3231
3231
|
function onSuccess(response, res, rej) {
|
|
3232
3232
|
if (response.error) {
|
|
@@ -3315,7 +3315,7 @@
|
|
|
3315
3315
|
}
|
|
3316
3316
|
primaryKeys = dataSource.execute(i1.DataSource.Operation.GET_RELATED_PRIMARY_KEYS, relatedField);
|
|
3317
3317
|
formField.datafield = datafield;
|
|
3318
|
-
formField._primaryKey =
|
|
3318
|
+
formField._primaryKey = lodashEs.isEmpty(primaryKeys) ? undefined : primaryKeys[0];
|
|
3319
3319
|
formField.compareby = primaryKeys && primaryKeys.join(',');
|
|
3320
3320
|
displayField = datafield === ALLFIELDS ? undefined : datafield;
|
|
3321
3321
|
formField.displayfield = displayField = (formField.displayfield || displayField || formField._primaryKey);
|
|
@@ -3334,12 +3334,12 @@
|
|
|
3334
3334
|
dataSource.execute(i1.DataSource.Operation.GET_RELATED_TABLE_DATA, {
|
|
3335
3335
|
relatedField,
|
|
3336
3336
|
pagesize: formField.limit,
|
|
3337
|
-
orderBy: formField.orderby ?
|
|
3337
|
+
orderBy: formField.orderby ? lodashEs.replace(formField.orderby, /:/g, ' ') : '',
|
|
3338
3338
|
filterFields: {},
|
|
3339
3339
|
filterExpr: formField.filterexpressions ? formField.filterexpressions : {}
|
|
3340
3340
|
}).then(response => {
|
|
3341
3341
|
formField.dataset = response.data;
|
|
3342
|
-
formField.displayfield = formField.displayfield ||
|
|
3342
|
+
formField.displayfield = formField.displayfield || lodashEs.head(lodashEs.keys(lodashEs.get(response, '[0]')));
|
|
3343
3343
|
if (formField.showPendingSpinner) {
|
|
3344
3344
|
formField.showPendingSpinner = false;
|
|
3345
3345
|
}
|
|
@@ -3355,7 +3355,7 @@
|
|
|
3355
3355
|
*/
|
|
3356
3356
|
const interpolateBindExpressions = (context, filterexpressions, callbackFn) => {
|
|
3357
3357
|
const debouncedFn = i1.debounce(() => {
|
|
3358
|
-
if (
|
|
3358
|
+
if (lodashEs.isFunction(callbackFn)) {
|
|
3359
3359
|
callbackFn(filterexpressions);
|
|
3360
3360
|
}
|
|
3361
3361
|
}, 300);
|
|
@@ -3364,8 +3364,8 @@
|
|
|
3364
3364
|
* without this it will never be called. processFilterExpBindNode will be called only for the binded variable expressions.
|
|
3365
3365
|
*/
|
|
3366
3366
|
debouncedFn();
|
|
3367
|
-
const filterExpressions = filterexpressions ? (
|
|
3368
|
-
const destroyFn = context.registerDestroyListener ? context.registerDestroyListener.bind(context) :
|
|
3367
|
+
const filterExpressions = filterexpressions ? (lodashEs.isObject(filterexpressions) ? filterexpressions : JSON.parse(filterexpressions)) : {};
|
|
3368
|
+
const destroyFn = context.registerDestroyListener ? context.registerDestroyListener.bind(context) : noop;
|
|
3369
3369
|
const filterSubscription = i1.processFilterExpBindNode(context, filterExpressions).subscribe((response) => {
|
|
3370
3370
|
filterexpressions = JSON.stringify(response.filterExpressions);
|
|
3371
3371
|
debouncedFn();
|
|
@@ -3393,7 +3393,7 @@
|
|
|
3393
3393
|
fieldColumn = formField['lookup-field'];
|
|
3394
3394
|
props.distinctField = fieldColumn;
|
|
3395
3395
|
props.aliasColumn = fieldColumn.replace('.', '$'); // For related fields, In response . is replaced by $
|
|
3396
|
-
props.filterExpr = formField.filterexpressions ? (
|
|
3396
|
+
props.filterExpr = formField.filterexpressions ? (lodashEs.isObject(formField.filterexpressions) ? formField.filterexpressions : JSON.parse(formField.filterexpressions)) : {};
|
|
3397
3397
|
}
|
|
3398
3398
|
else {
|
|
3399
3399
|
props.tableName = dataSource.execute(i1.DataSource.Operation.GET_ENTITY_NAME);
|
|
@@ -3466,14 +3466,14 @@
|
|
|
3466
3466
|
const emptySupportWidgets = [i1.FormWidgetType.SELECT, i1.FormWidgetType.RADIOSET];
|
|
3467
3467
|
const emptyOption = {};
|
|
3468
3468
|
const dataSet = [];
|
|
3469
|
-
if (options.isEnableEmptyFilter &&
|
|
3469
|
+
if (options.isEnableEmptyFilter && lodashEs.includes(emptySupportWidgets, formField[options.widget]) &&
|
|
3470
3470
|
!formField['is-range'] && !formField.multiple) {
|
|
3471
3471
|
// If empty option is selected, push an empty object in to dataSet
|
|
3472
3472
|
emptyOption[LIVE_CONSTANTS.LABEL_KEY] = LIVE_CONSTANTS.EMPTY_KEY;
|
|
3473
3473
|
emptyOption[LIVE_CONSTANTS.LABEL_VALUE] = options.EMPTY_VALUE || LIVE_CONSTANTS.EMPTY_VALUE;
|
|
3474
3474
|
dataSet.push(emptyOption);
|
|
3475
3475
|
}
|
|
3476
|
-
|
|
3476
|
+
lodashEs.each(data, key => {
|
|
3477
3477
|
const value = key[options.aliasColumn];
|
|
3478
3478
|
const option = {};
|
|
3479
3479
|
if (value !== null && value !== '') {
|
|
@@ -3501,7 +3501,7 @@
|
|
|
3501
3501
|
*
|
|
3502
3502
|
*/
|
|
3503
3503
|
function fetchDistinctValues(dataSource, formFields, options) {
|
|
3504
|
-
if (
|
|
3504
|
+
if (lodashEs.isEmpty(formFields)) {
|
|
3505
3505
|
return;
|
|
3506
3506
|
}
|
|
3507
3507
|
formFields.forEach(formField => {
|
|
@@ -3613,7 +3613,7 @@
|
|
|
3613
3613
|
* @param {object} enableemptyfilter empty filter options
|
|
3614
3614
|
*/
|
|
3615
3615
|
function getEnableEmptyFilter(enableemptyfilter) {
|
|
3616
|
-
return enableemptyfilter &&
|
|
3616
|
+
return enableemptyfilter && lodashEs.intersection(enableemptyfilter.split(','), LIVE_CONSTANTS.NULL_EMPTY).length > 0;
|
|
3617
3617
|
}
|
|
3618
3618
|
/**
|
|
3619
3619
|
* @ngdoc function
|
|
@@ -3628,14 +3628,14 @@
|
|
|
3628
3628
|
*/
|
|
3629
3629
|
function getEmptyMatchMode(enableemptyfilter) {
|
|
3630
3630
|
let matchMode;
|
|
3631
|
-
const emptyFilterOptions =
|
|
3632
|
-
if (
|
|
3631
|
+
const emptyFilterOptions = lodashEs.split(enableemptyfilter, ',');
|
|
3632
|
+
if (lodashEs.intersection(emptyFilterOptions, LIVE_CONSTANTS.NULL_EMPTY).length === 2) {
|
|
3633
3633
|
matchMode = i1.MatchMode.NULLOREMPTY;
|
|
3634
3634
|
}
|
|
3635
|
-
else if (
|
|
3635
|
+
else if (lodashEs.includes(emptyFilterOptions, LIVE_CONSTANTS.NULL)) {
|
|
3636
3636
|
matchMode = i1.MatchMode.NULL;
|
|
3637
3637
|
}
|
|
3638
|
-
else if (
|
|
3638
|
+
else if (lodashEs.includes(emptyFilterOptions, LIVE_CONSTANTS.EMPTY)) {
|
|
3639
3639
|
matchMode = i1.MatchMode.EMPTY;
|
|
3640
3640
|
}
|
|
3641
3641
|
return matchMode;
|
|
@@ -3651,13 +3651,13 @@
|
|
|
3651
3651
|
* @returns {Array<any>}
|
|
3652
3652
|
*/
|
|
3653
3653
|
const createArrayFrom = (data) => {
|
|
3654
|
-
if (
|
|
3654
|
+
if (lodashEs.isUndefined(data) || lodashEs.isNull(data)) {
|
|
3655
3655
|
return [];
|
|
3656
3656
|
}
|
|
3657
|
-
if (
|
|
3657
|
+
if (lodashEs.isString(data)) {
|
|
3658
3658
|
data = data.split(',').map(Function.prototype.call, String.prototype.trim);
|
|
3659
3659
|
}
|
|
3660
|
-
if (!
|
|
3660
|
+
if (!lodashEs.isArray(data)) {
|
|
3661
3661
|
data = [data];
|
|
3662
3662
|
}
|
|
3663
3663
|
return data;
|
|
@@ -3677,13 +3677,13 @@
|
|
|
3677
3677
|
*/
|
|
3678
3678
|
function applyFilterOnField(dataSource, filterDef, formFields, newVal, options = {}) {
|
|
3679
3679
|
const fieldName = filterDef.field || filterDef.key;
|
|
3680
|
-
const filterOnFields =
|
|
3680
|
+
const filterOnFields = lodashEs.filter(formFields, { 'filter-on': fieldName });
|
|
3681
3681
|
newVal = filterDef['is-range'] ? getRangeFieldValue(filterDef.minValue, filterDef.maxValue) : (i1.isDefined(newVal) ? newVal : filterDef.value);
|
|
3682
|
-
if (!dataSource || (options.isFirst && (
|
|
3682
|
+
if (!dataSource || (options.isFirst && (lodashEs.isUndefined(newVal) || newVal === ''))) {
|
|
3683
3683
|
return;
|
|
3684
3684
|
}
|
|
3685
3685
|
// Loop over the fields for which the current field is filter on field
|
|
3686
|
-
|
|
3686
|
+
lodashEs.forEach(filterOnFields, filterField => {
|
|
3687
3687
|
const filterKey = filterField.field || filterField.key;
|
|
3688
3688
|
const lookUpField = filterDef['lookup-field'] || filterDef._primaryKey;
|
|
3689
3689
|
const filterWidget = filterField['edit-widget-type'] || filterField.widgettype;
|
|
@@ -3709,7 +3709,7 @@
|
|
|
3709
3709
|
else {
|
|
3710
3710
|
matchMode = i1.MatchMode.EQUALS;
|
|
3711
3711
|
}
|
|
3712
|
-
filterVal = (
|
|
3712
|
+
filterVal = (lodashEs.isObject(newVal) && !lodashEs.isArray(newVal)) ? newVal[lookUpField] : newVal;
|
|
3713
3713
|
filterFields[filterOn] = {
|
|
3714
3714
|
'value': filterVal,
|
|
3715
3715
|
'matchMode': matchMode
|
|
@@ -3744,9 +3744,9 @@
|
|
|
3744
3744
|
// data sanity testing
|
|
3745
3745
|
dataObject = dataObject || [];
|
|
3746
3746
|
// if the dataObject is not an array make it an array
|
|
3747
|
-
if (!
|
|
3747
|
+
if (!lodashEs.isArray(dataObject)) {
|
|
3748
3748
|
// if the data returned is of type string, make it an object inside an array
|
|
3749
|
-
if (
|
|
3749
|
+
if (lodashEs.isString(dataObject)) {
|
|
3750
3750
|
keys = variableName.substring(variableName.indexOf('.') + 1, variableName.length).split('.');
|
|
3751
3751
|
oldKeys = [];
|
|
3752
3752
|
numKeys = keys.length;
|
|
@@ -3770,9 +3770,9 @@
|
|
|
3770
3770
|
/*if the dataObject is an array and each value is a string, then lite-transform the string to an object
|
|
3771
3771
|
* lite-transform: just checking if the first value is string and then transforming the object, instead of traversing through the whole array
|
|
3772
3772
|
* */
|
|
3773
|
-
if (
|
|
3773
|
+
if (lodashEs.isString(dataObject[0])) {
|
|
3774
3774
|
tempArr = [];
|
|
3775
|
-
|
|
3775
|
+
lodashEs.forEach(dataObject, str => {
|
|
3776
3776
|
newObj = {};
|
|
3777
3777
|
newObj[variableName.split('.').join('-')] = str;
|
|
3778
3778
|
tempArr.push(newObj);
|
|
@@ -3815,18 +3815,18 @@
|
|
|
3815
3815
|
/**
|
|
3816
3816
|
* function to get the ordered dataset based on the given orderby
|
|
3817
3817
|
*/
|
|
3818
|
-
const getOrderedDataset = (dataSet, orderBy, innerItem) => {
|
|
3819
|
-
if (!orderBy) {
|
|
3820
|
-
return
|
|
3818
|
+
const getOrderedDataset = (dataSet, orderBy$1, innerItem) => {
|
|
3819
|
+
if (!orderBy$1) {
|
|
3820
|
+
return lodashEs.cloneDeep(dataSet);
|
|
3821
3821
|
}
|
|
3822
3822
|
// The order by only works when the dataset contains list of objects.
|
|
3823
|
-
const items = orderBy.split(','), fields = [], directions = [];
|
|
3823
|
+
const items = orderBy$1.split(','), fields = [], directions = [];
|
|
3824
3824
|
items.forEach(obj => {
|
|
3825
3825
|
const item = obj.split(':');
|
|
3826
3826
|
fields.push(innerItem ? innerItem + '.' + item[0] : item[0]);
|
|
3827
3827
|
directions.push(item[1]);
|
|
3828
3828
|
});
|
|
3829
|
-
return
|
|
3829
|
+
return lodashEs.orderBy(dataSet, fields, directions);
|
|
3830
3830
|
};
|
|
3831
3831
|
/**
|
|
3832
3832
|
* Returns an array of object, each object contain the DataSetItem whose key, value, label are extracted from object keys.
|
|
@@ -3835,10 +3835,10 @@
|
|
|
3835
3835
|
const data = [];
|
|
3836
3836
|
// if the dataset is instance of object (not an array) or the first item in the dataset array is an object,
|
|
3837
3837
|
// then we extract the keys from the object and prepare the dataset items.
|
|
3838
|
-
if (
|
|
3838
|
+
if (lodashEs.isObject(dataSet[0]) || (lodashEs.isObject(dataSet) && !(dataSet instanceof Array))) {
|
|
3839
3839
|
// getting keys of the object
|
|
3840
3840
|
const objectKeys = Object.keys(dataSet[0] || dataSet);
|
|
3841
|
-
|
|
3841
|
+
lodashEs.forEach(objectKeys, (objKey, index) => {
|
|
3842
3842
|
data.push({
|
|
3843
3843
|
key: objKey,
|
|
3844
3844
|
label: objKey,
|
|
@@ -3851,21 +3851,21 @@
|
|
|
3851
3851
|
};
|
|
3852
3852
|
// Converts any type of data to array.
|
|
3853
3853
|
const extractDataAsArray = data => {
|
|
3854
|
-
if (
|
|
3854
|
+
if (lodashEs.isUndefined(data) || lodashEs.isNull(data) || lodashEs.trim(data) === '') {
|
|
3855
3855
|
return [];
|
|
3856
3856
|
}
|
|
3857
|
-
if (
|
|
3858
|
-
data =
|
|
3857
|
+
if (lodashEs.isString(data)) {
|
|
3858
|
+
data = lodashEs.split(data, ',').map(str => str.trim());
|
|
3859
3859
|
}
|
|
3860
|
-
if (!
|
|
3860
|
+
if (!lodashEs.isArray(data)) {
|
|
3861
3861
|
data = [data];
|
|
3862
3862
|
}
|
|
3863
3863
|
return data;
|
|
3864
3864
|
};
|
|
3865
3865
|
// This function return always an object containing dataset details.
|
|
3866
3866
|
const convertDataToObject = dataResult => {
|
|
3867
|
-
if (
|
|
3868
|
-
dataResult =
|
|
3867
|
+
if (lodashEs.isString(dataResult)) {
|
|
3868
|
+
dataResult = lodashEs.split(dataResult, ',').map(str => str.trim());
|
|
3869
3869
|
}
|
|
3870
3870
|
return dataResult;
|
|
3871
3871
|
};
|
|
@@ -3877,7 +3877,7 @@
|
|
|
3877
3877
|
const setGroupbyKey = (scope, context, dataSetItem, innerItem) => {
|
|
3878
3878
|
if (scope && isSeachWidget(scope.widgetType)) {
|
|
3879
3879
|
if (scope.groupby) {
|
|
3880
|
-
if (
|
|
3880
|
+
if (lodashEs.includes(scope.groupby, '(')) {
|
|
3881
3881
|
//[Todo-CSP]: can generate expr fn in page based on groupby property on widget
|
|
3882
3882
|
const groupDataByUserDefinedFn = i1.$parseEvent(scope.groupby);
|
|
3883
3883
|
dataSetItem.groupby = groupDataByUserDefinedFn(context, { 'row': dataSetItem.dataObject || dataSetItem });
|
|
@@ -3908,10 +3908,10 @@
|
|
|
3908
3908
|
}
|
|
3909
3909
|
dataSet = convertDataToObject(dataSet);
|
|
3910
3910
|
// startIndex is the index of the next new item.
|
|
3911
|
-
if (
|
|
3911
|
+
if (lodashEs.isUndefined(startIndex)) {
|
|
3912
3912
|
startIndex = 1;
|
|
3913
3913
|
}
|
|
3914
|
-
if (
|
|
3914
|
+
if (lodashEs.isString(dataSet)) {
|
|
3915
3915
|
dataSet = dataSet.split(',').map(str => str.trim());
|
|
3916
3916
|
dataSet.forEach((option, index) => {
|
|
3917
3917
|
const dataSetItem = { key: option, value: option, label: (i1.isDefined(option) && option !== null) ? option.toString() : '', index: startIndex + index };
|
|
@@ -3919,16 +3919,20 @@
|
|
|
3919
3919
|
data.push(dataSetItem);
|
|
3920
3920
|
});
|
|
3921
3921
|
}
|
|
3922
|
-
else if (
|
|
3922
|
+
else if (lodashEs.isArray(dataSet) && !lodashEs.isObject(dataSet[0])) { // array of primitive values only
|
|
3923
3923
|
dataSet.forEach((option, index) => {
|
|
3924
3924
|
const dataSetItem = { key: option, value: option, label: (i1.isDefined(option) && option !== null) ? option.toString() : '', index: startIndex + index };
|
|
3925
3925
|
setGroupbyKey(scope, context, dataSetItem, 'value');
|
|
3926
3926
|
data.push(dataSetItem);
|
|
3927
3927
|
});
|
|
3928
3928
|
}
|
|
3929
|
-
else if (!(dataSet instanceof Array) &&
|
|
3930
|
-
|
|
3931
|
-
|
|
3929
|
+
else if (!(dataSet instanceof Array) && lodashEs.isObject(dataSet)) {
|
|
3930
|
+
lodashEs.forEach(dataSet, (value, key) => {
|
|
3931
|
+
// @ts-ignore
|
|
3932
|
+
const dataSetItem = { key: lodashEs.trim(key), value: key, label: (i1.isDefined(value) && value !== null) ? value.toString() : '',
|
|
3933
|
+
index: startIndex,
|
|
3934
|
+
dataObject: dataSet
|
|
3935
|
+
};
|
|
3932
3936
|
setGroupbyKey(scope, context, dataSetItem, 'value');
|
|
3933
3937
|
data.push(dataSetItem);
|
|
3934
3938
|
});
|
|
@@ -3940,7 +3944,7 @@
|
|
|
3940
3944
|
dataSet.forEach((option, index) => {
|
|
3941
3945
|
const key = myDataField === ALLFIELDS ? startIndex + index : getObjValueByKey(option, myDataField);
|
|
3942
3946
|
// Omit all the items whose datafield (key) is null or undefined.
|
|
3943
|
-
if (!
|
|
3947
|
+
if (!lodashEs.isUndefined(key) && !lodashEs.isNull(key)) {
|
|
3944
3948
|
const label = getEvaluatedData(option, {
|
|
3945
3949
|
field: displayOptions.displayField,
|
|
3946
3950
|
expression: displayOptions.displayExpr,
|
|
@@ -3972,16 +3976,16 @@
|
|
|
3972
3976
|
const getUniqObjsByDataField = (data, dataField, displayField, allowEmptyFields) => {
|
|
3973
3977
|
let uniqData;
|
|
3974
3978
|
const isAllFields = dataField === ALLFIELDS;
|
|
3975
|
-
uniqData = isAllFields ?
|
|
3979
|
+
uniqData = isAllFields ? lodashEs.uniqWith(data, lodashEs.isEqual) : lodashEs.uniqBy(data, 'key');
|
|
3976
3980
|
if (!displayField || allowEmptyFields) {
|
|
3977
3981
|
return uniqData;
|
|
3978
3982
|
}
|
|
3979
3983
|
// return objects having non empty datafield and display field values.
|
|
3980
|
-
return
|
|
3984
|
+
return lodashEs.filter(uniqData, (obj) => {
|
|
3981
3985
|
if (isAllFields) {
|
|
3982
|
-
return
|
|
3986
|
+
return lodashEs.trim(obj.label);
|
|
3983
3987
|
}
|
|
3984
|
-
return
|
|
3988
|
+
return lodashEs.trim(obj.key) && lodashEs.trim(obj.label);
|
|
3985
3989
|
});
|
|
3986
3990
|
};
|
|
3987
3991
|
/**
|
|
@@ -3993,7 +3997,7 @@
|
|
|
3993
3997
|
*/
|
|
3994
3998
|
const setItemByCompare = (datasetItems, compareWithDataObj, compareByField) => {
|
|
3995
3999
|
// compare the fields based on fields given to compareby property.
|
|
3996
|
-
|
|
4000
|
+
lodashEs.forEach(datasetItems, opt => {
|
|
3997
4001
|
if (i1.isEqualWithFields(opt.value, compareWithDataObj, compareByField)) {
|
|
3998
4002
|
opt.selected = true;
|
|
3999
4003
|
return false;
|
|
@@ -4010,13 +4014,13 @@
|
|
|
4010
4014
|
*/
|
|
4011
4015
|
const getSortedGroupedData = (groupedLiData, groupBy, orderby) => {
|
|
4012
4016
|
const _groupedData = [];
|
|
4013
|
-
|
|
4017
|
+
lodashEs.forEach(lodashEs.keys(groupedLiData), (groupkey, index) => {
|
|
4014
4018
|
const liData = getOrderedDataset(groupedLiData[groupkey], orderby, 'dataObject');
|
|
4015
4019
|
_groupedData.push({
|
|
4016
4020
|
key: groupkey,
|
|
4017
|
-
data:
|
|
4021
|
+
data: lodashEs.sortBy(liData, data => {
|
|
4018
4022
|
data._groupIndex = index + 1;
|
|
4019
|
-
return
|
|
4023
|
+
return lodashEs.get(data, groupBy) || lodashEs.get(data.dataObject, groupBy);
|
|
4020
4024
|
})
|
|
4021
4025
|
});
|
|
4022
4026
|
});
|
|
@@ -4036,10 +4040,11 @@
|
|
|
4036
4040
|
*/
|
|
4037
4041
|
const groupData = (compRef, data, groupby, match, orderby, dateformat, datePipe, innerItem, AppDefaults) => {
|
|
4038
4042
|
let groupedLiData = {};
|
|
4039
|
-
if (
|
|
4043
|
+
if (lodashEs.includes(groupby, '(')) {
|
|
4040
4044
|
//[Todo-CSP]: can generate expr fn in page based on groupby property on widget
|
|
4041
4045
|
const groupDataByUserDefinedFn = i1.$parseEvent(groupby);
|
|
4042
|
-
groupedLiData =
|
|
4046
|
+
groupedLiData = lodashEs.groupBy(data, val => {
|
|
4047
|
+
// @ts-ignore
|
|
4043
4048
|
return groupDataByUserDefinedFn(compRef.viewParent, { 'row': val.dataObject || val });
|
|
4044
4049
|
});
|
|
4045
4050
|
}
|
|
@@ -4065,14 +4070,14 @@
|
|
|
4065
4070
|
}
|
|
4066
4071
|
// handling case-in-sensitive scenario
|
|
4067
4072
|
// ordering the data based on groupby field. If there is innerItem then apply orderby using the innerItem's containing the groupby field.
|
|
4068
|
-
fieldDefs =
|
|
4069
|
-
const groupKey =
|
|
4073
|
+
fieldDefs = lodashEs.orderBy(fieldDefs, fieldDef => {
|
|
4074
|
+
const groupKey = lodashEs.get(innerItem ? fieldDef[innerItem] : fieldDef, groupby);
|
|
4070
4075
|
if (groupKey) {
|
|
4071
|
-
return
|
|
4076
|
+
return lodashEs.toLower(groupKey);
|
|
4072
4077
|
}
|
|
4073
4078
|
});
|
|
4074
4079
|
// extract the grouped data based on the field obtained from 'groupDataByField'.
|
|
4075
|
-
const groupedLiData =
|
|
4080
|
+
const groupedLiData = lodashEs.groupBy(fieldDefs, groupDataByField.bind(undefined, groupby, match, innerItem, dateFormat, datePipe, AppDefaults));
|
|
4076
4081
|
momentLocale._calendar = momentCalendarOptions; // Reset to default moment calendar options
|
|
4077
4082
|
return groupedLiData;
|
|
4078
4083
|
};
|
|
@@ -4138,9 +4143,9 @@
|
|
|
4138
4143
|
// groups the fields based on the groupby value.
|
|
4139
4144
|
const groupDataByField = (groupby, match, innerItem, dateFormat, datePipe, AppDefaults, liData) => {
|
|
4140
4145
|
// get the groupby field value from the liData or innerItem in the liData.
|
|
4141
|
-
let concatStr =
|
|
4146
|
+
let concatStr = lodashEs.get(innerItem ? liData[innerItem] : liData, groupby);
|
|
4142
4147
|
// by default set the undefined groupKey as 'others'
|
|
4143
|
-
if (
|
|
4148
|
+
if (lodashEs.isUndefined(concatStr) || lodashEs.isNull(concatStr) || concatStr.toString().trim() === '') {
|
|
4144
4149
|
return GROUP_BY_OPTIONS.OTHERS;
|
|
4145
4150
|
}
|
|
4146
4151
|
// if match prop is alphabetic ,get the starting alphabet of the word as key.
|
|
@@ -4148,7 +4153,7 @@
|
|
|
4148
4153
|
concatStr = concatStr.substr(0, 1);
|
|
4149
4154
|
}
|
|
4150
4155
|
// if match contains the time options then get the concatStr using 'getTimeRolledUpString'
|
|
4151
|
-
if (
|
|
4156
|
+
if (lodashEs.includes(lodashEs.values(TIME_ROLLUP_OPTIONS), match)) {
|
|
4152
4157
|
concatStr = getTimeRolledUpString(concatStr, match, dateFormat, datePipe, AppDefaults);
|
|
4153
4158
|
}
|
|
4154
4159
|
return concatStr;
|
|
@@ -4163,13 +4168,13 @@
|
|
|
4163
4168
|
// toggle the collapse icon on list header.
|
|
4164
4169
|
const groupIcons = groups.find('li.list-group-header .app-icon');
|
|
4165
4170
|
if (groupIcons) {
|
|
4166
|
-
|
|
4167
|
-
icon = $(icon);
|
|
4168
|
-
if (icon.hasClass('wi-chevron-down')) {
|
|
4169
|
-
icon.removeClass('wi-chevron-down').addClass('wi-chevron-up');
|
|
4171
|
+
lodashEs.forEach(groupIcons, (icon) => {
|
|
4172
|
+
const $icon = $(icon);
|
|
4173
|
+
if ($icon.hasClass('wi-chevron-down')) {
|
|
4174
|
+
$icon.removeClass('wi-chevron-down').addClass('wi-chevron-up');
|
|
4170
4175
|
}
|
|
4171
4176
|
else {
|
|
4172
|
-
icon.removeClass('wi-chevron-up').addClass('wi-chevron-down');
|
|
4177
|
+
$icon.removeClass('wi-chevron-up').addClass('wi-chevron-down');
|
|
4173
4178
|
}
|
|
4174
4179
|
});
|
|
4175
4180
|
}
|
|
@@ -4234,8 +4239,8 @@
|
|
|
4234
4239
|
};
|
|
4235
4240
|
// Method to set the header config of the data table
|
|
4236
4241
|
const setHeaderConfig = (headerConfig, config, field, index) => {
|
|
4237
|
-
|
|
4238
|
-
if (
|
|
4242
|
+
lodashEs.forEach(headerConfig, cols => {
|
|
4243
|
+
if (lodashEs.get(cols, 'isGroup')) {
|
|
4239
4244
|
if (cols.field === field) {
|
|
4240
4245
|
cols.columns[index] = config;
|
|
4241
4246
|
}
|
|
@@ -4291,8 +4296,8 @@
|
|
|
4291
4296
|
}
|
|
4292
4297
|
else if (captionWidth) {
|
|
4293
4298
|
// handling itemsperrow containing string of classes
|
|
4294
|
-
|
|
4295
|
-
const keys =
|
|
4299
|
+
lodashEs.forEach(lodashEs.split(captionWidth, ' '), function (cls) {
|
|
4300
|
+
const keys = lodashEs.split(cls, '-'), tier = keys[0];
|
|
4296
4301
|
let _captionWidth, widgetWidth;
|
|
4297
4302
|
_captionWidth = parseInt(keys[1], 10);
|
|
4298
4303
|
widgetWidth = 12 - _captionWidth;
|
|
@@ -4307,7 +4312,7 @@
|
|
|
4307
4312
|
};
|
|
4308
4313
|
};
|
|
4309
4314
|
const getDefaultViewModeWidget = widget => {
|
|
4310
|
-
if (
|
|
4315
|
+
if (lodashEs.includes(['checkbox', 'toggle', 'rating'], widget)) {
|
|
4311
4316
|
return VIEW_MODE_OPTIONS.DEFAULT;
|
|
4312
4317
|
}
|
|
4313
4318
|
return VIEW_MODE_OPTIONS.LABEL;
|
|
@@ -4377,7 +4382,7 @@
|
|
|
4377
4382
|
if (type === i1.DataType.BOOLEAN) {
|
|
4378
4383
|
widget = i1.FormWidgetType.SELECT;
|
|
4379
4384
|
}
|
|
4380
|
-
if (
|
|
4385
|
+
if (lodashEs.includes([i1.FormWidgetType.TEXT, i1.FormWidgetType.NUMBER, i1.FormWidgetType.SELECT, i1.FormWidgetType.AUTOCOMPLETE,
|
|
4381
4386
|
i1.FormWidgetType.DATE, i1.FormWidgetType.TIME, i1.FormWidgetType.DATETIME], widget)) {
|
|
4382
4387
|
return widget;
|
|
4383
4388
|
}
|
|
@@ -4435,10 +4440,10 @@
|
|
|
4435
4440
|
const routRegex = /^(\/|#\/|#)(?!\W).*/;
|
|
4436
4441
|
if (link) {
|
|
4437
4442
|
if (routRegex.test(link)) {
|
|
4438
|
-
link =
|
|
4443
|
+
link = lodashEs.first(link.match(/[\w]+.*/g)) || '';
|
|
4439
4444
|
return `#/${link}`;
|
|
4440
4445
|
}
|
|
4441
|
-
if (
|
|
4446
|
+
if (lodashEs.startsWith(link, 'www.')) {
|
|
4442
4447
|
return `//${link}`;
|
|
4443
4448
|
}
|
|
4444
4449
|
return link;
|
|
@@ -4450,7 +4455,7 @@
|
|
|
4450
4455
|
this.nodes = [];
|
|
4451
4456
|
this.nodes$ = new rxjs.Subject();
|
|
4452
4457
|
// debounce function for reset nodes functions.
|
|
4453
|
-
this._resetNodes =
|
|
4458
|
+
this._resetNodes = lodashEs.debounce(this.resetNodes, 50);
|
|
4454
4459
|
this.securityService = this.inj.get(security.SecurityService);
|
|
4455
4460
|
this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');
|
|
4456
4461
|
this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');
|
|
@@ -4470,24 +4475,49 @@
|
|
|
4470
4475
|
*/
|
|
4471
4476
|
getNode(fields, node) {
|
|
4472
4477
|
const context = this.viewParent.pageScope || this.viewParent;
|
|
4473
|
-
const children = getEvaluatedData(node, {
|
|
4478
|
+
const children = getEvaluatedData(node, {
|
|
4479
|
+
field: this.itemchildren,
|
|
4480
|
+
bindExpression: this.binditemchildren
|
|
4481
|
+
}, context) || lodashEs.get(node, fields.childrenField);
|
|
4474
4482
|
const navNode = {
|
|
4475
|
-
action: getEvaluatedData(node, {
|
|
4476
|
-
|
|
4483
|
+
action: getEvaluatedData(node, {
|
|
4484
|
+
field: this.itemaction,
|
|
4485
|
+
bindExpression: this.binditemaction
|
|
4486
|
+
}, context) || lodashEs.get(node, fields.actionField),
|
|
4487
|
+
badge: getEvaluatedData(node, {
|
|
4488
|
+
field: this.itembadge,
|
|
4489
|
+
bindExpression: this.binditembadge
|
|
4490
|
+
}, context) || lodashEs.get(node, fields.badgeField),
|
|
4477
4491
|
children: Array.isArray(children) ? this.getNodes(children) : [],
|
|
4478
|
-
class:
|
|
4492
|
+
class: lodashEs.get(node, fields.classField),
|
|
4479
4493
|
disabled: node.disabled,
|
|
4480
|
-
icon: getEvaluatedData(node, {
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4494
|
+
icon: getEvaluatedData(node, {
|
|
4495
|
+
field: this.itemicon,
|
|
4496
|
+
bindExpression: this.binditemicon
|
|
4497
|
+
}, context) || lodashEs.get(node, fields.iconField),
|
|
4498
|
+
id: getEvaluatedData(node, {
|
|
4499
|
+
field: this.itemid,
|
|
4500
|
+
bindExpression: this.binditemid
|
|
4501
|
+
}, context) || lodashEs.get(node, fields.idField),
|
|
4502
|
+
label: getEvaluatedData(node, {
|
|
4503
|
+
field: this.itemlabel,
|
|
4504
|
+
bindExpression: this.binditemlabel
|
|
4505
|
+
}, context) || lodashEs.get(node, fields.labelField),
|
|
4506
|
+
link: getValidLink(getEvaluatedData(node, {
|
|
4507
|
+
field: this.itemlink,
|
|
4508
|
+
bindExpression: this.binditemlink
|
|
4509
|
+
}, context) || lodashEs.get(node, fields.linkField)),
|
|
4510
|
+
target: getValidLink(getEvaluatedData(node, {
|
|
4511
|
+
field: this.itemtarget,
|
|
4512
|
+
bindExpression: this.binditemtarget
|
|
4513
|
+
}, context) || lodashEs.get(node, fields.targetField)),
|
|
4485
4514
|
role: getEvaluatedData(node, { field: this.userrole, bindExpression: this.binduserrole }, context),
|
|
4486
4515
|
isactive: getEvaluatedData(node, { field: this.isactive, bindExpression: this.bindisactive }, context),
|
|
4487
4516
|
// older projects have display field & data field property for menu.
|
|
4488
4517
|
value: this.datafield ? (this.datafield === 'All Fields' ? node : i1.findValueOf(node, this.datafield)) : node
|
|
4489
4518
|
};
|
|
4490
|
-
|
|
4519
|
+
// @ts-ignore
|
|
4520
|
+
return lodashEs.omitBy(navNode, lodashEs.isUndefined);
|
|
4491
4521
|
}
|
|
4492
4522
|
resetItemFieldMap() {
|
|
4493
4523
|
this._itemFieldMap = null;
|
|
@@ -4625,7 +4655,7 @@
|
|
|
4625
4655
|
if (this.instance.regexp) {
|
|
4626
4656
|
_validator.push(forms.Validators.pattern(this.instance.regexp));
|
|
4627
4657
|
}
|
|
4628
|
-
if (this.formwidget &&
|
|
4658
|
+
if (this.formwidget && lodashEs.isFunction(this.formwidget.validate)) {
|
|
4629
4659
|
_validator.push(this.formwidget.validate.bind(this.formwidget));
|
|
4630
4660
|
}
|
|
4631
4661
|
return _validator;
|
|
@@ -4652,7 +4682,7 @@
|
|
|
4652
4682
|
}
|
|
4653
4683
|
getPromiseList(validators) {
|
|
4654
4684
|
const arr = [];
|
|
4655
|
-
|
|
4685
|
+
lodashEs.forEach(validators, (fn, index) => {
|
|
4656
4686
|
let promise = fn;
|
|
4657
4687
|
if (fn instanceof Function && fn.bind) {
|
|
4658
4688
|
promise = fn(this.widgetControl, this.widgetContext);
|
|
@@ -4674,10 +4704,11 @@
|
|
|
4674
4704
|
// if err obj has validationMessage key, then set validationMessage using this value
|
|
4675
4705
|
// else return the value of the first key in the err object as validation message.
|
|
4676
4706
|
if (err.hasOwnProperty('errorMessage')) {
|
|
4677
|
-
this.instance.validationmessage =
|
|
4707
|
+
this.instance.validationmessage = lodashEs.get(err, 'errorMessage');
|
|
4678
4708
|
}
|
|
4679
4709
|
else {
|
|
4680
|
-
|
|
4710
|
+
// @ts-ignore
|
|
4711
|
+
const keys = keys(err);
|
|
4681
4712
|
this.instance.validationmessage = (err[keys[0]]).toString();
|
|
4682
4713
|
}
|
|
4683
4714
|
return err;
|
|
@@ -4710,7 +4741,7 @@
|
|
|
4710
4741
|
}
|
|
4711
4742
|
}
|
|
4712
4743
|
isDefaultValidator(type) {
|
|
4713
|
-
return
|
|
4744
|
+
return lodashEs.get(i1.VALIDATOR, lodashEs.toUpper(type));
|
|
4714
4745
|
}
|
|
4715
4746
|
// default validator is bound to a function then watch for value changes
|
|
4716
4747
|
// otherwise set the value of default validator directly
|
|
@@ -4726,10 +4757,10 @@
|
|
|
4726
4757
|
}
|
|
4727
4758
|
// sets the default validation on the form field
|
|
4728
4759
|
setValidators(validators) {
|
|
4729
|
-
let _cloneValidators =
|
|
4760
|
+
let _cloneValidators = lodashEs.cloneDeep(validators);
|
|
4730
4761
|
this.hasValidators = true;
|
|
4731
4762
|
this._syncValidators = [];
|
|
4732
|
-
|
|
4763
|
+
lodashEs.forEach(_cloneValidators, (obj, index) => {
|
|
4733
4764
|
// custom validation is bound to function.
|
|
4734
4765
|
if (obj && obj instanceof Function) {
|
|
4735
4766
|
// passing formfield and form as arguments to the obj (i.e. validator function)
|
|
@@ -4738,17 +4769,17 @@
|
|
|
4738
4769
|
}
|
|
4739
4770
|
else {
|
|
4740
4771
|
// checks for default validator like required, maxchars etc.
|
|
4741
|
-
const key =
|
|
4742
|
-
this.defaultValidatorMessages[key] =
|
|
4772
|
+
const key = lodashEs.get(obj, 'type');
|
|
4773
|
+
this.defaultValidatorMessages[key] = lodashEs.get(obj, 'errorMessage');
|
|
4743
4774
|
if (this.isDefaultValidator(key)) {
|
|
4744
|
-
const value =
|
|
4775
|
+
const value = lodashEs.get(obj, 'validator');
|
|
4745
4776
|
this.setDefaultValidator(key, value);
|
|
4746
4777
|
_cloneValidators[index] = '';
|
|
4747
4778
|
}
|
|
4748
4779
|
}
|
|
4749
4780
|
});
|
|
4750
4781
|
// _syncValidators contains all the custom validations on the form field. will not include default validators.
|
|
4751
|
-
this._syncValidators =
|
|
4782
|
+
this._syncValidators = lodashEs.filter(_cloneValidators, val => {
|
|
4752
4783
|
if (val) {
|
|
4753
4784
|
return val;
|
|
4754
4785
|
}
|
|
@@ -4756,8 +4787,8 @@
|
|
|
4756
4787
|
this.applyDefaultValidators();
|
|
4757
4788
|
}
|
|
4758
4789
|
observeOn(fields, context) {
|
|
4759
|
-
|
|
4760
|
-
const formfield =
|
|
4790
|
+
lodashEs.forEach(fields, field => {
|
|
4791
|
+
const formfield = lodashEs.find(this.widgetContext[context], { 'key': field });
|
|
4761
4792
|
if (formfield) {
|
|
4762
4793
|
if (!formfield.notifyForFields) {
|
|
4763
4794
|
formfield.notifyForFields = [];
|
|
@@ -4788,13 +4819,13 @@
|
|
|
4788
4819
|
const watchName = `${this.instance.widgetId}_` + key + '_formField';
|
|
4789
4820
|
i1.$unwatch(watchName);
|
|
4790
4821
|
//[Todo-CSP]: Need clarity generate this expr fn if form is present in the page
|
|
4791
|
-
this.instance.registerDestroyListener(i1.$watch('boundFn(fn)',
|
|
4822
|
+
this.instance.registerDestroyListener(i1.$watch('boundFn(fn)', lodashEs.extend(this.instance, this.instance.viewParent), { fn }, (nv, ov) => {
|
|
4792
4823
|
this.instance.widget[key] = nv;
|
|
4793
4824
|
this.applyDefaultValidators();
|
|
4794
4825
|
}, watchName));
|
|
4795
4826
|
}
|
|
4796
4827
|
isNullOrEmptyOrFalsy(value) {
|
|
4797
|
-
return
|
|
4828
|
+
return lodashEs.isEmpty(value);
|
|
4798
4829
|
}
|
|
4799
4830
|
// invokes both custom sync validations and default validations.
|
|
4800
4831
|
applyDefaultValidators() {
|
|
@@ -4805,7 +4836,7 @@
|
|
|
4805
4836
|
if (this.formwidget && (this.instance.value === this.formwidget.prevDatavalue || this.isNullOrEmptyOrFalsy(this.instance.value))) {
|
|
4806
4837
|
opt['emitEvent'] = false;
|
|
4807
4838
|
}
|
|
4808
|
-
this.widgetControl.setValidators(
|
|
4839
|
+
this.widgetControl.setValidators(lodashEs.concat(this._syncValidators || [], validators));
|
|
4809
4840
|
this.widgetControl.updateValueAndValidity(opt);
|
|
4810
4841
|
this.setCustomValidationMessage();
|
|
4811
4842
|
}
|
|
@@ -4815,14 +4846,15 @@
|
|
|
4815
4846
|
return;
|
|
4816
4847
|
}
|
|
4817
4848
|
if (fieldErrors.hasOwnProperty('errorMessage')) {
|
|
4818
|
-
this.instance.validationmessage =
|
|
4849
|
+
this.instance.validationmessage = lodashEs.get(fieldErrors, 'errorMessage');
|
|
4819
4850
|
}
|
|
4820
4851
|
else {
|
|
4821
|
-
|
|
4852
|
+
// @ts-ignore
|
|
4853
|
+
const keys = keys(fieldErrors);
|
|
4822
4854
|
const key = keys[0];
|
|
4823
|
-
const validationMsgKey =
|
|
4855
|
+
const validationMsgKey = lodashEs.get(DEFAULT_VALIDATOR, key) || this.formwidget.validateType;
|
|
4824
4856
|
if (validationMsgKey) {
|
|
4825
|
-
const msg =
|
|
4857
|
+
const msg = lodashEs.get(this.defaultValidatorMessages, validationMsgKey) || this.instance.validationmessage;
|
|
4826
4858
|
if (msg && msg instanceof Function) {
|
|
4827
4859
|
// passing formfield and form as arguments to the errorMessage function.
|
|
4828
4860
|
this.instance.validationmessage = msg(this.widgetControl, this.widgetContext);
|